Skip to main content
Glama
fin-data-mcp-server

fin-data-mcp-server

by CohenD

fin-data-mcp-server

A one-stop Model Context Protocol server for free financial market data. It wires up live API requests across 13 market-data categories, focused on sources that need no API key — so it works the moment you start it.

83 no-key tools (15 providers) work out of the box; adding optional free keys unlocks 7 more providers for up to 110 tools / 22 providers, spanning stocks, indices, options, FX, commodities, crypto (spot + perpetual futures), energy, prediction markets, macroeconomics, filings/news, flight tracking, sentiment, and congressional trading. Equities have two independent no-key backends (Yahoo + Cboe) plus optional premium ones.

Keyed providers register only when their key is set — with no keys configured, their tools never appear in tools/list, so the agent never sees a tool it can't use. The fin-data://catalog resource still lists them as "set X to enable."

Built to the MCP best-practices guide: every tool is read-only with proper annotations, validated inputs (Zod), structured content, character-limit truncation, actionable error messages, server instructions, and a discovery resource. Every endpoint was verified returning HTTP 200 from a US IP.

Install

No clone, no build — the server runs straight from GitHub via npx (it builds on first install). Pick your client:

Claude Code (one command)

claude mcp add fin-data -- npx -y github:CohenD/fin-data-mcp

That's it — restart Claude Code and the tools are available. To unlock keyed providers, append env flags, e.g.:

claude mcp add fin-data \
  -e SEC_USER_AGENT="you@example.com" \
  -e FRED_API_KEY=xxxx \
  -- npx -y github:CohenD/fin-data-mcp

Claude Desktop / Cursor / Windsurf / any MCP client

Add this to the client's MCP config (claude_desktop_config.json, .cursor/mcp.json, etc.):

{
  "mcpServers": {
    "fin-data": {
      "command": "npx",
      "args": ["-y", "github:CohenD/fin-data-mcp"],
      "env": { "SEC_USER_AGENT": "you@example.com" }
    }
  }
}

Vercel AI SDK (agentic apps)

import { experimental_createMCPClient as createMCPClient } from "ai";
import { Experimental_StdioMCPTransport as StdioMCPTransport } from "ai/mcp-stdio";

const mcp = await createMCPClient({
  transport: new StdioMCPTransport({
    command: "npx",
    args: ["-y", "github:CohenD/fin-data-mcp"],
  }),
});
const tools = await mcp.tools(); // pass straight into generateText / streamText

Full runnable example: examples/ai-sdk-agent.ts.

From source

git clone https://github.com/CohenD/fin-data-mcp && cd fin-data-mcp
npm install            # builds dist/ via the prepare script
npm start              # run over stdio

A project-scoped .mcp.json is included, so opening the cloned repo in Claude Code auto-registers the server.

No configuration is required for the 83 no-key tools. To unlock keyed providers or higher limits, set the env vars in .env.example.

The server also exposes a fin-data://catalog resource listing every provider, its category, whether it needs a key, and its tools.

Related MCP server: Yahoo Finance MCP Server

Verify it works

npm run smoke                   # broad live sample incl. chained discovery
npx tsx scripts/smoke.ts        # core no-key endpoints
npx tsx scripts/mcp-test.ts     # full MCP handshake: tools/list, resource, a tool call

Tools by category

Category

Provider

Tools

Stocks / Indices / FX / Crypto

Yahoo Finance

yahoo_chart, yahoo_quote, yahoo_search, yahoo_quote_summary, yahoo_recommendations, yahoo_spark

Stocks / Indices / Options (no-key backup)

Cboe

cboe_quote, cboe_history, cboe_options_chain

Options

Yahoo Finance

yahoo_options_chain

Stocks (premium backup, free key)

Tiingo

tiingo_eod_prices, tiingo_metadata, tiingo_iex_intraday

Forex

Frankfurter (ECB)

fx_latest_rates, fx_historical_rate, fx_timeseries, fx_list_currencies

Forex

ExchangeRate-API

fx_open_rates

Commodities / Macro / Demographics

World Bank

worldbank_indicator, worldbank_search_indicators, worldbank_list_countries, worldbank_sources, worldbank_topics, worldbank_indicator_metadata, worldbank_country

Crypto (spot + perp futures)

OKX

crypto_candles, crypto_ticker, crypto_orderbook, crypto_funding_rate, crypto_open_interest, crypto_mark_price, crypto_recent_trades, crypto_all_tickers, crypto_index_candles, crypto_price_limit, crypto_long_short_ratio, crypto_list_instruments

