mcpbeat Sign in

TickerDB MCP Server

answering

TickerDB is answering right now. Last checked 11 min ago. 79 installs a week from npm. It exposes 16 tools. Last commit 1 Nov 2026.

Pre-computed market data that improves agent reasoning, reduces token usage, and replaces pipelines.

Installs per day peak 58 · avg 18 · +36% w/w
a month agotoday
Uptime history 91 days of history · worst day 96%
91 days agonow
100.0%
Uptime 24h
91 of 91 checks
16
Tools
read from the server
171 ms
Response time
average over 24h
79
Installs / week
npm and PyPI

What changed 43

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 4 September 2026. No other catalogue keeps this.

1 Nov 7 tools changed the parameters they ask for14 times that day get_changes, get_insiders, get_market and 4 more
1 Nov 11 tools appeared get_changes, get_fund_holders, get_fund_holdings and 8 more
1 Nov 7 tool descriptions were rewritten10 times that day get_account, get_insiders, get_ohlcv and 4 more
1 Nov 4 tools disappeared add_to_watchlist, get_watchlist, get_watchlist_changes and 1 more
1 Nov a tool changed version
4 Sep 2 tool descriptions were rewritten get_search, get_summary
4 Sep a tool changed the parameters it asks for get_summary
and 10 more, back to 4 September 2026

Tools have disappeared from this server

A tool that vanishes takes a piece of your agent with it, and the change arrives silently. Watch this server and every such change lands in your inbox.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 11 min ago.

run in your terminal
claude mcp add mcp-server --transport http https://mcp.tickerdb.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://mcp.tickerdb.com/mcp
~/.codex/config.toml
[mcp_servers.mcp-server]
url = "https://mcp.tickerdb.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "mcp-server": {
      "url": "https://mcp.tickerdb.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcp-server": {
      "type": "http",
      "url": "https://mcp.tickerdb.com/mcp"
    }
  }
}

Available tools 16

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

