Skip to main content
Glama
polygon-mcp

polygon-mcp

by atomcp-ai

Polygon.io MCP Server

MCP server wrapping the Polygon.io Python SDK for stocks, options, forex, and crypto market data.

Installation

cd polygon_mcp
uv pip install -e .

Related MCP server: Stock Trade MCP Server

Configuration

Set your Polygon.io API key as an environment variable:

export POLYGON_API_KEY="your_api_key_here"

Usage

Run directly

uv run polygon-mcp

MCP Configuration

Add to your MCP config (e.g., ~/.kiro/settings/mcp.json):

{
  "mcpServers": {
    "polygon": {
      "command": "uv",
      "args": ["--directory", "/path/to/polygon_mcp", "run", "polygon-mcp"],
      "env": {
        "POLYGON_API_KEY": "your_api_key_here"
      }
    }
  }
}

Available Tools

Stocks

  • stocks_get_sma - Simple Moving Average

  • stocks_get_ema - Exponential Moving Average

  • stocks_get_rsi - Relative Strength Index

  • stocks_get_macd - MACD

  • stocks_get_trades - Trades for a date

  • stocks_get_trades_v3 - Trades v3 API

  • stocks_get_quotes - Quotes for a date

  • stocks_get_quotes_v3 - NBBO quotes v3

  • stocks_get_last_trade - Most recent trade

  • stocks_get_last_quote - Most recent quote

  • stocks_get_daily_open_close - Daily OHLCV

  • stocks_get_aggregate_bars - Candles/bars

  • stocks_get_grouped_daily_bars - Market-wide daily bars

  • stocks_get_previous_close - Previous day OHLCV

  • stocks_get_snapshot - Current snapshot

  • stocks_get_snapshot_all - All snapshots

  • stocks_get_current_price - Current price

  • stocks_get_gainers_and_losers - Top movers

Options

  • options_get_sma/ema/rsi/macd - Technical indicators

  • options_get_trades - Option trades

  • options_get_quotes - Option quotes

  • options_get_last_trade - Most recent trade

  • options_get_daily_open_close - Daily OHLCV

  • options_get_aggregate_bars - Candles/bars

  • options_get_previous_close - Previous day OHLC

  • options_get_snapshot - Option snapshot

  • options_build_symbol - Build option symbol

  • options_parse_symbol - Parse option symbol

Forex

  • forex_get_sma/ema/rsi/macd - Technical indicators

  • forex_real_time_conversion - Currency conversion

  • forex_get_historic_ticks - Historic ticks

  • forex_get_quotes - NBBO quotes

  • forex_get_last_quote - Last quote

  • forex_get_aggregate_bars - Candles/bars

  • forex_get_grouped_daily_bars - Market-wide daily

  • forex_get_previous_close - Previous day OHLC

  • forex_get_gainers_and_losers - Top movers

Crypto

  • crypto_get_sma/ema/rsi/macd - Technical indicators

  • crypto_get_historic_trades - Historic trades

  • crypto_get_trades - Trades in time range

  • crypto_get_last_trade - Last trade

  • crypto_get_daily_open_close - Daily open/close

  • crypto_get_aggregate_bars - Candles/bars

  • crypto_get_grouped_daily_bars - Market-wide daily

  • crypto_get_previous_close - Previous day OHLC

  • crypto_get_snapshot_all - All snapshots

  • crypto_get_snapshot - Single snapshot

  • crypto_get_gainers_and_losers - Top movers

  • crypto_get_level2_book - Order book

Reference

  • reference_get_tickers - Query tickers

  • reference_get_ticker_types - Ticker type mappings

  • reference_get_ticker_details - Ticker details

  • reference_get_option_contract - Option contract info

  • reference_get_option_contracts - List option contracts

  • reference_get_ticker_news - News articles

  • reference_get_stock_dividends - Dividend history

  • reference_get_stock_financials - SEC financials

  • reference_get_stock_splits - Split history

  • reference_get_market_holidays - Market holidays

  • reference_get_market_status - Market status

  • reference_get_conditions - Polygon conditions

  • reference_get_exchanges - Exchange list