Energy (free key)

Ember

energy_ember_series

Prediction Markets

Polymarket

polymarket_list_markets, polymarket_list_events, polymarket_get_market, polymarket_get_event, polymarket_price_history, polymarket_order_book, polymarket_midpoint, polymarket_last_trade_price, polymarket_spread

Prediction Markets

Kalshi

kalshi_list_markets, kalshi_get_market, kalshi_orderbook, kalshi_list_events, kalshi_get_event, kalshi_get_series, kalshi_trades, kalshi_exchange_status, kalshi_exchange_schedule, kalshi_list_series, kalshi_candlesticks

Prediction Markets

Manifold

manifold_search_markets, manifold_get_market, manifold_list_markets, manifold_get_user, manifold_market_positions, manifold_bets, manifold_groups, manifold_comments

News / Filings

SEC EDGAR

sec_company_filings, sec_company_facts, sec_company_concept, sec_full_text_search, sec_ticker_to_cik, sec_xbrl_frames

Macroeconomic

OECD

oecd_data, oecd_dataflows, oecd_data_structure

Macroeconomic

DBnomics (100+ sources)

dbnomics_search, dbnomics_series, dbnomics_providers, dbnomics_provider_datasets, dbnomics_dataset

Alternative (Flights)

OpenSky

flights_live_states, flights_by_aircraft, flights_by_airport, flights_track

Sentiment

Alternative.me

crypto_fear_greed_index

Congressional Trading

House/Senate Stock Watcher

congress_house_trades, congress_senate_trades

Optional keyed providers (register only when their key is set)

Category

Provider

Env

Tools

Macro / news

FRED

FRED_API_KEY

fred_series_observations, fred_series_info, fred_search_series, fred_releases

Stocks (real-time + fundamentals)

Finnhub

FINNHUB_API_KEY

finnhub_quote, finnhub_company_profile, finnhub_company_news, finnhub_basic_financials, finnhub_recommendation_trends, finnhub_insider_transactions, finnhub_earnings_surprises, finnhub_symbol_search

Commodities / Stocks / FX / Macro

Alpha Vantage

ALPHAVANTAGE_API_KEY

av_commodity, av_economic_indicator, av_time_series_daily, av_global_quote, av_fx_daily

Energy

EIA

EIA_API_KEY

eia_browse_route, eia_data

Congressional / lobbying / contracts

Quiver

QUIVER_API_KEY

quiver_congress_trading, quiver_lobbying, quiver_gov_contracts, quiver_insider_trading

Stocks (premium backup)

Tiingo

TIINGO_API_KEY

tiingo_eod_prices, tiingo_metadata, tiingo_iex_intraday

Energy

Ember

EMBER_API_KEY

energy_ember_series

Notes & caveats (verified live 2026-06-28; all return 200 from a US IP)

  • Equities have two independent no-key backends. yahoo_* is primary; cboe_* (Cboe's delayed-quote CDN) is a fully independent fallback that also serves indices, full options chains, and ~20 years of daily history. Prefer cboe_* if Yahoo is throttled. tiingo_* adds a premium source with a free key.

  • Crypto uses OKX, not Binance. Binance's fapi returns HTTP 451 to US IPs. OKX is no-key, US-accessible, and serves spot (BTC-USDT) and perpetual-swap futures (BTC-USDT-SWAP).

  • Yahoo is unofficial and bot-sensitive: a full Chrome UA trips its bot filter (429), so the client sends a minimal Mozilla/5.0 and fails over query1 → query2. yahoo_quote_summary/yahoo_options_chain do the cookie+crumb handshake automatically.

  • SEC EDGAR requires a descriptive User-Agent with a contact — set SEC_USER_AGENT.

  • House Stock Watcher original S3 bucket and the first GitHub mirror both went away; this points at the current maintained mirror. Override via HOUSE_STOCK_WATCHER_URL / SENATE_STOCK_WATCHER_URL if it moves.

  • OpenSky works anonymously (~400 credits/day); set OPENSKY_CLIENT_ID/SECRET for higher limits.

  • The HTTP layer sends Accept-Language: en on every request — Node's undici defaults to Accept-Language: *, which made OECD's SDMX server 500.

Architecture (MCP best practices)

src/
  index.ts          # stdio entry point
  server.ts         # builds the server: instructions, annotations, structured
                    #   content, CHARACTER_LIMIT truncation, error mapping, catalog resource
  config.ts         # env-driven config (all optional)
  constants.ts      # CHARACTER_LIMIT, default page size
  lib/
    http.ts         # fetch wrapper: params, timeout, retries, formatHttpError
    cache.ts        # in-memory TTL cache
    tool.ts         # ToolDef + tool() helper (applies read-only annotations)
  providers/
    index.ts        # aggregates tools, uniqueness check, builds the catalog
    <provider>.ts   # one file per source; exports an array of ToolDef
  • Annotations: every tool is readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true.

  • Structured content: handlers return JSON; the server attaches structuredContent and truncates anything over CHARACTER_LIMIT (~25k chars) with a message telling the agent to narrow the query.

  • Errors: mapped to actionable messages (404/403/429/451/5xx/timeout) and returned as MCP tool errors (isError: true), never thrown to the protocol.

Adding a provider: write src/providers/foo.ts exporting fooTools (array of tool({...})), then add it to PROVIDERS in src/providers/index.ts. See PROVIDERS.md for the full inventory and the key-required expansion roadmap.

A deliberate non-default

These are data APIs whose consumer is an LLM, so responses are compact JSON (no per-tool Markdown renderer) — optimized for agent context. structuredContent

  • truncation cover the best-practice intent (context efficiency) without a lossy Markdown layer over numeric time series.

Available Tools

83 tools
cboe_historyCboe daily price historyA
Read-onlyIdempotent

Daily OHLCV price history for an equity/ETF/index from Cboe (history can extend back ~20 years). No key required. Use as a Yahoo-independent source for charts/backtests.

Symbols: tickers as-is; indices with an underscore prefix (_SPX). Example: { symbol: 'SPY' }.

Inputs: symbol (required).

cboe_options_chainCboe options chainA
Read-onlyIdempotent

Full options chain for an underlying from Cboe (no key, no crumb) — a robust alternative to yahoo_options_chain. Returns every listed option (all expirations/strikes) with bid/ask, last, volume, open interest, IV, and greeks, plus the underlying quote.

Note: the response can be large; filter client-side by expiration/strike. Example: { symbol: 'AAPL' }.

Inputs: symbol (required).

cboe_quoteCboe delayed quote (stocks / indices)A
Read-onlyIdempotent

Delayed (~15 min) quote snapshot for an equity, ETF, or index from Cboe — a no-key backend independent of Yahoo. Returns last/bid/ask, day open/high/low/close, previous close, volume, and security metadata.

Symbols: tickers as-is (AAPL, SPY); indices with an underscore prefix (_SPX, _VIX, _DJI, _NDX). Example: { symbol: 'AAPL' } or { symbol: '_SPX' }.

Inputs: symbol (required).

congress_house_tradesUS House stock tradesA
Read-onlyIdempotent

US House of Representatives stock transactions (Stock Watcher). Filter by ticker, representative name, and/or transaction-date range; returns the most recent matches. Example: { ticker: 'NVDA', startDate: '2024-01-01' }

Inputs: limit, person, ticker, endDate, +1 more.

congress_senate_tradesUS Senate stock tradesA
Read-onlyIdempotent

US Senate stock transactions (Stock Watcher). Filter by ticker, senator name, and/or transaction-date range; returns the most recent matches. Example: { person: 'Tuberville', startDate: '2023-01-01', endDate: '2023-12-31' }

Inputs: limit, person, ticker, endDate, +1 more.

crypto_all_tickersAll crypto tickers for an instType (OKX)A
Read-onlyIdempotent

Latest tickers for every instrument of an instType in one call — last price, 24h high/low/volume, bid/ask. Use for market-wide scans. Example: { instType: "SPOT" }

Inputs: instType.

crypto_candlesCrypto candlesticks (OKX, spot or perp)A
Read-onlyIdempotent

OHLCV candlesticks for a crypto instrument. Use spot ids like 'BTC-USDT' or perpetual-swap ids like 'BTC-USDT-SWAP'. Rows: [ts, open, high, low, close, vol, volCcy, volCcyQuote, confirm].

Inputs: instId (required), bar, limit.

crypto_fear_greed_indexCrypto Fear & Greed IndexA
Read-onlyIdempotent

Crypto market sentiment index (0 = extreme fear, 100 = extreme greed). Returns the latest value plus history for the requested number of days.

Inputs: limit.

crypto_funding_rateCrypto funding rate (OKX, perps)A
Read-onlyIdempotent

Current funding rate + next funding time for a perpetual swap. Set history: true for recent historical funding rates.

Inputs: instId (required), limit, history.

crypto_index_candlesCrypto index candlesticks (OKX)A
Read-onlyIdempotent

OHLC candlesticks for an OKX index (not a tradable instrument). Use index ids of the form 'BTC-USD' or 'ETH-USD'. Rows: [ts, open, high, low, close, confirm]. Example: { instId: "BTC-USD", bar: "1H", limit: 100 }

Inputs: instId (required), bar, limit.

crypto_list_instrumentsList crypto instruments (OKX)A
Read-onlyIdempotent

List tradable instruments for an instType (SPOT, SWAP, FUTURES, OPTION). Use to discover valid instId values.

Inputs: instType.

crypto_long_short_ratioCrypto long/short account ratio (OKX rubik)A
Read-onlyIdempotent

Time series of the long/short account ratio for a currency's contracts (market sentiment). Rows: [ts, longShortRatio]. Example: { ccy: "BTC", period: "5m" }

Inputs: ccy (required), period.

crypto_mark_priceCrypto mark price (OKX)B
Read-onlyIdempotent

Mark price for a swap/futures instrument (or all of an instType).

Inputs: instId, instType.

crypto_open_interestCrypto open interest (OKX)A
Read-onlyIdempotent

Open interest for a swap/futures instrument (or all of an instType).

Inputs: instId, instType.

crypto_orderbookCrypto order book (OKX)A
Read-onlyIdempotent

Current bids/asks for an instrument.

Inputs: instId (required), depth.

crypto_price_limitCrypto price limit (OKX, derivatives)A
Read-onlyIdempotent

Highest buy and lowest sell limit prices currently allowed for a swap/futures instrument. Example: { instId: "BTC-USDT-SWAP" }

Inputs: instId (required).

crypto_recent_tradesCrypto recent trades (OKX)A
Read-onlyIdempotent

Most recent public trades for an instrument: price, size, side, trade id, timestamp. Works for spot and swap ids. Example: { instId: "BTC-USDT", limit: 50 }

Inputs: instId (required), limit.

crypto_tickerCrypto ticker (OKX)A
Read-onlyIdempotent

Latest ticker for one instrument: last price, 24h high/low/volume, bid/ask. Works for spot and swap ids.

Inputs: instId (required).

dbnomics_datasetGet DBnomics dataset metadataA
Read-onlyIdempotent

Fetch metadata for one dataset: its name, dimensions, and the codes/labels for each dimension. Use to learn how to build a series mask for dbnomics_series. Example: { provider: "IMF", dataset: "AFRREO" }

Inputs: dataset (required), provider (required).

dbnomics_provider_datasetsList a DBnomics provider's datasetsA
Read-onlyIdempotent

List the datasets published by one provider, with their codes and names. Use to discover a dataset_code (paired with the provider) for dbnomics_dataset or dbnomics_series. Example: { provider: "IMF" }

Inputs: provider (required).

dbnomics_providersList DBnomics providersB
Read-onlyIdempotent

List all source providers aggregated by DBnomics.

Inputs: no named parameters.

dbnomics_seriesGet a DBnomics series (with observations)A
Read-onlyIdempotent

Fetch one or more series with their observations. Identify a series by provider/dataset/series codes (e.g. provider=IMF, dataset=WEO:latest, series='USA.NGDPD.us_dollars'). Returns periods + values.

Inputs: series (required), dataset (required), provider (required).

flights_by_aircraftFlights by aircraft (OpenSky)A
Read-onlyIdempotent

Flights flown by a specific aircraft (ICAO24) within a time window. Time window must be <= 30 days. Unix epoch seconds.

Inputs: end (required), begin (required), icao24 (required).

flights_by_airportArrivals/departures by airport (OpenSky)A
Read-onlyIdempotent

Flights arriving at or departing from an airport (ICAO code) within a time window (<= 7 days). Unix epoch seconds.

Inputs: end (required), begin (required), airport (required), direction.

flights_live_statesLive aircraft states (OpenSky)A
Read-onlyIdempotent

Live state vectors (position, altitude, velocity, callsign) for aircraft. Optionally bound to a lat/lon box. Useful for tracking corporate-jet and supply-chain air activity.

Inputs: lamax, lamin, lomax, lomin, +1 more.

flights_trackFlight track / waypoints (OpenSky)A
Read-onlyIdempotent

Trajectory (waypoints: time, lat, lon, baro altitude, heading, on-ground) for a single aircraft. Use time=0 for the live/most-recent track, or a Unix epoch-seconds value within a flight to fetch that historical track (OpenSky only retains historical tracks for a limited window). Verified to work anonymously, but may require OpenSky credentials under heavy load. Example: { icao24: '39de4f', time: 0 }

Inputs: icao24 (required), time.

fx_historical_rateHistorical FX rate on a dateA
Read-onlyIdempotent

FX reference rates for a specific past date (YYYY-MM-DD). Falls back to the most recent prior working day if the date is a weekend/holiday.

Inputs: date (required), base, symbols.

fx_latest_ratesLatest FX rates (ECB / Frankfurter)B
Read-onlyIdempotent

Latest foreign-exchange reference rates from the European Central Bank. Returns rates for symbols quoted against base.

Inputs: base, symbols.

fx_list_currenciesList supported currenciesA
Read-onlyIdempotent

Map of supported currency codes to full names.

Inputs: no named parameters.

fx_open_ratesFX rates (ExchangeRate-API, open)A
Read-onlyIdempotent

All exchange rates for a base currency from the ExchangeRate-API open endpoint (no key). Independent second source to cross-check Frankfurter.

Inputs: base.

fx_timeseriesFX rate time seriesA
Read-onlyIdempotent

Daily FX rates across a date range. Use for currency charts and backtests.

Inputs: start (required), end, base, symbols.

kalshi_candlesticksKalshi market candlesticksA
Read-onlyIdempotent

Historical price candlesticks for a market within a series. Provide Unix epoch-seconds start/end and a period interval in minutes (1, 60, or 1440).

Inputs: end_ts (required), ticker (required), start_ts (required), series_ticker (required), +1 more.

kalshi_exchange_scheduleKalshi exchange scheduleA
Read-onlyIdempotent

Standard trading hours and any maintenance windows for the exchange. Example: {}

Inputs: no named parameters.

kalshi_exchange_statusKalshi exchange statusA
Read-onlyIdempotent

Current exchange and trading availability flags. Example: {}

Inputs: no named parameters.

kalshi_get_eventGet a Kalshi eventA
Read-onlyIdempotent

Full detail for a single event by event ticker. Set with_nested_markets to include the event's child markets inline. Example: { event_ticker: "KXELONMARS-99", with_nested_markets: true }

Inputs: event_ticker (required), with_nested_markets.

kalshi_get_marketGet a Kalshi marketA
Read-onlyIdempotent

Full detail for a single market by ticker.

Inputs: ticker (required).

kalshi_get_seriesGet a Kalshi seriesA
Read-onlyIdempotent

Full detail for a single market series by series ticker (rules, category, frequency, contract terms). Example: { series_ticker: "KXELONMARS" }

Inputs: series_ticker (required).

kalshi_list_eventsList Kalshi eventsC
Read-onlyIdempotent

List events (groups of related markets). Optionally include nested markets.

Inputs: limit, cursor, status, with_nested_markets.

kalshi_list_marketsList Kalshi marketsA
Read-onlyIdempotent

List regulated event markets (politics, macro, financials). Filterable by status and parent event/series. Returns yes/no prices, volume, expirations.

Inputs: limit, cursor, status, event_ticker, +1 more.

kalshi_list_seriesList Kalshi seriesA
Read-onlyIdempotent

List market series, optionally filtered by category (e.g. Economics).

Inputs: category.

kalshi_orderbookKalshi market order bookA
Read-onlyIdempotent

Current yes/no order book for a market ticker.

Inputs: ticker (required), depth.

kalshi_tradesKalshi public trade historyA
Read-onlyIdempotent

Public trade history (executed prints) across the exchange or for one market. Filter by ticker; page with cursor. Example: { ticker: "KXELONMARS-99-Y", limit: 50 }

Inputs: limit, cursor, ticker.

manifold_betsList Manifold betsA
Read-onlyIdempotent

Recent bets (trades), newest first. Filter by a single market via contractId, by a trader via username, or both. Example: { contractId: 'ZtAEnyhO29', limit: 50 }

Inputs: limit, username, contractId.

manifold_commentsList Manifold market commentsA
Read-onlyIdempotent

Comments on a single market — useful for crowd reasoning and sentiment behind a forecast. Example: { contractId: 'ZtAEnyhO29' }

Inputs: contractId (required).

manifold_get_marketGet a Manifold market by id or slugA
Read-onlyIdempotent

Full detail for a single market including current probability, pool, and resolution status. Provide either the market id or its URL slug.

Inputs: id, slug.

manifold_get_userGet a Manifold userA
Read-onlyIdempotent

Public profile for a Manifold user: balance, profit, market/trade counts, bio and creation date. Identify by username or by user id. Example: { username: 'DZC' }

Inputs: id, username.

manifold_groupsList Manifold groupsA
Read-onlyIdempotent

List Manifold groups (topics/categories) markets are organized under, with member and market counts. Example: { limit: 50 }

Inputs: limit, beforeTime.

manifold_list_marketsList recent Manifold marketsB
Read-onlyIdempotent

List markets in reverse-chronological order (newest first).

Inputs: limit.

manifold_market_positionsGet Manifold market positionsA
Read-onlyIdempotent

Per-user positions (holdings, shares, profit) for a single market. Reveals who is on each side and how concentrated the order book is. Example: { id: 'ZtAEnyhO29' }

Inputs: id (required).

manifold_search_marketsSearch Manifold prediction marketsB
Read-onlyIdempotent

Full-text search Manifold markets by term. Returns probability forecasts for crowd-sourced predictions across politics, economics, tech, etc.

Inputs: term (required), sort, limit.

oecd_dataOECD SDMX data queryA
Read-onlyIdempotent

Query OECD data via SDMX. dataflow is 'AGENCY,DATAFLOW_ID,VERSION' (e.g. 'OECD.SDD.TPS,DSD_PRICES@DF_PRICES_ALL,1.0'). key is dot-delimited dimension values; leave a position empty for a wildcard (e.g. 'USA.M.N.CPI.IX._T.N.GY'). Returns SDMX-JSON. For big series, bound with startPeriod+endPeriod or cap with lastNObservations to keep responses small.

Inputs: dataflow (required), key, endPeriod, startPeriod, +2 more.

oecd_dataflowsList OECD dataflowsA
Read-onlyIdempotent

List available OECD dataflows (datasets) as SDMX structure JSON. Use to discover the dataflow id + agency needed for oecd_data.

Inputs: agency.

oecd_data_structureOECD dataflow structure (dimensions & codes)A
Read-onlyIdempotent

Discover a dataflow's full structure — its dimensions, the order they appear in the key, and the allowed codes for each — by pulling the dataflow plus all referenced structures (DSD, codelists, concepts) as SDMX-JSON. Use this before oecd_data to build a valid dot-delimited key. dataflowId may include or omit the trailing version (e.g. 'DSD_PRICES@DF_PRICES_ALL' or '.../1.0'). Example: { agency: "OECD.SDD.TPS", dataflowId: "DSD_PRICES@DF_PRICES_ALL" }

Inputs: agency (required), dataflowId (required).

polymarket_get_eventGet a Polymarket event (Gamma)A
Read-onlyIdempotent

Full detail for a single event (a group of related markets). Pass id (numeric Gamma id) to fetch by id, or slug to look it up by URL slug. Includes nested markets. Example: { slug: "kraken-ipo-in-2025" }

Inputs: id, slug.

polymarket_get_marketGet a Polymarket market (Gamma)A
Read-onlyIdempotent

Full detail for a single market. Pass id (numeric Gamma id) to fetch by id, or slug to look it up by URL slug. Returns question, outcomes, conditionId, clobTokenIds, prices, volume and liquidity. Example: { id: "540817" }

Inputs: id, slug.

polymarket_last_trade_pricePolymarket last trade price (CLOB)A
Read-onlyIdempotent

Most recent trade price and side for an outcome token. token_id is a CLOB token id from a market's clobTokenIds. Example: { token_id: "98022490269692409998126496127597032490334070080325855126491859374983463996227" }

Inputs: token_id (required).

polymarket_list_eventsList Polymarket events (Gamma)A
Read-onlyIdempotent

List events (groups of related markets), e.g. an election with many candidate markets. Filter by active/closed/tag/slug.

Inputs: tag, slug, limit, order, +3 more.

polymarket_list_marketsList Polymarket markets (Gamma)A
Read-onlyIdempotent

List markets with metadata (question, outcomes, prices, volume, liquidity, clobTokenIds). Filter by active/closed. Use clobTokenIds with the price history / order book tools below.

Inputs: slug, limit, order, active, +3 more.

polymarket_midpointPolymarket midpoint price (CLOB)A
Read-onlyIdempotent

Current midpoint (mid of best bid/ask) for an outcome token. token_id is a CLOB token id from a market's clobTokenIds. Example: { token_id: "98022490269692409998126496127597032490334070080325855126491859374983463996227" }

Inputs: token_id (required).

polymarket_order_bookPolymarket order book (CLOB)A
Read-onlyIdempotent

Live order book (bids/asks) for an outcome token. token_id is a CLOB token id from a market's clobTokenIds.

Inputs: token_id (required).

polymarket_price_historyPolymarket price history (CLOB)A
Read-onlyIdempotent

Time series of an outcome's price. market is a CLOB token id (from a market's clobTokenIds). Use interval (1m/1h/6h/1d/1w/max) OR explicit startTs/endTs. fidelity is resolution in minutes.

