Financial Modeling Prep MCP server

Integrates with Financial Modeling Prep API to provide access to real-time and historical financial data across stocks, company profiles, financial statements, technical indicators, and economic information for investment research and market analysis.
Back to servers
Setup instructions
Provider
Ben Rabi
Release date
May 25, 2025
Stats
5 stars

The Financial Modeling Prep MCP server provides a Model Context Protocol implementation for accessing and analyzing financial data, stock information, company fundamentals, and market insights from Financial Modeling Prep's API. It enables AI assistants to retrieve comprehensive financial data through a standardized interface.

Installation

You can quickly set up the Financial Modeling Prep MCP server using npx. You'll need an API token from Financial Modeling Prep to access their data.

Basic Installation

Run the server directly using npx with your API token:

npx -y fmp-mcp --fmp-token=YOUR_FMP_ACCESS_TOKEN

Using Environment Variables

Alternatively, you can set your API token as an environment variable:

# Set your API token as an environment variable
export FMP_ACCESS_TOKEN=YOUR_FMP_ACCESS_TOKEN

# Run the server
npx -y fmp-mcp

Configuring Port

By default, the server runs on port 3000. You can change this by setting the PORT environment variable:

PORT=4000 npx -y fmp-mcp --fmp-token=YOUR_FMP_ACCESS_TOKEN

Using the MCP Server

Once running, the server exposes a Model Context Protocol endpoint at /mcp that accepts JSON-RPC formatted requests. This endpoint allows AI assistants to access the various financial data tools provided by the server.

Available Tools

The MCP server provides access to a comprehensive set of financial data tools organized into several categories:

Search Tools

  • searchSymbol: Search for stock symbols by name or ticker
  • searchName: Search for companies by name
  • stockScreener: Screen stocks based on various criteria
  • searchExchangeVariants: Search for symbol variants across different exchanges

Directory and Symbol Lists

  • getCompanySymbols: Get a list of all company symbols
  • getETFList: Get a list of all ETFs
  • getActivelyTradingList: Get a list of actively trading stocks
  • getAvailableExchanges: Get a list of all available exchanges
  • getAvailableSectors: Get a list of all available sectors

Company Information

  • getCompanyProfile: Get detailed company profile information
  • getCompanyExecutives: Get information about company executives
  • getCompanyDescription: Get company description
  • getCompanyRating: Get company rating information
  • getCompanyPeers: Get companies similar to a given company
  • getMarketCap: Get company market capitalization
  • getEarningsSurprises: Get historical earnings surprises
  • getEarningCallTranscript: Get specific earnings call transcript

Financial Statements

  • getIncomeStatement: Get company income statements
  • getBalanceSheet: Get company balance sheet statements
  • getCashFlowStatement: Get company cash flow statements
  • getIncomeStatementAsReported: Get income statements as reported
  • getLatestFinancialStatements: Get latest financial statements

Financial Metrics and Analysis

  • getKeyMetrics: Get key financial metrics for a company
  • getFinancialRatios: Get financial ratios for a company
  • getFinancialGrowth: Get financial growth metrics
  • getDiscountedCashFlow: Get discounted cash flow valuation
  • getEnterpriseValue: Get enterprise value for a company

Technical Indicators

  • getSMA: Get Simple Moving Average (SMA) indicator
  • getEMA: Get Exponential Moving Average (EMA) indicator
  • getWMA: Get Weighted Moving Average (WMA) indicator
  • getRSI: Get Relative Strength Index (RSI) indicator

Quotes and Price Data

  • getQuote: Get current stock quote information
  • getBatchQuotes: Get quotes for multiple symbols
  • getHistoricalPrice: Get historical price data
  • getHistoricalPriceChart: Get historical price chart data
  • getHistoricalDividends: Get historical dividends

Market Indexes and Performance

  • getIndexList: Get a list of all market indexes
  • getIndexQuotes: Get quotes for market indexes
  • getSP500Constituents: Get S&P 500 constituent companies
  • getNasdaqConstituents: Get NASDAQ constituent companies
  • getSectorPerformance: Get sector performance data
  • getBiggestGainers: Get biggest gaining stocks
  • getBiggestLosers: Get biggest losing stocks

Market Data

  • getMarketHours: Get market hours for a specific exchange
  • getEarningsCalendar: Get earnings announcement calendar
  • getIPOCalendar: Get initial public offering calendar
  • getDividendCalendar: Get dividend calendar
  • getEconomicCalendar: Get economic events calendar

News and Press Releases

  • getFMPArticles: Get financial news articles from FMP
  • getGeneralNews: Get general financial news
  • getStockNews: Get news for specific stocks
  • getPressReleases: Get company press releases

SEC Filings

  • getLatestFinancialFilings: Get latest financial filings
  • getFilingsBySymbol: Get filings by symbol
  • getLatest8KFilings: Get latest 8-K filings

Insider and Institutional Trading

  • getInsiderTrading: Get insider trading data
  • getInsiderRoster: Get insider roster for a company
  • getInstitutionalOwnership: Get institutional ownership data
  • getInstitutionalHolders: Get institutional holders for a company

ETFs and Funds

  • getETFHolder: Get ETF holder information
  • getETFSectorWeighting: Get ETF sector weightings
  • getETFCountryWeighting: Get ETF country weightings
  • getFundInfo: Get fund information
  • getETFQuotes: Get ETF quotes

Cryptocurrency and Forex

  • getCryptocurrencyList: Get a list of cryptocurrencies
  • getCryptocurrencyQuote: Get cryptocurrency quote
  • getHistoricalCryptocurrencyPrice: Get historical cryptocurrency price data
  • getForexList: Get a list of forex pairs
  • getForexQuote: Get forex pair quote

Economics

  • getEconomicIndicators: Get economic indicators
  • getTreasuryRates: Get treasury rates
  • getMarketRiskPremium: Get market risk premium

Obtaining a Financial Modeling Prep Access Token

To use the MCP server, you'll need an API token from Financial Modeling Prep:

  1. Visit the Financial Modeling Prep website
  2. Click on "Sign Up" to create an account
  3. Verify your email address
  4. After signing in, navigate to your Dashboard to find your API key
  5. For more data access, consider upgrading to a paid plan

Financial Modeling Prep offers different pricing tiers with varying levels of data access and API call limits. For more information, visit the FMP Pricing page.

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "fmp-mcp" '{"command":"npx","args":["-y","fmp-mcp","--fmp-token=${FMP_ACCESS_TOKEN}"]}'

See the official Claude Code MCP documentation for more details.

For 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 > Tools & Integrations and click "New MCP Server".

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

{
    "mcpServers": {
        "fmp-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "fmp-mcp",
                "--fmp-token=${FMP_ACCESS_TOKEN}"
            ]
        }
    }
}

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 explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "fmp-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "fmp-mcp",
                "--fmp-token=${FMP_ACCESS_TOKEN}"
            ]
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

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