### Install MCP Server Source: https://github.com/massive-com/mcp_massive/blob/master/README.md Install the mcp_massive server using uv tool. This command downloads dependencies ahead of time for faster startup. ```bash uv tool install "mcp_massive @ git+https://github.com/massive-com/mcp_massive@v0.10.0" ``` -------------------------------- ### Example: Single Daily Futures Bar Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms-full.txt This example demonstrates how to retrieve a single daily aggregate bar for a specific date. ```http /vX/aggs/ESU5?resolution=1session&window_start=2025-08-05 ``` -------------------------------- ### Install mcp_massive from local checkout Source: https://github.com/massive-com/mcp_massive/blob/master/README.md Install the mcp_massive tool directly from your local source code checkout using 'uv tool install'. This is useful for local development and testing. ```bash uv tool install --force /path/to/mcp_massive ``` -------------------------------- ### Local Dev Config for claude_desktop_config.json Source: https://github.com/massive-com/mcp_massive/blob/master/README.md Example JSON configuration for Claude Desktop when running mcp_massive locally. It references the installed binary and sets the API key. ```json { "mcpServers": { "massive": { "command": "mcp_massive", "env": { "MASSIVE_API_KEY": "your_api_key_here" } } } } ``` -------------------------------- ### Example: Futures Bars within a Date Range Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms-full.txt This example shows how to retrieve all aggregate bars within a specified month for a futures contract. ```http /vX/aggs/ESU5?resolution=1session&window_start.gte=2025-07-01&window_start.lte=2025-07-31 ``` -------------------------------- ### Example: Most Recent Minute Futures Bars Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms-full.txt This example shows how to retrieve the 5 most recent 1-minute aggregate bars for a futures contract. ```http /vX/aggs/ESU5?resolution=1min&limit=5 ``` -------------------------------- ### Example: Futures Bars After a Timestamp Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms-full.txt This example demonstrates how to retrieve the most recent 1000 aggregate bars that occurred after a specific nanosecond Unix timestamp. ```http /vX/aggs/ESU5?resolution=1sec&window_start.gt=1751409877000000000&limit=1000 ``` -------------------------------- ### Install Claude Code Source: https://github.com/massive-com/mcp_massive/blob/master/README.md Install the Claude Code command-line interface globally. This is a prerequisite for managing MCP servers with Claude Code. ```bash npm install -g @anthropic-ai/claude-code ``` -------------------------------- ### Run mcp_massive server locally Source: https://github.com/massive-com/mcp_massive/blob/master/README.md Start the mcp_massive server for local development. Ensure your MASSIVE_API_KEY is set. ```bash MASSIVE_API_KEY=your_api_key_here uv run mcp_massive ``` -------------------------------- ### Sync dependencies with uv Source: https://github.com/massive-com/mcp_massive/blob/master/README.md Synchronize project dependencies using the 'uv sync' command. This is a common step before running the server locally. ```bash uv sync ``` -------------------------------- ### Get Risk Categories Taxonomy Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms-full.txt Access the full standardized hierarchical taxonomy used to classify risk factors in SEC filings. It includes primary, secondary, and tertiary categories with detailed descriptions and examples for consistent analysis across companies and time periods. ```APIDOC ## GET /stocks/taxonomies/vX/risk-factors ### Description Access the full standardized hierarchical taxonomy used to classify risk factors in SEC filings. It includes primary, secondary, and tertiary categories with detailed descriptions and examples for consistent analysis across companies and time periods. Use Cases: Risk classification models, category-level analytics and dashboards, cross-company comparisons, quantitative risk scoring, and thematic monitoring. ### Method GET ### Endpoint /stocks/taxonomies/vX/risk-factors ``` -------------------------------- ### GET /futures/vX/trades/{ticker} Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms-full.txt Retrieve comprehensive, tick-level trade data for a specified futures contract ticker over a defined time range. Each record includes the trade price, size, session start date, and precise timestamps, capturing individual trade events throughout the period. ```APIDOC ## GET /futures/vX/trades/{ticker} ### Description Retrieve comprehensive, tick-level trade data for a specified futures contract ticker over a defined time range. Each record includes the trade price, size, session start date, and precise timestamps, capturing individual trade events throughout the period. This granular data is essential for constructing aggregated bars and performing detailed analyses of intraday price movements, making it a valuable tool for backtesting, algorithmic strategy development, and market research. ### Method GET ### Endpoint `/futures/vX/trades/{ticker}` ### Parameters #### Path Parameters - **ticker** (string) - Required - The futures contract identifier, including the base symbol and contract expiration (e.g., GCJ5 for the April 2025 gold contract). #### Query Parameters - **timestamp** (string) - Optional - The time when the trade was generated at the exchange to nanosecond precision. Value must be an integer timestamp in nanoseconds, formatted 'yyyy-mm-dd', or ISO 8601/RFC 3339 (e.g. '2024-05-28T20:27:41Z'). - **timestamp.gt** (string) - Optional - Filter greater than the value. Value must be an integer timestamp in nanoseconds, formatted 'yyyy-mm-dd', or ISO 8601/RFC 3339 (e.g. '2024-05-28T20:27:41Z'). - **timestamp.gte** (string) - Optional - Filter greater than or equal to the value. Value must be an integer timestamp in nanoseconds, formatted 'yyyy-mm-dd', or ISO 8601/RFC 3339 (e.g. '2024-05-28T20:27:41Z'). - **timestamp.lt** (string) - Optional - Filter less than the value. Value must be an integer timestamp in nanoseconds, formatted 'yyyy-mm-dd', or ISO 8601/RFC 3339 (e.g. '2024-05-28T20:27:41Z'). - **timestamp.lte** (string) - Optional - Filter less than or equal to the value. Value must be an integer timestamp in nanoseconds, formatted 'yyyy-mm-dd', or ISO 8601/RFC 3339 (e.g. '2024-05-28T20:27:41Z'). - **session_end_date** (string) - Optional - Also known as the trading date, the date of the end of the trading session, in YYYY-MM-DD format. - **limit** (integer) - Optional - Limit the maximum number of results returned. Defaults to '10' if not specified. The maximum allowed limit is '49999'. - **sort** (string) - Optional - A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'timestamp' if not specified. The sort order defaults to 'desc' if not specified. ### Response #### Success Response (200) - **next_url** (string) - If present, this value can be used to fetch the next page. - **request_id** (string) - A request id assigned by the server. - **results** (array[object]) - The results for this request. - **results[].channel** (integer) - The CME multicast channel this event was sourced from. - **results[].price** (number) - The price of the trade. This is the actual dollar value per whole contract of this trade. A trade of 100 contracts with a price of $2.00 would be worth a total dollar value of $200.00. - **results[].report_sequence** (integer) - The reporting sequence number. - **results[].sequence_number** (integer) - The unique sequence number assigned to this trade. - **results[].session_end_date** (string) - Also known as the trading date, the date of the end of the trading session, in YYYY-MM-DD format. - **results[].size** (integer) - The total number of contracts exchanged between buyers and sellers on a given trade. - **results[].ticker** (string) - The futures contract identifier, including the base symbol and contract expiration (e.g., GCJ5 for the April 2025 gold contract). - **results[].timestamp** (integer) - The time when the trade was generated at the exchange to nanosecond precision. - **status** (enum: OK) - The status of this request's response. #### Response Example ```json { "next_url": "https://api.massive.com/futures/vX/trades/ESZ4?cursor=YXA9MTczNDQ3MDk3MDAwODU5OTI2MSZhcz0yNzIzNTI4MyZsaW1pdD0xMDAwJnNlc3Npb25fZW5kX2RhdGU9MjAyNC0xMi0xNyZzb3J0PXRpbWVzdGFtcC5kZXNj", "request_id": "a47d1beb8c11b6ae897ab76cdbbf35a3", "results": [ { "price": 6052, "report_sequence": 12033289, "sequence_number": 27317882, "session_end_date": "2024-12-17", "size": 3, "ticker": "ESZ4", "timestamp": 1734472799000509200 }, { "price": 6051.75, "report_sequence": 12033276, "sequence_number": 27317863, "session_end_date": "2024-12-17", "size": 1, "ticker": "ESZ4", "timestamp": 1734472798789679900 }, { "price": 6052, "report_sequence": 12033255, "sequence_number": 27317826, "session_end_date": "2024-12-17", "size": 2, "ticker": "ESZ4", "timestamp": 1734472797000893000 } ], "status": "OK" } ``` -------------------------------- ### Sample Response for Futures Products Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms-full.txt This JSON object illustrates a sample response from the Products API, showing details for a specific futures contract. ```json { "count": 1, "request_id": 1, "results": [ { "acronym": "CME", "id": "4", "locale": "US", "mic": "XCME", "name": "Chicago Mercantile Exchange", "operating_mic": "XCME", "type": "exchange", "url": "https://cmegroup.com" } ], "status": "OK" } ``` -------------------------------- ### Sample Market Status Response (Real-time) Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms-full.txt This JSON illustrates a real-time market status response, detailing whether markets are open, closed, or in extended hours. ```json { "afterHours": true, "currencies": { "crypto": "open", "fx": "open" }, "earlyHours": false, "exchanges": { "nasdaq": "extended-hours", "nyse": "extended-hours", "otc": "closed" }, "market": "extended-hours", "serverTime": "2020-11-10T17:37:37-05:00" } ``` -------------------------------- ### GET /vX/reference/ipos Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms-full.txt Retrieve comprehensive information on Initial Public Offerings (IPOs), including upcoming and historical events, starting from the year 2008. This endpoint provides key details such as issuer name, ticker symbol, security type, IPO date, number of shares offered, expected price ranges, final issue prices, and offering sizes. Users can filter results by IPO status (e.g., pending, new, rumors, historical) to target their research and inform investment decisions. ```APIDOC ## GET /vX/reference/ipos ### Description Retrieve comprehensive information on Initial Public Offerings (IPOs), including upcoming and historical events, starting from the year 2008. This endpoint provides key details such as issuer name, ticker symbol, security type, IPO date, number of shares offered, expected price ranges, final issue prices, and offering sizes. Users can filter results by IPO status (e.g., pending, new, rumors, historical) to target their research and inform investment decisions. Use Cases: IPO research, market trend analysis, investment screening, historical event comparison. ### Method GET ### Endpoint /vX/reference/ipos ### Parameters #### Query Parameters - **ticker** (string) - No - Specify a case-sensitive ticker symbol. For example, TSLA represents Tesla Inc. - **us_code** (string) - No - Specify a us_code. This is a unique nine-character alphanumeric code that identifies a North American financial security for the purposes of facilitating clearing and settlement of trades. - **isin** (string) - No - Specify an International Securities Identification Number (ISIN). This is a unique twelve-digit code that is assigned to every security issuance in the world. - **listing_date** (string) - No - Specify a listing date. This is the first trading date for the newly listed entity. - **ipo_status** (string) - No - Specify an IPO status. - **listing_date.gte** (string) - No - Range by listing_date. - **listing_date.gt** (string) - No - Range by listing_date. - **listing_date.lte** (string) - No - Range by listing_date. - **listing_date.lt** (string) - No - Range by listing_date. - **order** (string) - No - Order results based on the `sort` field. - **limit** (integer) - No - Limit the number of results returned, default is 10 and max is 1000. - **sort** (string) - No - Sort field used for ordering. ``` -------------------------------- ### Configure Claude Desktop with mcp_massive server Source: https://github.com/massive-com/mcp_massive/blob/master/README.md Add the mcp_massive server configuration to your Claude Desktop client. Ensure you replace placeholders with actual paths and API keys. ```json { "mcpServers": { "massive": { "command": "", "env": { "MASSIVE_API_KEY": "", "HOME": "" } } } } ``` -------------------------------- ### GET /etf-global/v1/taxonomies Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms-full.txt Access standardized taxonomy systems used to categorize and organize global ETFs. Get structured classification frameworks that help define investment strategies, asset types, and fund characteristics. ```APIDOC ## GET /etf-global/v1/taxonomies ### Description Access standardized taxonomy systems used to categorize and organize global ETFs. Get structured classification frameworks that help define investment strategies, asset types, and fund characteristics. ### Method GET ### Endpoint /etf-global/v1/taxonomies ### Parameters #### Query Parameters - **processed_date** (string) - No - The date showing when ETF Global received and processed the data. Value must be formatted 'yyyy-mm-dd'. - **processed_date.gt** (string) - No - Filter greater than the value. Value must be formatted 'yyyy-mm-dd'. - **processed_date.gte** (string) - No - Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'. - **processed_date.lt** (string) - No - Filter less than the value. Value must be formatted 'yyyy-mm-dd'. - **processed_date.lte** (string) - No - Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'. - **effective_date** (string) - No - The date showing when the information was accurate or valid; some issuers, such as Vanguard, release their data on a delay, so the effective_date can be several weeks earlier than the processed_date. Value must be formatted 'yyyy-mm-dd'. - **effective_date.gt** (string) - No - Filter greater than the value. Value must be formatted 'yyyy-mm-dd'. - **effective_date.gte** (string) - No - Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'. - **effective_date.lt** (string) - No - Filter less than the value. Value must be formatted 'yyyy-mm-dd'. - **effective_date.lte** (string) - No - Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'. - **composite_ticker** (string) - No - The stock ticker symbol used to identify this ETF product on exchanges. - **composite_ticker.any_of** (string) - No - Filter equal to any of the values. Multiple values can be specified by using a comma separated list. - **composite_ticker.gt** (string) - No - Filter greater than the value. - **composite_ticker.gte** (string) - No - Filter greater than or equal to the value. - **composite_ticker.lt** (string) - No - Filter less than the value. - **composite_ticker.lte** (string) - No - Filter less than or equal to the value. - **limit** (integer) - No - Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '5000'. - **sort** (string) - No - A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'composite_ticker' if not specified. The sort order defaults to 'asc' if not specified. ``` -------------------------------- ### GET /futures/vX/contracts Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms-full.txt Retrieves a list of futures contracts with detailed specifications. This endpoint can be used to query the full contract index with various filters or to get the full specification for a single contract. Point-in-time lookups are also supported. ```APIDOC ## GET /futures/vX/contracts ### Description The Contracts API provides a single source for discovering all listed futures contracts and retrieving complete contract specifications. You can query the full contract index with filters for product code, trade dates, active status, and date, returning key attributes such as ticker, first and last trade dates, days to maturity, exchange code, and order quantity limits in paginated form. The same API also returns the full specification for a single contract, including settlement dates, tick sizes, and other trading and risk related fields. Point-in-time lookups allow you to reconstruct the exact contract definition that applied on any given day. Use Cases: Historical research, trading system integration, portfolio workflows, risk management. ### Method GET ### Endpoint `/futures/vX/contracts` ### Parameters #### Query Parameters - **product_code** (string) - Optional - Filter by product code. - **trade_date** (string) - Optional - Filter by trade date. - **active_status** (boolean) - Optional - Filter by active status. - **date** (string) - Optional - For point-in-time lookups. ### Response #### Success Response (200) - **next_url** (string) - If present, the URL to the next page of results. - **results** (array[object]) - An array of contract objects. - **results[].close** (number) - The last price within the timeframe. - **results[].dollar_volume** (number) - The total dollar volume of the transactions that occurred within the timeframe. - **results[].high** (number) - The highest price within the timeframe. - **results[].low** (number) - The lowest price within the timeframe. - **results[].open** (number) - The opening price within the timeframe. - **results[].session_end_date** (string) - The date of the end of the trading session, in YYYY-MM-DD format. - **results[].settlement_price** (number) - The price the contract would have cost to settle for this session. - **results[].ticker** (string) - The ticker for the contract. - **results[].transactions** (integer) - The number of transactions that occurred within the timeframe. - **results[].volume** (integer) - The number of contracts that traded within the timeframe. - **results[].window_start** (integer) - The timestamp of the beginning of the candlestick’s aggregation window. - **status** (string) - The status of the response. #### Response Example ```json { "request_id": "b452e45b7eaad14151c3e1ce5129b558", "results": [ { "close": 2874.2, "dollar_volume": 380560636.01, "high": 2877.1, "low": 2837.4, "open": 2849.8, "session_end_date": "2025-02-04", "settlement_price": 2875.8, "ticker": "GCJ5", "transactions": 74223, "volume": 133072, "window_start": 1738627200000000000 }, { "close": 2884.8, "dollar_volume": 448429944.1, "high": 2906, "low": 2870.1, "open": 2873.7, "session_end_date": "2025-02-05", "settlement_price": 2893, "ticker": "GCJ5", "transactions": 83673, "volume": 155170, "window_start": 1738713600000000000 } ], "status": "OK" } ``` ``` -------------------------------- ### Sample Response for Daily Ticker Summary (Single Stock) Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms-full.txt This JSON object shows a sample response for a single stock's daily open, high, low, and close prices, including after-hours and pre-market data. ```json { "afterHours": 322.1, "close": 325.12, "from": "2023-01-09", "high": 326.2, "low": 322.3, "open": 324.66, "preMarket": 324.5, "status": "OK", "symbol": "AAPL", "volume": 26122646 } ``` -------------------------------- ### Last Trade Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms.txt Get the most recent trade for a ticker. ```APIDOC ## GET /stocks/last-trade ### Description Get the most recent trade for a ticker. ### Method GET ### Endpoint /stocks/last-trade ### Parameters #### Query Parameters - **ticker** (string) - Required - The stock ticker symbol. ### Response #### Success Response (200) - **timestamp** (string) - The timestamp of the trade. - **price** (number) - The price of the trade. - **size** (number) - The size of the trade. ``` -------------------------------- ### Trades Source: https://github.com/massive-com/mcp_massive/blob/master/tests/fixtures/llms.txt Get trades for a ticker symbol in a given time range. ```APIDOC ## GET /stocks/trades ### Description Get trades for a ticker symbol in a given time range. ### Method GET ### Endpoint /stocks/trades ### Parameters #### Query Parameters - **ticker** (string) - Required - The stock ticker symbol. - **from** (string) - Required - The start date for the trades (YYYY-MM-DD). - **to** (string) - Required - The end date for the trades (YYYY-MM-DD). ### Response #### Success Response (200) - **timestamp** (string) - The timestamp of the trade. - **price** (number) - The price of the trade. - **size** (number) - The size of the trade. ```