Inputs: market (required), endTs, startTs, fidelity, +1 more.

polymarket_spreadPolymarket bid-ask spread (CLOB)A
Read-onlyIdempotent

Current bid-ask spread for an outcome token. token_id is a CLOB token id from a market's clobTokenIds. Example: { token_id: "98022490269692409998126496127597032490334070080325855126491859374983463996227" }

Inputs: token_id (required).

sec_company_conceptSEC EDGAR single XBRL conceptA
Read-onlyIdempotent

Time series for one XBRL concept for a company, e.g. taxonomy 'us-gaap' + tag 'Revenues' or 'NetIncomeLoss'. Lighter than company_facts.

Inputs: tag (required), cik, ticker, taxonomy.

sec_company_factsSEC EDGAR XBRL company factsA
Read-onlyIdempotent

All standardized XBRL financial facts for a company (revenue, assets, EPS, etc.) across all filings. Large payload. Identify by ticker or CIK.

Inputs: cik, ticker.

sec_company_filingsSEC EDGAR company filingsA
Read-onlyIdempotent

Recent filings metadata for a company (10-K, 10-Q, 8-K, Form 4 insider, etc.) including accession numbers, form types and dates. Identify by ticker or CIK.

Inputs: cik, ticker.

sec_ticker_to_cikResolve ticker → CIKA
Read-onlyIdempotent

