Skip to main content
Glama
Financial Modeling Prep MCP Server

Financial Modeling Prep MCP Server

README.md
# Financial Modeling Prep MCP Server

[![npm version](https://img.shields.io/npm/v/financial-modeling-prep-mcp-server.svg)](https://www.npmjs.com/package/financial-modeling-prep-mcp-server)
[![license](https://img.shields.io/npm/l/financial-modeling-prep-mcp-server.svg)](LICENSE)
[![Listed on LightNow](https://lightnow.ai/badge/io.github.imbenrabi/financial-modeling-prep-mcp-server?variant=listed)](https://lightnow.ai/servers/io.github.imbenrabi/financial-modeling-prep-mcp-server)
[![mcptry](https://mcptry.com/badge/io.github.imbenrabi/financial-modeling-prep-mcp-server)](https://mcptry.com/servers/io.github.imbenrabi/financial-modeling-prep-mcp-server)
[![Financial Modeling Prep MCP on mcprush](https://mcprush.com/badge/financial-modeling-prep-mcp/score.svg)](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

C2.6/5.0

Scored across 267 tools

Disambiguation2/5

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.

Naming Consistency3/5

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.

Tool Count1/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessLimited data