A Model Context Protocol (MCP) server that provides access to the full Massive.com financial data API through an LLM-friendly interface. Rather than exposing one tool per endpoint, this server gives the LLM four composable tools — search, docs, call, and query — that cover the entire Massive.com API surface. Data can be stored in-memory as DataFrames, queried with SQL, and enriched with built-in f
Add this skill
npx mdskills install massive-com/mcp-massiveWell-architected MCP server providing composable financial data access with SQL querying and analytics
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>1112> [!IMPORTANT]13> :test_tube: This project is experimental and could be subject to breaking changes.1415# Massive.com MCP Server1617 [](https://github.com/massive-com/mcp_massive/releases)1819A [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.2021Rather than exposing one tool per endpoint, this server gives the LLM four composable tools — **search**, **docs**, **call**, and **query** — that cover the entire Massive.com API surface. Data can be stored in-memory as DataFrames, queried with SQL, and enriched with built-in financial functions.2223## Tools2425| Tool | Description |26|---|---|27| `search_endpoints` | Search for API endpoints and built-in functions by natural language query. Returns names, URL patterns, and descriptions. Supports scoping to `endpoints`, `functions`, or `all`. |28| `get_endpoint_docs` | Get parameter documentation for a specific endpoint. Pass the docs URL from `search_endpoints` results. |29| `call_api` | Call any Massive.com REST API endpoint. Supports storing results as an in-memory DataFrame (`store_as`) and applying post-processing functions (`apply`). Paginated responses include a next-page hint. |30| `query_data` | Run SQL against stored DataFrames using SQLite. Supports `SHOW TABLES`, `DESCRIBE <table>`, `DROP TABLE <table>`, CTEs, window functions, and more. Results can also be post-processed with `apply`. |3132### Built-in Functions3334Functions 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.3536| Category | Functions |37|---|---|38| **Greeks** | `bs_price`, `bs_delta`, `bs_gamma`, `bs_theta`, `bs_vega`, `bs_rho` — Black-Scholes option pricing and greeks |39| **Returns** | `simple_return`, `log_return`, `cumulative_return`, `sharpe_ratio`, `sortino_ratio` |40| **Technical** | `sma` (simple moving average), `ema` (exponential moving average) |4142### Data Coverage4344The 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:4546- Stock, options, forex, crypto, and futures aggregates47- Real-time and historical trades and quotes48- Market snapshots, gainers/losers49- Ticker details and reference data50- Dividends, splits, IPOs51- Financial fundamentals52- Analyst ratings and news (Benzinga)53- Treasury yields, inflation data54- Market status and holidays5556## Installation5758### Prerequisites5960- Python 3.10+61- A Massive.com API key <br> [![Button]][Link]62- [Astral UV](https://docs.astral.sh/uv/getting-started/installation/) (v0.4.0+)6364### Claude Code65First, install [Claude Code](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview)6667```bash68npm install -g @anthropic-ai/claude-code69```7071Install the MCP server, then register it with Claude Code:7273```bash74# Install the server (one-time — downloads dependencies ahead of time)75uv tool install "mcp_massive @ git+https://github.com/massive-com/mcp_massive@v0.8.1"7677# Register with Claude Code78claude mcp add massive -e MASSIVE_API_KEY=your_api_key_here -- mcp_massive79```8081To upgrade to a new version later:8283```bash84uv tool upgrade mcp_massive85```8687> [!NOTE]88> **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 cause the server to exceed Claude's 30-second connection timeout. Switch to `uv tool install` as shown above — it downloads dependencies once and starts instantly after that.8990This command will install the MCP server in your current project.91If you want to install it globally, you can run the command with `-s <scope>` flag.92See `claude mcp add --help` for more options.9394To start Claude Code, run `claude` in your terminal.95- If this is your first time using, follow the setup prompts to authenticate9697You can also run `claude mcp add-from-claude-desktop` if the MCP server is installed already for Claude Desktop.9899### Claude Desktop1001011. Follow the [Claude Desktop MCP installation instructions](https://modelcontextprotocol.io/quickstart/user) to complete the initial installation and find your configuration file.1021. Install the server:103104```bash105uv tool install "mcp_massive @ git+https://github.com/massive-com/mcp_massive@v0.8.1"106```1071083. Find the installed binary path:109110```bash111# Mac/Linux112which mcp_massive113114# Windows115where mcp_massive116```1171184. Add the server to your Claude Desktop config. Replace `<path_to_mcp_massive>` with the output from the previous step, and fill in the remaining fields.119120<details>121 <summary>claude_desktop_config.json</summary>122123```json124{125 "mcpServers": {126 "massive": {127 "command": "<path_to_mcp_massive>",128 "env": {129 "MASSIVE_API_KEY": "<your_api_key_here>",130 "HOME": "<your_home_directory>"131 }132 }133 }134}135```136</details>137138## Configuration139140### Environment Variables141142| Variable | Required | Default | Description |143|---|---|---|---|144| `MASSIVE_API_KEY` | Yes | — | Your Massive.com API key |145| `POLYGON_API_KEY` | No | — | Deprecated alias for `MASSIVE_API_KEY` |146| `MCP_TRANSPORT` | No | `stdio` | Transport protocol: `stdio`, `sse`, or `streamable-http` |147| `MASSIVE_API_BASE_URL` | No | `https://api.massive.com` | Base URL for API requests |148| `MASSIVE_LLMS_TXT_URL` | No | `https://massive.com/docs/rest/llms.txt` | URL for the endpoint index |149| `MASSIVE_MAX_TABLES` | No | `50` | Maximum number of in-memory DataFrames |150| `MASSIVE_MAX_ROWS` | No | `50000` | Maximum rows per stored DataFrame |151152### Transport153154By default, STDIO transport is used. The transport can be set via the `--transport` CLI argument or the `MCP_TRANSPORT` environment variable (CLI argument takes precedence).155156```bash157# CLI argument158MASSIVE_API_KEY=<your_api_key_here> uv run mcp_massive --transport streamable-http159160# Environment variable161MCP_TRANSPORT=streamable-http MASSIVE_API_KEY=<your_api_key_here> uv run mcp_massive162```163164## Usage Examples165166Once integrated, you can prompt Claude to access Massive.com data:167168```169Get the latest price for AAPL stock170Show me yesterday's trading volume for MSFT171What were the biggest stock market gainers today?172Get me the latest crypto market data for BTC-USD173Calculate the 20-day SMA for AAPL closing prices over the last 3 months174Compute Black-Scholes delta for these option contracts175```176177## Development178179### Running Locally180181Check to ensure you have the [Prerequisites](#prerequisites) installed.182183```bash184# Sync dependencies185uv sync186187# Run the server188MASSIVE_API_KEY=your_api_key_here uv run mcp_massive189```190191<details>192 <summary>Local Dev Config for claude_desktop_config.json</summary>193194Install from your local checkout, then reference the binary directly:195196```bash197uv tool install --force /path/to/mcp_massive198```199200```json201{202 "mcpServers": {203 "massive": {204 "command": "mcp_massive",205 "env": {206 "MASSIVE_API_KEY": "your_api_key_here"207 }208 }209 }210}211```212</details>213214### Debugging215216For debugging and testing, we recommend using the [MCP Inspector](https://github.com/modelcontextprotocol/inspector):217218```bash219npx @modelcontextprotocol/inspector uv --directory /path/to/mcp_massive run mcp_massive220```221222This will launch a browser interface where you can interact with your MCP server directly and see input/output for each tool.223224### Code Linting225226This project uses [just](https://github.com/casey/just) for common development tasks. To lint your code before submitting a PR:227228```bash229just lint230```231232This will run `ruff format` and `ruff check --fix` to automatically format your code and fix linting issues.233234## Links235- [Massive.com Documentation](https://massive.com/docs?utm_campaign=mcp&utm_medium=referral&utm_source=github)236- [Model Context Protocol](https://modelcontextprotocol.io)237- [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk)238239## Privacy Policy240241This MCP server interacts with Massive.com's API to fetch market data. All data requests are subject to Massive.com's privacy policy and terms of service.242243- **Massive.com Privacy Policy**: https://massive.com/legal/privacy244- **Data Handling**: This server does not store or cache any user data. All requests are proxied directly to Massive.com's API.245- **API Key**: Your Massive.com API key is used only for authenticating requests to their API.246247## Contributing248If you found a bug or have an idea for a new feature, please first discuss it with us by submitting a new issue.249We will respond to issues within at most 3 weeks.250We're also open to volunteers if you want to submit a PR for any open issues but please discuss it with us beforehand.251PRs that aren't linked to an existing issue or discussed with us ahead of time will generally be declined.252253<!----------------------------------------------------------------------------->254[Link]: https://massive.com/?utm_campaign=mcp&utm_medium=referral&utm_source=github 'Massive.com Home Page'255<!---------------------------------[ Buttons ]--------------------------------->256[Button]: https://img.shields.io/badge/Get_One_For_Free-5F5CFF?style=for-the-badge&logoColor=white257
Full transparency — inspect the skill content before installing.