Look up the SEC Central Index Key (CIK) for a ticker symbol.

Inputs: ticker (required).

sec_xbrl_framesSEC EDGAR XBRL frames (one fact across all companies)A
Read-onlyIdempotent

Aggregates one XBRL fact, for one period, across ALL reporting companies — the cross-sectional complement to company_concept. Period is a calendar frame: annual durations 'CYyyyy' (e.g. CY2023), quarterly durations 'CYyyyyQn' (e.g. CY2023Q1), or instantaneous 'CYyyyyQnI' (e.g. CY2023Q1I, balance-sheet items). Example: { taxonomy: 'us-gaap', tag: 'AccountsPayableCurrent', unit: 'USD', period: 'CY2023Q1I' }

Inputs: tag (required), period (required), unit, taxonomy.

worldbank_countryWorld Bank country metadataA
Read-onlyIdempotent

Metadata for a single country/region: ISO codes, region, income level, lending type, capital, coordinates. Example: { code: "US" }

Inputs: code (required).

worldbank_indicatorWorld Bank indicator time seriesA
Read-onlyIdempotent

Time series for a World Bank indicator and country. Example indicators: NY.GDP.MKTP.CD (GDP, current US$), FP.CPI.TOTL.ZG (inflation %), SP.POP.TOTL (population). Country as ISO code (US, CN) or 'all'/'WLD' for world.