Available Tools

71 tools
crypto_get_aggregate_barsB

Get aggregate bars for a crypto pair. Symbol format: X:BTCUSD.

Inputs: symbol (required), to_date (required), from_date (required), sort, +4 more.

crypto_get_daily_open_closeB

Get open/close for a crypto pair on a date (YYYY-MM-DD).

Inputs: date (required), to_symbol (required), from_symbol (required), adjusted.

crypto_get_emaC

Get Exponential Moving Average for a crypto pair.

Inputs: symbol (required), limit, order, adjusted, +4 more.

crypto_get_gainers_and_losersB

Get top 20 crypto gainers or losers.

Inputs: direction.

crypto_get_grouped_daily_barsB

Get daily OHLC for entire crypto market on a date (YYYY-MM-DD).

Inputs: date (required), adjusted.

crypto_get_historic_tradesC

Get historic trades for a crypto pair on a date (YYYY-MM-DD).

Inputs: date (required), to_symbol (required), from_symbol (required), limit.

crypto_get_last_tradeB

Get the last trade for a crypto pair.

Inputs: to_symbol (required), from_symbol (required).

crypto_get_level2_bookB

Get level 2 order book for a crypto pair.

Inputs: symbol (required).

crypto_get_macdC

Get MACD for a crypto pair.

Inputs: symbol (required), limit, order, adjusted, +6 more.

crypto_get_previous_closeB

Get previous day's OHLC for a crypto pair.

Inputs: symbol (required), adjusted.

crypto_get_rsiC

Get Relative Strength Index for a crypto pair.

Inputs: symbol (required), limit, order, adjusted, +4 more.

crypto_get_smaC

Get Simple Moving Average for a crypto pair. Symbol format: X:BTCUSD.

Inputs: symbol (required), limit, order, adjusted, +4 more.

crypto_get_snapshotB

Get snapshot for a single crypto pair.

Inputs: symbol (required).

crypto_get_snapshot_allC

Get snapshots for specified crypto symbols.

Inputs: symbols (required).

crypto_get_tradesC

Get trades for a crypto pair in a time range.

Inputs: symbol (required), sort, limit, order, +1 more.

forex_get_aggregate_barsB

Get aggregate bars for a forex pair. Symbol format: C:EURUSD.

Inputs: symbol (required), to_date (required), from_date (required), sort, +4 more.

forex_get_emaC

Get Exponential Moving Average for a forex pair.

Inputs: symbol (required), limit, order, adjusted, +4 more.

forex_get_gainers_and_losersB

Get top 20 forex gainers or losers.

Inputs: direction.

forex_get_grouped_daily_barsA

Get daily OHLC for entire forex market on a date (YYYY-MM-DD).

Inputs: date (required), adjusted.

forex_get_historic_ticksB

Get historic trade ticks for a forex pair on a date (YYYY-MM-DD).

Inputs: date (required), to_symbol (required), from_symbol (required), limit.

forex_get_last_quoteB

Get the last quote for a forex pair.

Inputs: to_symbol (required), from_symbol (required).

forex_get_macdC

Get MACD for a forex pair.

Inputs: symbol (required), limit, order, adjusted, +6 more.

forex_get_previous_closeB

Get previous day's OHLC for a forex pair.

Inputs: symbol (required), adjusted.

forex_get_quotesC

Get NBBO quotes for a forex pair.

Inputs: symbol (required), sort, limit, order, +1 more.

forex_get_rsiC

Get Relative Strength Index for a forex pair.

Inputs: symbol (required), limit, order, adjusted, +4 more.

forex_get_smaB

Get Simple Moving Average for a forex pair. Symbol format: C:EURUSD.

Inputs: symbol (required), limit, order, adjusted, +4 more.

forex_real_time_conversionA

Convert currency using latest market rates. e.g., USD to EUR.

Inputs: amount (required), to_symbol (required), from_symbol (required), precision.

