Financial Modeling Prep MCP server

Provides comprehensive financial data from Financial Modeling Prep API including company profiles, statements, metrics, analyst data, SEC filings, earnings transcripts, and market information with intelligent caching for improved performance.
Back to servers
Provider
Shadi Copty
Release date
Apr 06, 2025
Language
Python
Stats
8 stars

This MCP server provides a standardized interface to access Financial Modeling Prep (FMP) API data, allowing AI assistants like Claude to programmatically retrieve financial information, including company profiles, financial statements, metrics, analyst data, SEC filings, and market data.

Prerequisites

  • Python 3.8 or higher
  • UV package manager (recommended) or pip
  • Financial Modeling Prep API key

Installation

Setting Up Your Environment

  1. Clone the repository

  2. Create a .env file in the project root with your API key:

    # Financial Modeling Prep API Configuration
    FMP_KEY=your_api_key_here
    
    # Optional: SEC API Configuration
    SEC_ACCESS=YourCompanyName [email protected]
    
  3. Install dependencies using UV (recommended):

    uv venv
    uv pip install -r requirements.txt
    

    Or using pip:

    pip install -r requirements.txt
    

Running the Server

Using UV (Recommended)

# Activate the virtual environment
uv venv activate

# Run the server
python fmp_mcp_server.py

The server will start and listen for connections on the default MCP port.

Using pip

# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Run the server
python fmp_mcp_server.py

Connecting with Claude Desktop

  1. Download Claude Desktop
  2. Edit claude_desktop_config.json:
    "fmp_mcp_server": {
        "command": "uv",
        "args": [
            "--directory",
            "REPLACE ME WITH ABSOLUTE DIRECTORY TO REPO",
            "run",
            "fmp_mcp_server.py"
        ]
     }
    

Using the Server

Once connected, you can ask Claude financial questions that utilize the FMP data. Here are some example queries:

  • "I am considering a 3 year horizon investment, is Apple a good investment?"
  • "Show me Tesla's latest quarterly income statement"
  • "Find the latest 10-K filing for Microsoft"
  • "What are Amazon's main competitors?"
  • "Get the latest earnings transcript for Meta"

Available Data Types

The server provides access to:

  • Company Profiles: Company information, descriptions, market caps, employee counts, and industry data
  • Financial Statements: Income statements, balance sheets, and cash flow statements
  • Financial Metrics: Key metrics, ratios, and growth data
  • Analyst Data: Analyst estimates and recommendations
  • SEC Filings: Content from SEC filings
  • Earnings Transcripts: Transcripts from earnings calls
  • Market Data: Current stock prices and treasury yields
  • Competitor Analysis: Information about competitor companies

Configuration Options

The server supports these environment variables:

  • FMP_KEY: Your Financial Modeling Prep API key (required)
  • SEC_ACCESS: Your company name and email for SEC API access (optional)

Caching System

The server includes a caching system to improve performance:

  • Financial data is cached by quarter/year
  • Profile data is cached monthly
  • Daily price data is cached for the current day

Cache files are stored in the DataCache directory.

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later