Inputs: indicator (required), date, country, perPage.

worldbank_indicator_metadataWorld Bank indicator metadataA
Read-onlyIdempotent

Metadata for a single indicator: name, source, topics, and a definition/notes string. Use to confirm what an indicator code measures. Example: { code: "NY.GDP.MKTP.CD" }

Inputs: code (required).

worldbank_list_countriesList World Bank countries & regionsB
Read-onlyIdempotent

Country metadata: ISO codes, region, income level, capital.

Inputs: perPage.

worldbank_search_indicatorsBrowse World Bank indicatorsA
Read-onlyIdempotent

List World Bank indicators (paginated). Use to discover indicator codes before calling worldbank_indicator. There is no full-text search; page through.

Inputs: page, perPage.

worldbank_sourcesList World Bank data sourcesA
Read-onlyIdempotent

List the data sources (databases) behind World Bank indicators, e.g. World Development Indicators, Doing Business. Use to discover a source id for filtering. Example: { perPage: 100 }

Inputs: perPage.

worldbank_topicsList World Bank topicsA
Read-onlyIdempotent

List the thematic topics (e.g. Agriculture, Economy & Growth, Health) used to categorize World Bank indicators. Example: { perPage: 100 }

Inputs: perPage.

yahoo_chartYahoo price history (stocks / indices / ETFs / FX / crypto)A
Read-onlyIdempotent