options_build_symbolC

Build an option symbol. expiry: YYMMDD, call_or_put: 'c'/'call' or 'p'/'put'.

Inputs: expiry (required), call_or_put (required), strike_price (required), underlying_symbol (required). Returns: result

options_get_aggregate_barsC

Get aggregate bars for an option contract. Dates in YYYY-MM-DD format.

Inputs: symbol (required), to_date (required), from_date (required), sort, +4 more.

options_get_daily_open_closeC

Get OHLCV for an option contract on a date (YYYY-MM-DD).

Inputs: date (required), symbol (required), adjusted.

options_get_emaC

Get Exponential Moving Average for an option contract.

Inputs: symbol (required), limit, order, adjusted, +4 more.

options_get_last_tradeC

Get the most recent trade for an option contract.

Inputs: ticker (required).

options_get_macdC

Get MACD for an option contract.

Inputs: symbol (required), limit, order, adjusted, +6 more.

options_get_previous_closeB

Get previous day's OHLC for an option contract.

Inputs: ticker (required), adjusted.

options_get_quotesC

Get quotes for an option contract.

Inputs: option_symbol (required), sort, limit, order, +1 more.

options_get_rsiC

Get Relative Strength Index for an option contract.

Inputs: symbol (required), limit, order, adjusted, +4 more.

options_get_smaC

Get Simple Moving Average for an option contract.

Inputs: symbol (required), limit, order, adjusted, +4 more.

options_get_snapshotC

Get snapshot for an option contract.

Inputs: option_symbol (required), underlying_symbol (required).

options_get_tradesC

Get trades for an option contract.

Inputs: option_symbol (required), sort, limit, order, +1 more.

options_parse_symbolB

Parse an option symbol to extract underlying, expiry, type, strike.

Inputs: option_symbol (required).

reference_get_conditionsC

List all conditions that Polygon uses.

Inputs: sort, limit, data_type, asset_class, +1 more.

reference_get_exchangesC

List all exchanges that Polygon knows about.

Inputs: locale, asset_class.

reference_get_market_holidaysA

Get upcoming market holidays and their open/close times.

Inputs: no named parameters.

reference_get_market_statusB

Get current trading status of exchanges and markets.

Inputs: no named parameters.

reference_get_option_contractC

Get info about an option contract.

Inputs: ticker (required), as_of_date.

reference_get_option_contractsC

List option contracts with various filters.

Inputs: sort, limit, order, expired, +3 more.

reference_get_stock_dividendsC

Get historical cash dividends for stocks.

Inputs: sort, limit, order, ticker, +1 more.

reference_get_stock_financialsC

Get historical financial data for a stock from SEC filings.

Inputs: cik, sic, sort, limit, +7 more.

reference_get_stock_splitsC

Get historical stock splits.

Inputs: sort, limit, order, ticker, +2 more.

reference_get_ticker_detailsC

Get detailed info about a ticker and the company behind it.

Inputs: symbol (required), date.

reference_get_ticker_newsC

Get news articles for a ticker symbol.

Inputs: sort, limit, order, symbol.

reference_get_tickersB

Query all ticker symbols supported by Polygon (stocks, crypto, forex).

Inputs: sort, limit, order, active, +5 more.

reference_get_ticker_typesC

Get mapping of ticker types to their descriptive names.

Inputs: locale, asset_class.

stocks_get_aggregate_barsC

Get aggregate bars (candles) for a stock. Dates in YYYY-MM-DD format.

Inputs: symbol (required), to_date (required), from_date (required), sort, +4 more.

stocks_get_current_priceC

Get current market price for a stock.

Inputs: symbol (required). Returns: result

stocks_get_daily_open_closeB

Get OHLCV and after-hours prices for a stock on a date (YYYY-MM-DD).

Inputs: date (required), symbol (required), adjusted.

stocks_get_emaC

Get Exponential Moving Average for a stock symbol.

Inputs: symbol (required), limit, order, adjusted, +4 more.

stocks_get_gainers_and_losersA

