$git clone https://github.com/massive-com/mcp_massive> [!IMPORTANT] > :test_tube: This project is experimental and could be subject to breaking changes.
| 1 | <a href="https://massive.com"> |
| 2 | <div align="center"> |
| 3 | <picture> |
| 4 | <source media="(prefers-color-scheme: light)" srcset="assets/logo-massive-lightmode.png"> |
| 5 | <source media="(prefers-color-scheme: dark)" srcset="assets/logo-massive-darkmode.png"> |
| 6 | <img alt="Massive.com logo" src="assets/logo-massive-lightmode.png" height="100"> |
| 7 | </picture> |
| 8 | </div> |
| 9 | </a> |
| 10 | <br> |
| 11 | |
| 12 | > [!IMPORTANT] |
| 13 | > :test_tube: This project is experimental and could be subject to breaking changes. |
| 14 | |
| 15 | # Massive.com MCP Server |
| 16 | |
| 17 | [](https://github.com/massive-com/mcp_massive/releases) |
| 18 | |
| 19 | A [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) server that provides access to the full [Massive.com](https://massive.com?utm_campaign=mcp&utm_medium=referral&utm_source=github) financial data API through an LLM-friendly interface. |
| 20 | |
| 21 | Rather than exposing one tool per endpoint, this server gives the LLM three composable tools — **search**, **call**, and **query** — that cover the entire Massive.com API surface. Data can be stored in an in-memory SQLite database, and enriched with built-in financial functions. |
| 22 | |
| 23 | ## Tools |
| 24 | |
| 25 | | Tool | Description | |
| 26 | |---|---| |
| 27 | | `search_endpoints` | Search for API endpoints and built-in functions by natural language query. Returns titles, path patterns, and descriptions. Set `detail` to `"more"` for query parameter docs, or `"verbose"` for full documentation. Use `max_results` to limit results. | |
| 28 | | `call_api` | Call any Massive.com REST API endpoint. Supports storing results as an in-memory database table (`store_as`) and applying post-processing functions (`apply`). Paginated responses include a next-page hint. | |
| 29 | | `query_data` | Run SQL against stored SQLite DB. Supports `SHOW TABLES`, `DESCRIBE <table>`, `DROP TABLE <table>`, CTEs, window functions, and more. Results can also be post-processed with `apply`. | |
| 30 | |
| 31 | ### Built-in Functions |
| 32 | |
| 33 | Functions can be applied to API results or query output via the `apply` parameter on `call_api` and `query_data`. Use `search_endpoints` with `scope="functions"` to discover them. |
| 34 | |
| 35 | | Category | Functions | |
| 36 | |---|---| |
| 37 | | **Greeks** | `bs_price`, `bs_delta`, `bs_gamma`, `bs_theta`, `bs_vega`, `bs_rho` — Black-Scholes option pricing and greeks | |
| 38 | | **Returns** | `simple_return`, `log_return`, `cumulative_return`, `sharpe_ratio`, `sortino_ratio` | |
| 39 | | **Technical** | `sma` (simple moving average), `ema` (exponential moving average) | |
| 40 | |
| 41 | ### Data Coverage |
| 42 | |
| 43 | The server dynamically indexes all Massive.com API endpoints at startup from [`llms.txt`](https://massive.com/docs/rest/llms.txt), so it automatically stays in sync with the API. Coverage includes: |
| 44 | |
| 45 | - Stock, options, forex, crypto, and futures aggregates |
| 46 | - Real-time and historical trades and quotes |
| 47 | - Market snapshots, gainers/losers |
| 48 | - Ticker details and reference data |
| 49 | - Dividends, splits, IPOs |
| 50 | - Financial fundamentals |
| 51 | - Analyst ratings and news (Benzinga) |
| 52 | - Treasury yields, inflation data |
| 53 | - Market status and holidays |
| 54 | |
| 55 | ## Installation |
| 56 | |
| 57 | ### Prerequisites |
| 58 | |
| 59 | - Python 3.12+ |
| 60 | - A Massive.com API key <br> [![Button]][Link] |
| 61 | - [Astral UV](https://docs.astral.sh/uv/getting-started/installation/) (v0.4.0+) |
| 62 | |
| 63 | ### Claude Code |
| 64 | First, install [Claude Code](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview) |
| 65 | |
| 66 | ```bash |
| 67 | npm install -g @anthropic-ai/claude-code |
| 68 | ``` |
| 69 | |
| 70 | Install the MCP server, then register it with Claude Code: |
| 71 | |
| 72 | ```bash |
| 73 | # Install the server (one-time — downloads dependencies ahead of time) |
| 74 | uv tool install "mcp_massive @ git+https://github.com/massive-com/mcp_massive@v0.10.0" |
| 75 | |
| 76 | # Register with Claude Code |
| 77 | claude mcp add massive -e MASSIVE_API_KEY=your_api_key_here -- mcp_massive |
| 78 | ``` |
| 79 | |
| 80 | To upgrade to a new version later: |
| 81 | |
| 82 | ```bash |
| 83 | uv tool upgrade mcp_massive |
| 84 | ``` |
| 85 | |
| 86 | > [!NOTE] |
| 87 | > **Upgrading from `uvx` or `uv run --with`?** Previous versions recommended `uvx --from ... mcp_massive` or `uv run --with`. These commands download dependencies on every cold start, which can c |