Mmcp.market

Financial Modeling Prep (fmpsdk) MCP server

by daxm·io.github.daxm/fmpsdk-mcp·v20260829.1

Financial Modeling Prep API as MCP tools — quotes, statements, prices, and ~240 endpoints.

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Growing

213 stars22 downloads/wk

Reviews

Write one

Nobody has reviewed Financial Modeling Prep (fmpsdk) yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Financial Modeling Prep (fmpsdk) tools (13)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • call_fmp_endpoint

    Invoke any FMP endpoint by its fmpsdk method name. `params` is a dict of that method's arguments (see `describe_fmp_endpoint`). Large list results are paged: the response carries `page`, `total`, `more`, and a `note` on how to get the rest. `bulk` and whole-asset-class batch endpoints are refused here — use the fmpsdk library directly for those.

  • describe_fmp_endpoint

    Full detail for one endpoint: call signature, every parameter, return type, plan tier, FMP wire path, and the complete docstring. Use before `call_fmp_endpoint` so the arguments are right.

  • get_balance_sheet

    Balance sheet (assets, liabilities, equity) for one company.

  • get_cash_flow

    Cash flow statement (operating, investing, financing) for one company.

  • get_company_profile

    Company profile: price and market cap, identifiers (CIK/ISIN/CUSIP), sector and industry, headquarters, leadership, description, exchange.

  • get_financial_ratios

    Per-period financial ratios: liquidity, leverage, efficiency, profitability, and valuation — FMP-computed from the statements.

  • get_historical_prices

    Daily close price and volume for one symbol between two dates (YYYY-MM-DD). Leave dates unset for FMP's default recent window. Long ranges are returned page by page — see the response's `note`.

  • get_income_statement

    Income statement (revenue, expenses, net income) for one company.

  • get_key_metrics

    Per-period key metrics: valuation multiples, per-share figures, returns on capital, margins — FMP-computed from the statements.

  • get_quote

    Full real-time quote for one symbol (equity, index, commodity, crypto, or forex pair): price, change, day/52-week range, volume, market cap, 50/200-day averages.

  • get_stock_news

    Recent news articles for one or more symbols (comma-separated, e.g. "AAPL,MSFT"): headline, publisher, url, published date, snippet.

  • list_fmp_endpoints

    Find FMP endpoints beyond the curated tools. `query` is a substring match over name/group/summary; `group` filters to one category (e.g. "congress", "institutional_ownership"); `free_only` drops endpoints that need a paid FMP plan. Returns name, group, plan tier ("Free"/"Starter"/ "Premium"/"Ultimate"/"Add-on"), and one-line summary — pass a name to `describe_fmp_endpoint` for the full signature.

  • search_symbol

    Resolve a ticker symbol from a name or fragment (e.g. "apple" -> AAPL).

Public scan report

scanner v0.1.9 · 2026-09-20 · same rubric, same numbers if you re-run it

no findings
  • Code scan8 source files scanned25/25
  • Live reliabilityno gateway calls yet and no remote to proben/a
  • Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 22 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

What the publisher says

From the Financial Modeling Prep (fmpsdk) repository's README, as published. We do not edit it. Read it on GitHub

FMP SDK

The idea behind this project is to provide a 'one-stop-shop' to the API endpoints provided by Financial Modeling Prep (FMP).

A personal note to you: my apologies for letting this package get so out of date. FMP kept reshuffling its API, then I had a personal issue delay me further. Things are back on track now. Because of that gap, roughly half of this package's old methods had gone defunct against FMP's current API, so rather than patch around that I rebuilt it from scratch against FMP's stable/ API. If you're on 20250102.0 or earlier you're on the old, pre-rewrite methods; anything newer uses the schema described below. Old releases are yanked from PyPI (a plain pip install fmpsdk now always gets the rewrite), but still installable if you pin one explicitly, e.g. pip install fmpsdk==20250102.0 — note that won't actually restore functionality, though: FMP sunset the legacy /api/v3/ API those old methods called entirely on 2025-08-31, so a pinned old version installs fine but its calls will fail regardless. It's there for compatibility with existing pinned requirements files while you migrate, not as a way to keep avoiding the rewrite.

What's covered

29 data groups, ~240 methods total, each reachable both as client.(...) and grouped under a matching namespace, e.g. client.statements.income_statement(...):

ratios/growth (income, balance sheet, cash flow — as-reported, TTM, and growth variants)

  • Company & fundamentals — profile, executives, M&A, DCF valuation, financial statements/

industry/exchange directories

  • Market data — real-time & aftermarket quotes, historical price charts, technical indicators
  • Reference & screening — symbol/CIK/CUSIP/ISIN search, the company screener, sector/

disclosures

  • Calendars & events — earnings, dividends, splits, IPOs, the economic calendar
  • Ownership & compliance — insider trades, Form 13F institutional ownership, SEC filings, ESG

trading, market movers

  • Alternative markets — crypto, forex, commodities, indexes, ETFs & mutual funds
  • Sentiment & analysis — analyst grades/price targets, TipRanks ratings, congressional
  • Bulk downloads — whole-universe data dumps, one call instead of one per symbol

Every method's own docstring says which FMP plan tier it needs (Free/Starter/Premium/ Ultimate) — see Pricing tiers below. One exception: the 7 client.tipranks methods are implemented and unit-tested but untested against a real response — see that section for why.

How to Use

is optional — it's just how the example below loads your API key from a .env file).

  1. Requires Python 3.9+. Install the package: pip install fmpsdk python-dotenv (python-dotenv

client.company.profile(symbol="AAPL"), client.statements.income_statement(symbol="AAPL").

  1. Create a .env file and put your API key in it. Inside .env: FMPAPIKEY='blah'
  2. Build a Client and call methods on it, grouped by data category — e.g.

parse it.

  1. The return from a method call is almost always a list of dictionaries. It is up to you to

Example code

#!/usr/bin/env python3

from dotenv import load_dotenv

import fmpsdk

# Actual API key is stored in a .env file. Not good to store API key directly in script.
load_dotenv()
client = fmpsdk.Client()  # reads FMP_API_KEY from the environment

# Company Valuation Methods
symbol = "AAPL"
print(f"Company Profile: {client.company.profile(symbol=symbol)}")

# Every non-2xx FMP response raises a typed exception instead of returning

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Install directly

claude mcp add fmpsdk-mcp -- uvx fmpsdk-mcp
Add to Cursor

Financial Modeling Prep (fmpsdk): common questions

Is Financial Modeling Prep (fmpsdk) MCP server safe?
Mostly: it is graded B (83/100). Read the Financial Modeling Prep (fmpsdk) safety report
How do I install Financial Modeling Prep (fmpsdk)?
It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
Does Financial Modeling Prep (fmpsdk) need an API key?
Yes. The registry entry asks for FMP_API_KEY.
Is Financial Modeling Prep (fmpsdk) maintained?
The last commit was 22 days ago (2026-08-29). The latest release is v20260829.1.

More from daxm