fmp-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FMP_API_KEY | Yes | Your Financial Modeling Prep API key | |
| FMP_CACHE_DIR | No | Custom cache directory (default: ~/.cache/fmp-mcp/) | |
| FMP_CACHE_MAXSIZE | No | Max in-memory cache entries (default: 200) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| fmp_fetchA | Fetch data from any registered FMP endpoint. This is the primary data fetching tool. Use fmp_list_endpoints to discover available endpoints, and fmp_describe to see required parameters. |
| fmp_searchB | Search for companies by name or ticker. Convenience wrapper for company search. Returns matching companies with their symbols, names, and exchange information. |
| get_price_performance_windowsA | Get compact benchmark-relative price-performance windows. Use this for historical-coincidence evidence when a workflow needs 3-5 outperformance/underperformance periods. It fetches adjusted historical prices for the stock and benchmark, aligns common trading dates, computes rolling returns, and returns only the largest non-overlapping windows. This avoids raw historical-price CSV parsing for ordinary stock-move analysis. |
| fmp_profileA | Get detailed company profile information as a current FMP /profile snapshot. Returns comprehensive company data including sector, industry,
description, CEO, employees, website, and key financial metrics.
The profile |
| fmp_market_cap_checkA | Compare current profile market cap against latest annual key_metrics market cap. Use this when fmp_profile.mktCap and fmp_fetch(endpoint="key_metrics") marketCap values appear to disagree. The profile value is a current snapshot; the latest annual key_metrics value is aligned to that row's period-end date. |
| fmp_list_endpointsA | List available FMP data endpoints. Discovery tool to see what data is available. Use this first to understand what endpoints exist before fetching data. |
| fmp_describeA | Get detailed documentation for an FMP endpoint. Discovery tool to understand what parameters an endpoint accepts. Use this before calling fmp_fetch to know required vs optional params. |
| screen_stocksA | Screen stocks by fundamental criteria (sector, market cap, beta, dividend, etc.). Searches the full universe of stocks and ETFs using financial filters. Combine multiple criteria to narrow results. |
| get_estimate_revisionsA | Get estimate revision history for one ticker and fiscal period. Reads snapshots through the hosted estimates API backed by the monthly
collection job. If |
| screen_estimate_revisionsA | Screen a ticker universe for material estimate momentum. Compares latest estimates against a lookback snapshot ( |
| get_economic_dataA | Get economic indicators or upcoming economic events. Fetches macroeconomic data from FRED via FMP. Use indicator mode for time series data (GDP, CPI, unemployment, etc.) or calendar mode for upcoming/recent economic releases. |
| get_sector_overviewA | Get sector or industry performance and valuation overview. Combines daily performance snapshot and P/E ratio snapshot into a unified heatmap view. Supports both sector-level and industry-level granularity. |
| get_market_contextA | Get a one-call market snapshot across indices, sectors, movers, and events. Useful for quick "what's happening in the market?" checks. Fetches major index moves, sector heatmap, top gainers/losers, most active names, and upcoming high-impact economic events. |
| get_institutional_ownershipA | Get institutional ownership analytics for a stock. Combines institutional holder-level data with aggregate ownership summary metrics to show which institutions are accumulating or reducing positions. |
| get_insider_tradesB | Get insider buying/selling activity and summary statistics for a stock. Fetches recent insider transactions and aggregate insider trading stats. |
| get_etf_holdingsC | Get ETF/fund composition across holdings, sector/country weights, and metadata. |
| get_newsA | Fetch news articles for stocks or the broad market. Three modes: stock-specific news, general market news, and company press releases. Requires symbols for stock and press modes. Note: For portfolio-aware auto-fill, use get_portfolio_news on portfolio-reads-mcp. |
| get_events_calendarA | Fetch upcoming corporate events: earnings, dividends, splits, or IPOs. Can show market-wide calendars or filter to specific symbols. Useful for tracking upcoming catalysts and corporate actions. Date ranges wider than 90 days are split into FMP-compatible windows internally. Note: For portfolio-aware auto-fill, use get_portfolio_events_calendar on portfolio-reads-mcp. |
| compare_peersA | Compare a stock against its peers on key financial ratios. Fetches the peer group for a stock and builds a side-by-side comparison of financial ratios including valuation, profitability, margins, and leverage. By default, auto-discovery is operating-peer oriented. For dividend payout, buyback, and shareholder-return questions, pass peer_context="capital_allocation" or metric="dividend_payout" so the peer set favors mature dividend-paying capital-allocation comps over no-dividend growth operating peers. |
| get_technical_analysisA | Get composite technical analysis for a single stock or ETF. Fetches multiple technical indicators and provides trend direction, momentum signals, volatility analysis, and support/resistance levels with an overall buy/sell signal. |
| get_earnings_transcriptA | Parse and navigate an earnings call transcript. Splits the raw transcript into structured sections: prepared remarks and Q&A with per-speaker segments and grouped Q&A exchanges. IMPORTANT — default mode is summary (metadata only). This protects your context window. Full text is returned only when you explicitly request format="full". Recommended workflow:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/henrysouchien/fmp-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server