fund
get_fund_holders
Which funds held a stock on one date (SEC Form N-PORT, point in time: each fund's newest portfolio filed by the date), largest positions first, plus the tracked indexes it belonged to (index_memberships) and totals over every holder (fund_count, fund_shares). Each fund's shares and value_usd are as of its own report_date, typically 2-5 months earlier. Costs 1 credit plus 1 per 100 funds beyond 100.
get_fund_holdings
A fund's full portfolio as public on one date (SEC Form N-PORT), largest positions first: every line as filed (stocks, bonds, cash funds, derivatives) with ticker (TickerDB symbol on that date when the CUSIP maps to an asset we cover, else null), cusip, isin, balance, value_usd, weight_pct (percent of net assets), asset_category (EC = common stock). Point in time: filing.filed_on is when the portfolio became public and filing.report_date the quarter end it describes (typically 2-5 months before the date). Coverage starts with the fund's first N-PORT (late 2019). Costs 1 credit plus 1 per 100 lines beyond 100.
account
get_account
Get your account details including current plan tier, monthly credit limits, and current usage. Response includes tier, limits (monthly_requests, overage_enabled, search_results, history_days), and usage (monthly_requests_used, monthly_requests_remaining, credit_balance for pay-per-use accounts). Also returns scheduled_tier and scheduled_change_at if a plan change is pending.
changes
get_changes
Get field-level band changes of the newest published date for up to 50 tickers: day-over-day for daily, week-over-week for weekly. Each change is {field, from, to}; Plus and Pro also get stability, periods_in_current_state and recent flips. ticker_context gives each ticker's last_changed_date. Use it for 'what changed for AAPL, MSFT and NVDA today?' instead of pulling full summaries; use get_summary for one ticker's full state.
funds
get_funds
Find funds (ETFs and mutual funds) that publish holdings to the SEC on Form N-PORT, by name words or ticker, largest first. Each fund has fund_id (SEC series id), tickers, is_etf, its first and newest public portfolio dates. Then use get_fund_holdings for a portfolio, or held_by in get_universe / get_search. Names, tickers and sizes are current, not point in time. Costs 1 credit.
get
get_search
Search for assets matching filter criteria, including categorical states (e.g. oversold assets, strong uptrends, bull/bear flag setups, triangle or wedge setups, free-cash-flow surplus or burn, recent golden crosses, weekly stage 2 assets near the 40w MA with high volume, volatility squeeze active, volume climax detected, insider buying zone, sector-aligned breakouts, extreme fear, cheap PEG) or rankings by a field such as market_cap_usd on a historical date. Pass filters as a JSON-encoded array of {field, op, value} objects. Use get_schema to discover valid field names (prefer it over guessing). Bands end in a category word (_zone, _state, _direction, _trend, _tier), raw numbers in their unit (_pct, _ratio, _price, _usd, _count, _periods, _score). Examples: momentum_rsi_zone, momentum_rsi (0-100), trend_direction, trend_stage, trend_ma50_slope_zone, trend_distance_ma40_zone (raw trend_distance_ma40_pct), trend_ma_compression_zone, trend_ma_crossover_event, pattern_bull_flag_state, pattern_bull_flag_breakout, pattern_ascending_triangle_state, volume_ratio_zone, volatility_squeeze_active, range_position_zone, fundamentals_free_cash_flow_zone, fundamentals_revenue_zone, fundamentals_peg_ratio / fundamentals_peg_zone, fundamentals_earnings_proximity_zone, forward_outlook_earnings_zone, insider_zone, sector_stocks_oversold_count, fear_greed_score / fear_greed_zone (per asset), and GARP Core garp_core_score / garp_core_score_tier / garp_core_rank (GARP from valuation, business quality and resilience, consistent across all history, built for backtests). Names from before the 2026-10-31 renames (volume_ratio_band, trend_distance_ma50, pattern_bull_flag, fundamentals_revenue, range_position, sector_total_count) are still accepted; responses use the new names. MARKET CONDITIONS: market-wide market_* and economy-wide macro_* bands (e.g. market_regime_zone, market_breadth_ma200_zone, market_fear_greed_zone, macro_regime_zone, macro_yield_curve_zone, macro_yield_curve_zone_prev, macro_recession_risk_zone) can be mixed into filters: a market filter keeps only the dates where the condition held, matched on each ticker row's own date; putting a market field in fields attaches that date's value to every row. With start and end plus at least one market filter, every matching date in the range is screened (rows carry date), e.g. stocks oversold on the days breadth was washed out. Use get_market for the market rows themselves. Use fields to control returned columns and sort_by to rank results server-side.
index
get_index_members
An index's members on one date, point in time: the long stock positions of its tracking fund's newest SEC N-PORT portfolio FILED by that date (source.report_date is the portfolio's own quarter-end date, source.filed_on when it became public; a stock added to the index after report_date appears with the next filing). Each member has ticker (as of the date), name and weight_pct (percent of fund net assets). Ids from get_indexes. To screen members by fields, use get_universe or get_search with member_of instead. Costs 1 credit plus 1 per 100 members beyond 100.
indexes
get_indexes
List the indexes whose membership TickerDB tracks (sp500, sp400, sp600, sp100, nasdaq100, russell1000, russell2000), each with the fund it is read from (e.g. IVV for the S&P 500), its first covered date (late 2019) and today's member count. Membership is the SEC Form N-PORT holdings of a fully replicating fund, point in time by filing date: typically 2-5 months behind the index provider's own changes. Use the ids with get_index_members, or as member_of in get_universe / get_search. Costs 1 credit.
insider
get_insider_trades
One insider's disclosed transactions (SEC Form 4), ordered by disclosure time: the event series of a copy/inverse insider model. Get the slug from get_insiders first. Two rules for backtests: act at disclosed_at (when it became public), never trade_date (up to lag_days earlier; using it is look-ahead); and only open-market trades are decisions: set open_market_only=true to drop grants, option exercises, tax withholding and gifts, and consider exclude_planned=true (pre-scheduled Rule 10b5-1 sales carry little signal; nearly all of Jeff Bezos's Amazon sales are planned). Each trade has ticker (as of disclosure), side, shares, price, value, shares_owned_after, planned, late and an sec_url. Join to get_ohlcv for prices.
insiders
get_insiders
Find insiders (people and organisations whose trades are disclosed in SEC Form 4: CEOs, officers, directors, 10%+ owners including funds) by name, ticker or type, or list them most active first. Step 1 of a copy/inverse insider model ('make a model that copies Bezos'): search the name, pick the right result from its companies, roles and activity, then call get_insider_trades with its slug. Search is loose: any order and case, word starts, initials, nicknames both ways (bill = william), typos, run-together or split names (jeffbezos, value act), legal suffixes ignored, and extra words tolerated (half the words must match; full matches rank first, matched_words says how many matched). Several people can share a name: check companies and roles. Curated aliases cover famous names filed differently (Jensen Huang files as 'Huang Jen Hsun'). Each result has lag_days_median/_p90 (days from trade to public disclosure) and late_filing_share.
market
get_market
Get the market level: regime bands for the whole US equity market (market_*) and the US economy (macro_*), one row per date, point in time. Use it for 'what regime is the market in?', 'is breadth washed out?', 'is the yield curve inverted?', 'is the economy in stagflation?', 'what is the recession risk?', 'when did the yield curve last un-invert?', 'list every market regime change in 2024'. Key bands: market_regime_zone (bull_broad, bull_narrow, correction, bear, recovery), market_breadth_ma200_zone (washed_out .. overextended), market_fear_greed_zone, market_valuation_zone, market_volatility_zone, market_risk_appetite_zone, market_earnings_season_zone, macro_regime_zone (goldilocks, reflation, stagflation, deflationary_slowdown), macro_recession_risk_zone, macro_yield_curve_zone (deeply_inverted, inverted, flat, normal, steep), macro_fed_policy_zone, macro_inflation_zone, macro_inflation_trend, macro_labor_market_zone, macro_sahm_rule_zone, macro_gdp_zone. Headline numbers: market_fear_greed_score, market_stocks_below_ma200_pct, market_aggregate_pe_ratio, macro_treasury_yield_2y_pct, macro_treasury_yield_10y_pct, macro_yield_curve_10y_minus_2y_pct, macro_fed_funds_rate_pct, macro_cpi_inflation_yoy_pct, macro_unemployment_rate_pct, macro_gdp_growth_annualized_pct. Every band carries change markers (_prev = label left on the row it changed, _periods = rows in the current label, 1 = changed today, _flips_recent_count, _stability); set changes=true to get only dates where a band changed, with from/to. macro_ values are as first published (never revised later) and low-frequency releases carry until the next one (null once stale). To find tickers under a market condition, put market_/macro_ filters into get_search instead (they match each ticker row's own date). get_schema lists every market field with level=market.
ohlcv
get_ohlcv
Get stored end-of-day OHLCV candles for a stock, ETF, or crypto ticker, daily or weekly. Use this for exact-return calculations, charts, and backtests after get_summary identifies a setup. Results are paginated; pass next_cursor back as cursor to continue. Prices are stored as traded; adjustment picks the basis: split (default), split_dividend (total return) or raw. Credit cost is 1 credit per 100 bars returned, rounded up, with a 1 credit minimum.
schema
get_schema
Get the schema of all available fields and their valid band values, with a plain-words description, unit and minimum plan for each. Every field has level: ticker (per-asset snapshot columns for get_search, get_summary) or market (market_* and macro_* regime bands, one row per date, for get_market and as get_search filters matched on the same date). Use this when the user asks 'what fields are available?', 'what bands does momentum_rsi_zone have?', 'what macro bands exist?', or when you need to validate field/band names before calling get_summary with event parameters, get_search with filters, or get_market. Field names follow <group>_<name>[_<unit>]; bands end in a category word (_zone, _trend, _state ...). The response also lists the naming rules and notes that pre-2026-10-31 names are still accepted.
status
get_status
When the data last changed (free, 0 credits): for daily and weekly snapshots and each asset class, the newest published date, whether it is preliminary or final (eod), its row count and when it was released; the market level's newest date; recent releases; and the release schedule. Call it to decide whether new data is out before re-pulling summaries, search results or a universe, instead of polling ticker tools.
summary
get_summary
Get pre-computed market intelligence for a specific stock, crypto, or ETF ticker. Supports 4 modes: (1) Snapshot (default) for the latest categorical state; (2) Historical snapshot by date; (3) Historical series with start and end dates; (4) Events by field and optional band (when a band was entered, what it left, how long the prior state lasted), for any tracked band: momentum_rsi_zone, trend_direction, trend_stage, trend_ma8_slope_zone through trend_ma200_slope_zone, trend_distance_ma40_zone, trend_ma_crossover_event, pattern_bull_flag_state, pattern_ascending_triangle_state, volume_ratio_zone, fear_greed_zone, fundamentals_free_cash_flow_zone, fundamentals_peg_zone, forward_outlook_earnings_zone, garp_core_score_tier and more (old names such as pattern_bull_flag or volume_ratio_band are still accepted). Add stats=true in event mode for aggregate counts by band. Results include as_of_date, same-candle OHLCV, market_cap_usd, market_cap_tier, performance_zone, trend (ma_slopes, distance_from_ma_zone, ma_compression_zone, volume_confirmation_state), momentum (raw rsi, stochastic_k, stochastic_d beside their zones), extremes (condition_rarity_percentile), volatility, volume (ratio_zone, price_on_volume_direction), patterns (*_state), support/resistance (distance_zone, volume_at_tests_zone), range_position_zone, breakout_type, fear_greed (score 0-100 and zone), levels (paid tiers), sector_context (stocks_oversold_count, stocks_count, asset_vs_sector_rsi_zone ...), and stock-only fundamentals (pe_ratio, pb_ratio, peg_ratio, peg_zone, reporting_currency, revenue_zone, profitability_zone, cash_flow_zone, balance_sheet_zone, free_cash_flow_zone, earnings_proximity_zone, analyst_consensus_zone, forward_outlook.*_zone, insider_activity) plus the garp block (Pro; GARP Core in garp.core: GARP from valuation, business quality and resilience, consistent across all history, built for backtests). Market-wide and macro regimes are not part of a ticker summary: use get_market. Summary keeps sibling _meta objects off by default; set meta=true or request explicit *_meta fields when paid-tier stability metadata is needed.
universe
get_universe
Get selected fields for EVERY asset on one date in a single call (about 11,000 rows), ordered by ticker: the input of a daily or weekly trading model run. Fields use the same names as get_search and are tier-gated the same way; at most 60 per call. Costs 5 credits per 10 fields. member_of / held_by restrict it to an index's or a fund's holdings on that date ("S&P 500 members with garp_core_score"). A row dated D reflects everything known by 04:00 UTC on D+1, so a backtest acts at the next session's open. For filtered or ranked subsets use get_search; for one ticker use get_summary.

Tools removed

Tools this server used to expose. Anything built against them stopped working on the day they went.

add_to_watchlist
removed 1 Nov 2026
get_watchlist
removed 1 Nov 2026
get_watchlist_changes
removed 1 Nov 2026
remove_from_watchlist
removed 1 Nov 2026

Endpoints

URLTransportStateLatencyChecked
https://mcp.tickerdb.com/mcp streamable-http answering 103 ms 11 min ago

Alternatives to TickerDB

same job, measured the same way
4q Tokenz
by steveweltman

Intelligent MCP proxy that reduces token usage by exposing only mcp_search and mcp_call.

90 installs/wk local only
Vertical Marketplace
by verticalmarketplace

Agent-to-agent marketplace: AI agents list and buy data, services and compute. Signed receipts.

46 installs/wk 55 tools answering
Rewalto (preview)
by rewalto

Preview. Connect an agent to Indian data: prices and stock by pin, marketplace prices and listings.

answering
Smart Context MCP
by arrayo

Reduces AI agent token usage by 90% via context compression and task checkpoint persistence.

100 installs/wk local only
bookstore4agents
by scott2121

Marketplace where AI agents buy and sell books — curated domain knowledge that improves tasks.

49 tools answering
Akshare One MCP
by zwldarren

MCP server that provides access to Chinese stock market data using akshare-one

940 installs/wk local only
Zwldarren Akshare One MCP
by smithery

Provide access to Chinese stock market data including historical prices, real-time data, news, and…

answering
Agent Marketing Index
by sadri-dridi

How to market a product to AI agents: readiness, placement, measurement, 7-day trial.

31 tools answering

TickerDB — questions

Answers built from our own checks of this server.

What can TickerDB do?
It exposes 16 tools, read directly from the server on our last check. Among them: get_account, get_changes, get_fund_holders, get_fund_holdings, get_funds, get_indexes and 10 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is TickerDB working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 171 ms. The bar chart above shows every period we have measured.
Did TickerDB ever remove tools?
Yes. add_to_watchlist, get_watchlist, get_watchlist_changes, remove_from_watchlist are no longer exposed — we recorded the date each one disappeared. A tool vanishing usually means a breaking change for anything that depended on it.
How do I connect TickerDB?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does TickerDB need an API key?
No. TickerDB completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 16 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is TickerDB?
It answers our handshake in 171 ms on average, which is faster than 79% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use TickerDB?
The npm package tickerdb-mcp was installed 79 times in the last week. Week over week that is +36%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is TickerDB open source?
The code is open source: it is published under the MIT licence, written in TypeScript, 5 stars on GitHub and 3 open issues. The licence covers the code in the repository, not the hosted service at mcp.tickerdb.com, which runs on its operator's own terms.