MC

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.

Quick Install
npx -y @vipbat/fmp-mcp-server

Overview

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):

git clone https://github.com/vipbat/fmp-mcp-server.git
cd fmp-mcp-server

# using npm (if project is Node.js)
npm install
export FMP_API_KEY="your_fmp_api_key"
export PORT=8080
export DATA_DIR="./data"
npm start

# 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
docker build -t fmp-mcp-server .

# Run (maps local data directory for caching/persistence)
docker run -d \
  -e FMP_API_KEY="your_fmp_api_key" \
  -e PORT=8080 \
  -v $(pwd)/data:/app/data \
  -p 8080:8080 \
  fmp-mcp-server

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:

MethodPathQuery / ParamsDescription
GET/mcp/company/{symbol}symbol (ticker)Company profile (name, industry, description, market cap)
GET/mcp/financials/{symbol}/{statement}statement = incomebalance
GET/mcp/ratios/{symbol}Key financial ratios (ROE, ROA, debt/equity, multiples)
GET/mcp/sector/{sector}sector nameSector aggregates and top companies
GET/mcp/searchq=company_name_or_tickerSearch 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:

curl "http://localhost:8080/mcp/company/AAPL"

Example response (trimmed):

{
  "symbol": "AAPL",
  "name": "Apple Inc.",
  "industry": "Technology",
  "description": "...",
  "marketCap": 2500000000000
}

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