Get top 20 gainers or losers. direction: 'gainers' or 'losers'.

Inputs: direction.

stocks_get_grouped_daily_barsA

Get daily OHLCV for entire stock market on a date (YYYY-MM-DD).

Inputs: date (required), adjusted.

stocks_get_last_quoteB

Get the most recent NBBO quote for a stock.

Inputs: symbol (required).

stocks_get_last_tradeC

Get the most recent trade for a stock.

Inputs: symbol (required).

stocks_get_macdC

Get MACD for a stock symbol.

Inputs: symbol (required), limit, order, adjusted, +6 more.

stocks_get_previous_closeC

Get previous day's OHLCV for a stock.

Inputs: symbol (required), adjusted.

stocks_get_quotesA

Get quotes for a stock on a specific date (YYYY-MM-DD).

Inputs: date (required), symbol (required), limit.

stocks_get_quotes_v3B

Get NBBO quotes for a stock in a given time range (v3 API).

Inputs: symbol (required), sort, limit, order, +1 more.

stocks_get_rsiC

Get Relative Strength Index for a stock symbol.

Inputs: symbol (required), limit, order, adjusted, +4 more.

stocks_get_smaC

Get Simple Moving Average for a stock symbol.

Inputs: symbol (required), limit, order, adjusted, +4 more.

stocks_get_snapshotB

Get current snapshot for a stock (minute, day, prev day agg, last trade/quote).

Inputs: symbol (required).

stocks_get_snapshot_allB

Get snapshots for all or specified stock symbols.

Inputs: symbols.

stocks_get_tradesC

Get trades for a stock on a specific date (YYYY-MM-DD).

Inputs: date (required), symbol (required), limit.

stocks_get_trades_v3C

Get trades for a stock in a given time range (v3 API).

Inputs: symbol (required), sort, limit, order, +1 more.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    C2.7/5.0

    Scored across 71 tools

    Disambiguation3/5

    The asset-class prefixes (stocks_, crypto_, forex_, options_) help differentiate tools, but within each class there are overlapping functions like get_trades vs get_trades_v3 and multiple snapshot variants (stocks_get_snapshot vs stocks_get_snapshot_all). Descriptions clarify some differences, but agents could easily confuse similar endpoints.

    Naming Consistency5/5

    Tool names follow a consistent asset_class_verb_noun pattern with underscores (e.g., stocks_get_ema, crypto_get_aggregate_bars). Minor deviations like options_build_symbol and forex_real_time_conversion don't break the pattern, and the v3 suffix is consistently used.

    Tool Count1/5

    With 71 tools, this is far beyond a typical MCP server's scope. While the financial domain is broad, the repetitive per-asset-class duplication (e.g., get_rsi for four asset classes) makes the tool set feel bloated. It could be consolidated with a single parameterized endpoint.

    Completeness3/5

    The tool set covers core market data (quotes, trades, aggregates, indicators) and reference data for stocks, options, forex, and crypto. However, there are notable gaps: no level 2 order book for stocks/options/forex, no forex/options snapshots, and limited news coverage (only stocks). The presence of v3 variants suggests an inconsistent API surface.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      A
      quality
      B
      maintenance
      Enables MCP clients to retrieve stock market and company financial data, including quotes, overviews, ratios, historical prices, income statements, and stock comparisons, via a set of tools.
      7
      -
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables programmatic access to Tiingo financial data—including stock prices, news, forex, fundamentals, dividends, yields, and splits—through MCP tools. It supports querying by ticker, date ranges, resampling frequencies, and other filters.
      -
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables AI agents and backend integrations to access A-share, US equity, ETF, index, and crypto market data, technical indicators, fundamentals, money flow, filings, and news through MCP tools and standardized APIs.
      -
    • F
      license
      Not graded
      quality
      A
      maintenance
      Enables AI agents and backend workflows to access standardized multi-market financial data, technical indicators, fundamentals, news, filings, money flow, and CSV/JSON exports through MCP tools and HTTP endpoints.
      -