OHLCV price history + metadata for any Yahoo symbol. Works for equities (AAPL), indices (^GSPC, ^DJI, ^IXIC, ^VIX), ETFs (SPY), FX (EURUSD=X) and crypto (BTC-USD). Use this for both stock and index data.

Inputs: symbol (required), range, interval.

yahoo_options_chainYahoo options chainA
Read-onlyIdempotent

Options chain for a symbol: available expirations plus calls/puts (strikes, bid/ask, IV, OI, volume). Pass a Unix epoch-seconds expiration for a specific date, or omit for the nearest expiry.

Inputs: symbol (required), expiration.

yahoo_quoteYahoo latest quoteA
Read-onlyIdempotent

Latest price snapshot for a symbol derived from the chart endpoint (regular market price, previous close, day range, exchange, currency). Avoids the crumb-gated quote endpoint.

Inputs: symbol (required).

yahoo_quote_summaryYahoo quote summary (fundamentals / profile / statistics)A
Read-onlyIdempotent

Rich per-symbol fundamentals via the crumb-gated quoteSummary endpoint. Pass a comma-separated modules list. Common modules: price, summaryDetail, financialData, defaultKeyStatistics, assetProfile, earnings, recommendationTrend, balanceSheetHistory, incomeStatementHistory, cashflowStatementHistory, calendarEvents, earningsHistory, institutionOwnership, majorHoldersBreakdown. Example: { symbol: "AAPL", modules: "price,summaryDetail,financialData,defaultKeyStatistics,assetProfile,earnings,recommendationTrend" }

