MCP Server for M&A, Investment Banking Analysis
Enable M&A and IB analysis with an MCP server to access company profiles, financial statements, ratios and sector insights via Financial Modeling Prep APIs.
npx -y @vipbat/fmp-mcp-serverOverview
This MCP (Model Context Protocol) server provides programmatic access to company profiles, financial statements, ratios, and sector-level insights by proxying Financial Modeling Prep (FMP) APIs into an LLM-friendly context service. It is intended to be used as a backend “tool” for models or applications performing M&A, investment banking (IB) analysis, due diligence, comparables, or sector research. By exposing a small set of REST endpoints and optional file storage, the server makes it straightforward to retrieve, cache, and serve structured financial data to downstream agents and analytics tools.
The server is useful because it centralizes API authentication, response formatting, and caching for FMP data, so analysis pipelines and language models can request targeted slices of company and market information without embedding API calls inside the model logic. This reduces latency, simplifies prompt engineering, and provides reproducible inputs for deal analysis, pitch materials, and financial research.
Features
- Proxy access to Financial Modeling Prep endpoints (company profiles, income statements, balance sheets, cash flows).
- Key financial ratios and standardized metrics (profitability, leverage, valuation).
- Sector- and industry-level summaries and comparisons.
- Request-level caching and optional file storage for retrieved JSON/CSV results.
- Lightweight REST API designed to be called by LLM agents or data pipelines.
- Configurable via environment variables (API key, port, data directory).
- Docker-friendly for easy deployment.
Installation / Configuration
Clone the repository and run locally, or build and run a Docker image.
Local (example with Node/Python steps — follow repo README for exact commands):
# using npm (if project is Node.js)
# using python (if project is Python/FastAPI)
# python -m venv venv && source venv/bin/activate
# pip install -r requirements.txt
# export FMP_API_KEY="your_fmp_api_key"
# uvicorn app:app --host 0.0.0.0 --port 8080
Docker:
# Build
# Run (maps local data directory for caching/persistence)
Configuration environment variables (typical):
- FMP_API_KEY — required: your Financial Modeling Prep API key.
- PORT — optional: server listen port (default 8080).
- DATA_DIR — optional: path to store cached responses/files.
- CACHE_TTL — optional: cache duration for fetched records.
Refer to the repository’s configuration file or README for exact variable names and defaults.
Available Resources
The server exposes REST endpoints to fetch and format financial data for model consumption. Common endpoints include:
| Method | Path | Query / Params | Description |
|---|---|---|---|
| GET | /mcp/company/{symbol} | symbol (ticker) | Company profile (name, industry, description, market cap) |
| GET | /mcp/financials/{symbol}/{statement} | statement = income | balance |
| GET | /mcp/ratios/{symbol} | — | Key financial ratios (ROE, ROA, debt/equity, multiples) |
| GET | /mcp/sector/{sector} | sector name | Sector aggregates and top companies |
| GET | /mcp/search | q=company_name_or_ticker | Search by name or ticker |
| POST | /mcp/cache/refresh | {symbol,…} | Trigger cache refresh for given tickers |
| GET | /files/{path} | — | Optional file storage endpoint (cached JSON/CSV) |
Example curl to fetch a company profile:
Example response (trimmed):
Use Cases
M&A due diligence: pull standardized income statements and balance sheets for target companies and peers to generate financial summaries and valuation ranges for a sell-side or buy-side memo.
- Example: fetch 3 years of annual income statements for target and top 5 peers, compute revenue growth and EBITDA margin trends, and pass the structured results into an LLM prompt for narrative analysis.
Investment banking pitchbooks and comps: retrieve ratios and sector aggregates to build comparable company tables and compute median multiples.
- Example: call /mcp/ratios for a list of tickers, export to CSV via the file endpoint, and ingest the CSV into a spreadsheet or template.
LLM agent augmentation: use the MCP server as a secure tool for an LLM to call when the prompt requires factual company data. The model