Financial Modeling Prep MCP Server
# Financial Modeling Prep MCP Server
[](https://www.npmjs.com/package/financial-modeling-prep-mcp-server)
[](LICENSE)
[](https://lightnow.ai/servers/io.github.imbenrabi/financial-modeling-prep-mcp-server)
[](https://mcptry.com/servers/io.github.imbenrabi/financial-modeling-prep-mcp-server)
[](https://mcprush.com/to/financial-modeling-prep-mcp?ref=badge)
A Model Context Protocol (MCP) server for the [Financial Modeling Prep](https://financialmodelingprep.com/) API, exposing 267 financial data tools to AI assistants.
## Features
- **267 Financial Tools** across 24 toolsets — stocks, ETFs, crypto, forex, commodities, economics, and more
- **Dynamic Tool Management** — built on [toolception](https://www.npmjs.com/package/toolception) for runtime enable/disable of toolsets via meta-tools
- **Three Server Modes** — Dynamic (5 meta-tools), Static (pre-loaded toolsets), or All Tools (default)
- **Flexible Deployment** — use the hosted instance or self-host via npm, Docker (built from source), or source
- **Streamable HTTP Transport** — compatible with Claude.ai, Claude Desktop, and MCP registries
## Quick Start
### Hosted Instance (Fastest)
No installation required. Connect directly:
```
https://financial-modeling-prep-mcp-server-production.up.railway.app/mcp
```
The hosted instance runs in Dynamic mode: it starts with 5 meta-tools that load toolsets on demand. Pass your FMP API key as `FMP_ACCESS_TOKEN` in the `?config=` session configuration (see [Usage](docs/USAGE.md#session-configuration)).
### Self-Hosted (One-Liner)
```bash
npx financial-modeling-prep-mcp-server --fmp-token=YOUR_FMP_API_KEY
```
Or install globally:
```bash
npm install -g financial-modeling-prep-mcp-server
fmp-mcp --fmp-token=YOUR_FMP_API_KEY
```
> Get your API key at [financialmodelingprep.com](https://site.financialmodelingprep.com/).
## Table of Contents
- [Installation](docs/INSTALLATION.md)
- [Configuration](docs/CONFIGURATION.md)
- [Usage](docs/USAGE.md)
- [API Reference](docs/API_REFERENCE.md)
- [Registries](docs/REGISTRIES.md)
- [Contributing](CONTRIBUTING.md)
- [License](LICENSE)
## Installation
**Prerequisites:** Node.js 25.3.0 or higher (for v2.6.0+). For older versions (v2.5.x and below), Node.js 20+ is required.
Choose the method that fits your workflow:
- **NPM** — `npm install -g financial-modeling-prep-mcp-server`
- **Docker** — build the image from source (no pre-built image is published)
- **Source** — clone and run with `npm install && npm run build`
See [docs/INSTALLATION.md](docs/INSTALLATION.md) for detailed steps per method.
## Configuration
The server supports three operational modes controlled via CLI arguments or environment variables:
| Mode | How to Enable | Description |
|------|---------------|-------------|
| **Dynamic** | `DYNAMIC_TOOL_DISCOVERY=true` | Starts with 5 meta-tools; load toolsets at runtime |
| **Static** | `FMP_TOOL_SETS=search,company` | Pre-loads specified toolsets on session creation |
| **All Tools (default)** | *(default)* | Loads all 267 tools immediately |
Precedence: for mode and tool sets, CLI args > Environment variables > Defaults. A session `?config=` token overrides the server's `FMP_ACCESS_TOKEN` for that session.
See [docs/CONFIGURATION.md](docs/CONFIGURATION.md) for the full configuration reference.
## Usage
Connect to the server over streamable HTTP:
- **Claude.ai / Claude Desktop** — add as a remote connector (Settings > Connectors)
- **Custom clients** — POST to `/mcp`: send `initialize` first, then the `mcp-session-id` it returns on every later request
- **MCP registries** — see [Registries](#registries) for where this server is listed
See [docs/USAGE.md](docs/USAGE.md) for client-specific setup, session headers, and request examples.
## Available Tools
24 toolsets covering:
Search · Directory & Symbol Lists · Company Information · Financial Statements · Financial Metrics & Analysis · Technical Indicators · Quotes & Price Data · Market Indexes & Performance · Market Data · News & Press Releases · SEC Filings · Insider & Institutional Trading · ETFs & Funds · Government Trading · Cryptocurrency & Forex · Earnings · Special Data Sets · Commodities · Economics · Bulk Data Tools
See [docs/API_REFERENCE.md](docs/API_REFERENCE.md) for the complete tool catalog.
## Registries
This server is listed on multiple MCP registries for easy discovery:
- [MCP Registry](https://registry.modelcontextprotocol.io/servers/io.github.imbenrabi/financial-modeling-prep-mcp-server)
- [Glama.ai](https://glama.ai/mcp/servers/imbenrabi/Financial-Modeling-Prep-MCP-Server)
- [LightNow](https://lightnow.ai/servers/io.github.imbenrabi/financial-modeling-prep-mcp-server)
- [mcptry](https://mcptry.com/servers/io.github.imbenrabi/financial-modeling-prep-mcp-server)
- [mcprush](https://mcprush.com/to/financial-modeling-prep-mcp?ref=badge)
See [docs/REGISTRIES.md](docs/REGISTRIES.md) for the details of each listing.
## Contributing
Contributions are welcome. Please see [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, testing, and pull request guidelines.
## License
[Apache-2.0](LICENSE)
TDQS
Scored across 267 tools
The set contains many near-duplicate quote and chart tools (e.g., getQuote, getQuoteShort, getBatchQuotes, getForexQuote, getForexShortQuote, getForexQuotes, getForexBatchQuotes) whose boundaries are unclear. Several financial statement tools also duplicate the same descriptions or differ only by TTM/as-reported/bulk suffixes, making selection error-prone despite distinct underlying endpoints.
Most tools use camelCase and a verb-like prefix such as get, search, list, calculate, or lookup, but the convention is not enforced consistently. There are noun-only names like stockScreener, mixed patterns such as getDCFValuation versus calculateCustomDCF, and inconsistent bulk suffixes like getCompanyProfilesBulk versus getKeyMetricsTTMBulk.
267 tools is an extreme overexpansion for a single MCP server and far exceeds what an agent can reliably navigate. Many endpoints are variants or duplicates, so the surface feels like a raw API mirror rather than a well-scoped tool set.
The server covers an unusually broad financial data domain, including quotes, statements, ratios, calendars, news, analyst ratings, ownership, indexes, crypto, forex, and bulk endpoints. There are no obvious major category gaps, though duplication and variant sprawl reduce usability rather than completeness.