FMP MCP Server

FMP MCP Server

Provides financial data from Financial Modeling Prep for AI-assisted investment research, including company profiles, financial statements, and analyst ratings. It features high-level workflow tools for market analysis and atomic tools for deep dives into valuation and institutional ownership.

Category
Visit Server

README

FMP MCP Server

A Model Context Protocol server that provides financial data from Financial Modeling Prep for AI-assisted investment research.

Built with FastMCP 2.0 and Python.

Tools

Workflow Tools (start here)

High-level tools that orchestrate multiple API calls into single research-ready responses:

Tool Description
stock_brief Quick comprehensive snapshot: profile, price action, valuation, analyst consensus, insider signals, headlines
market_context Full market environment: rates, yield curve, sector rotation, breadth, movers, economic calendar
earnings_setup Pre-earnings positioning: consensus estimates, beat/miss history, analyst momentum, price drift, insider signals
earnings_preview Pre-earnings setup scorecard: composite signal, thesis alignment, and bull/bear triggers
fair_value_estimate Multi-method valuation: DCF, earnings-based, peer multiples, analyst targets, blended estimate
earnings_postmortem Post-earnings synthesis: beat/miss, trend comparison, analyst reaction, market response, guidance tone

Atomic Tools (deeper dives)

Tool Description
company_overview Company profile, quote, key metrics, and analyst ratings
financial_statements Income statement, balance sheet, cash flow (annual/quarterly)
analyst_consensus Analyst grades, price targets, and forward estimates
earnings_info Historical and upcoming earnings with beat/miss tracking
price_history Historical daily prices with technical context
stock_search Search for stocks by name or ticker
insider_activity Insider trading activity and transaction statistics
institutional_ownership Top institutional holders and position changes
stock_news Recent news and press releases
treasury_rates Current Treasury yields and yield curve
economic_calendar Upcoming economic events and releases
market_overview Sector performance, gainers, losers, most active
earnings_transcript Earnings call transcripts with pagination support
revenue_segments Revenue breakdown by product and geography
peer_comparison Peer group valuation and performance comparison
dividends_info Dividend history, yield, growth, and payout analysis
earnings_calendar Upcoming earnings dates with optional symbol filter
etf_lookup ETF holdings or stock ETF exposure (dual-mode with auto-detect)
estimate_revisions Analyst sentiment momentum: forward estimates, grade changes, beat rate
fmp_coverage_gaps Docs parity introspection: endpoint families not yet implemented in this MCP server

Setup

Prerequisites

Install

uv sync

Configure

Set your API key as an environment variable:

export FMP_API_KEY=your_api_key_here

Or create a .env file:

FMP_API_KEY=your_api_key_here

Run

uv run fastmcp run server.py

Claude Desktop / Claude Code

Add to your MCP config:

{
  "mcpServers": {
    "fmp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/fmp", "fastmcp", "run", "server.py"],
      "env": {
        "FMP_API_KEY": "your_api_key_here"
      }
    }
  }
}

Testing

uv run pytest tests/ -v

All tools are tested with mocked API responses using respx.

Live e2e tests (real API) can be run in pooled parallel mode:

uv run pytest tests/test_live.py -m live_full -n 4 -q

Architecture

server.py          # FastMCP entry point, registers all tool modules
fmp_client.py      # Async HTTP client with TTL caching and graceful error handling
tools/
  overview.py      # company_overview, stock_search
  financials.py    # financial_statements, revenue_segments
  valuation.py     # analyst_consensus, peer_comparison, estimate_revisions
  market.py        # price_history, earnings_info, dividends_info, earnings_calendar, etf_lookup
  ownership.py     # insider_activity, institutional_ownership
  news.py          # stock_news
  macro.py         # treasury_rates, economic_calendar, market_overview
  transcripts.py   # earnings_transcript (with pagination)
  workflows.py     # stock_brief, market_context, earnings_setup, earnings_preview, fair_value_estimate, earnings_postmortem

Key design decisions:

  • Module pattern: Each tool file exports register(mcp, client) to keep tools organized
  • Parallel fetches: Workflow tools use asyncio.gather() to call multiple endpoints concurrently
  • Graceful degradation: FMPClient.get_safe() returns defaults on error so composite tools return partial data instead of failing entirely
  • In-memory TTL cache: Avoids redundant API calls with configurable TTLs per data type (60s for quotes, 24h for profiles)

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured