Skip to main content
Glama
massive-mcp

massive-mcp

by danielbres

SwinGrade-MCPs

A collection of MCP servers and Claude skills for professional stock analysis. Built around a structured swing/long-term trading workflow that pulls live market data, technical indicators, financials, news, and chart visualizations — and turns them into actionable trade plans with explicit entry/SL/TP/R:R/sizing.

The repo contains:

  • MCP servers that expose external data + chart APIs as tools

  • Claude skills that orchestrate those tools into trade-grade analysis workflows

Designed for Claude Desktop and Claude Code.


Repository layout

SwinGrade-MCPs/
├── src/massive_mcp/         ← MCP #1: massive-mcp (Massive.com Stocks REST API)
├── tests/                   ← tests for massive-mcp
├── pyproject.toml           ← massive-mcp package
│
├── chart-img-mcp/           ← MCP #2: chart-img-mcp (TradingView chart snapshots)
│   ├── src/chart_img_mcp/
│   ├── tests/
│   └── pyproject.toml
│
└── skills/                  ← Claude skills that drive the workflow
    ├── massive-trade-analysis/
    ├── market-macro-context-analysis/
    ├── earnings-calendar-check/
    ├── position-management/
    └── setup-edge-validation/

Layout note: massive-mcp is at the repo root (legacy from when the repo started as just that MCP), while chart-img-mcp lives in its own subdirectory. Future MCPs will follow the subdirectory pattern.


MCP servers

massive-mcp — Massive.com Stocks REST API

Wraps Massive.com (Polygon-style). 31 tools across:

Group

Tools

Aggregates / bars

get_aggregates, get_previous_close, get_daily_market_summary, get_daily_ticker_summary

Quotes & trades

get_last_quote, get_last_trade, get_quotes, get_trades

Snapshots

get_snapshot, get_all_snapshots, get_top_movers

Tickers / reference

list_tickers, get_ticker_overview, get_related_tickers, list_ticker_types

Market reference

get_market_status, get_market_holidays, list_exchanges, list_condition_codes

News

get_news

Indicators

get_sma, get_ema, get_rsi, get_macd

Corporate actions

get_dividends, get_splits, get_ipos, get_ticker_events

Financials

get_financials, get_short_interest, get_short_volume

Install:

python -m venv .venv
.venv/Scripts/python -m pip install -e .   # Windows
# or .venv/bin/python -m pip install -e .   # mac/linux

Then in Claude Desktop's claude_desktop_config.json:

{
  "mcpServers": {
    "massive": {
      "command": "C:\\path\\to\\SwinGrade-MCPs\\.venv\\Scripts\\massive-mcp.exe",
      "env": {
        "MASSIVE_API_KEY": "your_key",
        "MASSIVE_AUTH_MODE": "bearer"
      }
    }
  }
}

chart-img-mcp — TradingView chart snapshots

Wraps chart-img.com. 5 tools: generate_chart, generate_mini_chart, generate_chart_to_storage, list_exchanges, find_symbol. Returns images inline in Claude Desktop, plus optional CDN URLs.

See chart-img-mcp/README.md for install + config.


Claude skills

The skills live in skills/ and compose into a complete trading workflow:

                ┌─ market-macro-context-analysis  (regime score 0–10)
                │
massive-trade-analysis ─┼─ earnings-calendar-check  (pre-trade safety)
   (ENTRY plan)         │
                        ├─ setup-edge-validation    (empirical hit rates)
                        │
                        └─ chart-img: generate_chart (visual chart inline)
                              ↓
                    [trade is open]
                              ↓
                position-management        (TRIM / HOLD / EXIT)

Skill

Role

massive-trade-analysis

Entry plan: HQ-tag setup, ATR-based zone, cascaded TPs, R:R-sized position

market-macro-context-analysis

SPY/QQQ regime score (used by trade-analysis as macro overlay)

earnings-calendar-check

Estimates next earnings date, flags trade-window overlap

position-management

Mid-trade decisions: trim/hold/trail/time-stop using MAE/MFE + R-multiple

setup-edge-validation

Backtests HQ tag rules empirically — replaces gut-feel probabilities

Install: copy skills/* to ~/.claude/skills/. Full instructions in skills/README.md.


End-to-end example

After installing both MCPs and all skills, ask Claude Desktop:

"Swing trade plan for NVDA, $50k account"

The massive-trade-analysis skill will:

  1. Call mcp__massive__get_market_status and pull SPY/QQQ via market-macro-context-analysis → macro overlay

  2. Pull NVDA bars + EMAs + RSI + MACD + news + ticker overview

  3. Compute HQ tag, ATR, support/resistance, R:R via compute_rr.py

  4. (Optional) call earnings-calendar-check to flag earnings overlap

  5. (Optional) call setup-edge-validation for empirical scenario probabilities

  6. Render the trade-plan markdown

  7. Call mcp__chart-img__generate_chart to attach a daily candle chart with EMA10/20/50/200 + RSI + MACD inline

You get a structured plan and the actual chart, side by side.


Prerequisites


Why a single repo?

These pieces are designed to compose. Splitting them across repos forces users to clone N projects to get one workflow. Keeping them together means one git clone gets you the full toolchain — and the skills can reference the MCPs directly because they're co-located.


License

MIT — see individual MCP pyproject.toml files.

Available Tools

31 tools
get_aggregatesC

Aggregated OHLC bars for a stock over a date range.

Inputs: ticker (required), multiplier (required), timespan (required), from_ (required), +4 more. Returns: object

get_all_snapshotsA

Real-time snapshot for multiple/all US stocks. Use tickers to filter — calling with no filter returns the entire market and may be very large.

Inputs: tickers. Returns: object

get_daily_market_summaryB

OHLC for the entire US stock market on a given trading date.

Inputs: date (required), adjusted. Returns: object

get_daily_ticker_summaryB

Daily open/high/low/close for a single ticker on a given date.

Inputs: ticker (required), date (required), adjusted. Returns: object

get_dividendsC

Historical and upcoming dividends.

Inputs: ticker, ex_dividend_date_gte, limit, cursor. Returns: object

get_emaC

Exponential Moving Average indicator values for a stock.

Inputs: ticker (required), timespan, window, series_type, +3 more. Returns: object

get_financialsB

Financial statements (income, balance sheet, cash flow, ratios) for a ticker.

Inputs: ticker (required), timeframe, limit, cursor. Returns: object

get_iposD

IPO listings.

Inputs: ticker, listing_date_gte, limit, cursor. Returns: object

get_last_quoteB

Most recent NBBO (bid/ask) quote for a stock.

Inputs: ticker (required). Returns: object

get_last_tradeB

Most recent trade for a stock.

Inputs: ticker (required). Returns: object

get_macdC

MACD indicator values for a stock (default 12/26/9).

Inputs: ticker (required), timespan, short_window, long_window, +5 more. Returns: object

get_market_holidaysB

Upcoming US market holidays and early-close dates.

Inputs: no named parameters. Returns: object

get_market_statusA

Current US market status: open / closed / extended-hours.

Inputs: no named parameters. Returns: object

get_newsC

Recent news articles, optionally filtered by ticker.

Inputs: ticker, published_utc_gte, published_utc_lte, limit, +1 more. Returns: object

get_previous_closeA

Previous trading day's OHLC for a single stock ticker.

Inputs: ticker (required), adjusted. Returns: object

get_quotesC

Historical NBBO quotes for a stock.

Inputs: ticker (required), timestamp_gte, timestamp_lt, limit, +1 more. Returns: object

get_rsiC

Relative Strength Index values for a stock. Default window 14.

Inputs: ticker (required), timespan, window, series_type, +3 more. Returns: object

get_short_interestA

Bi-monthly short interest reports for a ticker.

Inputs: ticker (required), settlement_date_gte, limit, cursor. Returns: object

get_short_volumeC

Daily short-volume data for a ticker.

Inputs: ticker (required), date_gte, limit, cursor. Returns: object

get_smaA

Simple Moving Average indicator values for a stock.

Inputs: ticker (required), timespan, window, series_type, +3 more. Returns: object

get_snapshotA

Real-time snapshot for a single stock: last trade, last quote, day OHLC, prev day OHLC.

Inputs: ticker (required). Returns: object

get_splitsC

Historical and upcoming stock splits.

Inputs: ticker, execution_date_gte, limit, cursor. Returns: object

get_ticker_eventsC

Lifecycle events for a ticker (renames, listings, etc.).

Inputs: ticker (required), types. Returns: object

get_ticker_overviewA

Reference details for a ticker: name, exchange, sector, market cap, description, etc.

Inputs: ticker (required). Returns: object

get_top_moversB

Top US stock gainers or losers for the current trading day.

Inputs: direction (required). Returns: object

get_tradesC

Historical trades for a stock.

Inputs: ticker (required), timestamp_gte, timestamp_lt, limit, +1 more. Returns: object

list_condition_codesB

List trade/quote condition codes used by Massive feeds.

Inputs: asset_class. Returns: object

list_exchangesA

List exchanges Massive tracks for an asset class.

Inputs: asset_class. Returns: object

list_tickersB

Search/list tickers in the Massive reference universe.

Inputs: search, market, active, limit, +1 more. Returns: object

list_ticker_typesA

List of ticker type codes (CS=common stock, ETF, ADR, etc.) used by Massive.

Inputs: no named parameters. Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 31 tools

    Disambiguation4/5

    Most tools target distinct data products, but real-time snapshot endpoints overlap conceptually with last trade/quote and daily OHLC endpoints. The descriptions are clear enough to prevent serious confusion, though a few boundaries are fuzzy.

    Naming Consistency5/5

    All tools follow a predictable get_<resource> or list_<enum> convention, with intuitive singular/plural variations like get_snapshot and get_all_snapshots. There are no mixed naming styles or vague generic verbs.

    Tool Count2/5

    At 31 tools, this exceeds the 25-tool threshold for comfortable agent selection. Many OHLC, quote, and indicator endpoints could be consolidated into parameterized tools, though the breadth reflects a full market-data API.

    Completeness5/5

    For a read-only US equity market-data server, coverage is thorough: real-time and historical quotes, trades, OHLC, reference data, corporate actions, indicators, news, short selling, and market status. No critical workflow appears to be missing.

    Related MCP Connectors