Inputs: symbol (required), modules.

yahoo_recommendationsYahoo similar / recommended symbolsA
Read-onlyIdempotent

Symbols Yahoo considers similar to the given one, each with a similarity score. Use for peer/comparable discovery. Does not require a crumb. Example: { symbol: "AAPL" }

Inputs: symbol (required).

yahoo_sparkYahoo multi-symbol mini price seriesA
Read-onlyIdempotent

Compact close-price series for one or more symbols in a single call — handy for sparklines or side-by-side comparisons. Example: { symbols: "AAPL,MSFT,SPY", range: "1mo", interval: "1d" }

Inputs: symbols (required), range, interval.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 83 tools

    Disambiguation4/5

    Most tools target distinct resources or data sources, with clear descriptions differentiating them. However, some overlap exists (e.g., multiple quote and history tools from different providers) that could cause minor confusion if descriptions are not read carefully.

    Naming Consistency5/5

    Tool names consistently follow a source_resource or source_action pattern using lowercase with underscores (e.g., cboe_history, yahoo_quote, manifold_search_markets). No mixing of conventions, making the naming predictable and intuitive.

    Tool Count3/5

    83 tools is high for a single server. While each tool has a purpose, the breadth (including flight tracking alongside financial data) feels overstretched. The count is borderline and would benefit from modularization into domain-specific servers.

    Completeness4/5

    The tool set covers an impressively wide range of financial data: stocks, options, crypto, forex, economic indicators, SEC filings, prediction markets, and more. Minor gaps exist (e.g., bond or futures data), but the surface is largely complete for the stated purpose.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      Not graded
      maintenance
      A Model Context Protocol server that provides tools for interacting with Yahoo Finance, allowing users to retrieve stock prices, company information, and perform financial data comparisons.
      11
      MIT
    • A
      license
      C
      quality
      D
      maintenance
      A Model Context Protocol server providing comprehensive financial data from Yahoo Finance, allowing users to retrieve detailed stock information, financial statements, options data, and market news.
      34
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      A Model Context Protocol (MCP) server that provides comprehensive access to Yahoo Finance data through 18 specialized tools for pricing, financials, options, holders, and news.
      18
      30 PyPI
      1
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      A Model Context Protocol (MCP) server that provides tools, resources, and prompts for financial analysis using the Financial Modeling Prep API.
      51
      MIT