Morningstar MCP Server: Research, Editorial, Datapoints
Access the MCP server to retrieve Morningstar research, editorial content and datapoints with secure, scalable APIs for seamless integration.
npx -y @Morningstar/morningstar-mcp-serverOverview
The Morningstar MCP Server implements a secure, scalable API layer for accessing Morningstar research, editorial content, and datapoints. It exposes search and retrieval endpoints that centralize access to investment research, structured datapoints (facts and metrics), and editorial metadata — enabling product teams to integrate Morningstar content into web apps, analytics pipelines, and downstream services.
Designed as a RESTful service, the MCP server is built to be deployed in modern infrastructure (containers, orchestration) and integrates common production concerns: authentication, pagination, filtering, rate limiting, and caching. Developers can use the server to deliver contextual content in search results, populate UI detail pages, and feed analytics systems with consistent datapoint shapes.
Features
- RESTful API for search, document retrieval, and datapoints
- Secure access using API keys / Bearer tokens
- Full-text and faceted search across research and editorial content
- Structured datapoint APIs for financial facts and metrics
- Pagination, sorting, and filtering support
- Response headers for caching and rate-limit status
- Configurable via environment variables and suitable for containerized deployment
- Logging and basic observability hooks (metrics-compatible)
- Scales horizontally; stateless service design for load balancers
Installation / Configuration
Clone the repository and run locally or in a container. Replace environment values with your configuration.
Clone and build locally:
# Build a Docker image (example)
Run with Docker:
Example docker-compose (development):
version: "3.8"
services:
mcp-server:
build: .
ports:
- "8080:8080"
environment:
MCP_PORT: 8080
MCP_DB_URL: "postgres://user:pass@db:5432/mcp"
MCP_AUTH_SECRET: "change-me"
MCP_CACHE_TTL: 300
depends_on:
- db
db:
image: postgres:13
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: pass
POSTGRES_DB: mcp
volumes:
- db-data:/var/lib/postgresql/data
volumes:
db-data:
Common environment variables
- MCP_PORT — HTTP port (default 8080)
- MCP_DB_URL — database connection string for the content store
- MCP_AUTH_SECRET — API key or secret used to validate tokens
- MCP_RATE_LIMIT — requests per minute per API key
- MCP_CACHE_TTL — default seconds to cache responses
Available Resources
The server exposes versioned REST endpoints under /v1. Typical resource groups:
- /v1/search — full-text and filtered search across research and editorial content
- /v1/documents/{id} — retrieve a full research or editorial document by ID
- /v1/datapoints — query structured datapoints (metrics, facts) by identifiers, namespaces and date ranges
- /v1/batch — batch retrieval for multiple IDs (where supported)
- /v1/health — service health and readiness probes
API documentation and schema files (OpenAPI/Swagger) are available in the GitHub repository for reference and to generate client SDKs. See: https://github.com/Morningstar/morningstar-mcp-server
Example Requests
Search (keyword + filter)
Get document
Query datapoints (by identifier and date range)
Example search response (abbreviated)
Use Cases
- Embed research search into a web portal: Use the /v1/search endpoint to show ranked results with snippets and facets (by asset class, region, analyst).
- Detail pages for instruments: On navigation to a security page, fetch the latest editorial report via /v1/documents/{id} and load structured datapoints (financial metrics) from /v1/datapoints for charting and analytics.
- Data export for analytics: Periodically call /v1/datapoints with date ranges to populate a data warehouse or feed time-series models.
- Workflow automation & compliance: Automate content checks by pulling editorial metadata and timestamps to audit publication pipelines.
Best Practices
- Authenticate all requests and rotate API keys periodically.
- Use pagination to limit response sizes; avoid requesting large per_page values.
- Respect rate-limit headers; implement exponential backoff on 429 responses.
- Cache immutable responses (document snapshots) using Cache-Control headers and respect TTL configuration.
- Run the server behind a load balancer and use health/readiness endpoints for orchestration.
For full API reference and schema downloads, see the project repository: https://github.com/Morningstar/morningstar-mcp-server