{"apiVersion":"v1","directorySlug":"thetape-mcp-daa606c5b4","title":"thetape","description":"Financial data for AI agents: US stock bars & quotes, insider trades, point-in-time macro. Your agent connects, shops and claims its own key — you only tap Pay.","pageUrl":"https://www.mcpbundles.com/skills/thetape-mcp-daa606c5b4","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://thetape.dev/mcp","hostedMcpUrl":null,"toolCount":23,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"dev.thetape/thetape-mcp-daa606c5b4","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"get_daily_bars","description":"Daily OHLCV bars for a US stock. Dates YYYY-MM-DD; adjusted=true returns split/dividend-adjusted prices. Cached locally; meta.last_synced_date shows freshness. Not investment advice. Keeps the most recent `limit` rows (default 100), returned oldest-to-newest. Without `start`, the window is the last 365 calendar days (~252 bars); pass `start` for deeper history.","inputSchema":{"type":"object","required":["symbol"],"properties":{"end":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"limit":{"type":"integer","default":100},"start":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"symbol":{"type":"string"},"adjusted":{"type":"boolean","default":true}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_daily_bars","displayName":"get_daily_bars","title":"get_daily_bars"},{"name":"get_quote","description":"Latest quote for a US stock (cached up to 60s during market hours, 15min after close; see data.fetched_at). Not investment advice.","inputSchema":{"type":"object","required":["symbol"],"properties":{"symbol":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_quote","displayName":"get_quote","title":"get_quote"},{"name":"list_symbols","description":"List locally tracked symbols and their sync state.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_symbols","displayName":"list_symbols","title":"list_symbols"},{"name":"get_insider_transactions","description":"SEC Form 4 insider transactions for a US stock (officers, directors, 10% owners). codes P,S are open-market buys/sells — the signal; A/M/F/G are grants/exercises/withholding/gifts (compensation mechanics). Data lags trades by up to 2 business days; superseded amendments are excluded. Dates YYYY-MM-DD; default window 180 days. Rows may come from a predecessor CIK after a holding-company reorganisation (listed under Predecessor CIKs in /llms.txt). Not investment advice. Most recent `limit` rows (d","inputSchema":{"type":"object","required":["symbol"],"properties":{"end":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"codes":{"type":"string","default":"P,S"},"limit":{"type":"integer","default":50},"start":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"symbol":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_insider_transactions","displayName":"get_insider_transactions","title":"get_insider_transactions"},{"name":"get_macro_series","description":"FRED macro series by ID (e.g. GDP, CPIAUCSL, UNRATE, DGS10). By default values are the latest published vintage (revisions applied); pass as_of=YYYY-MM-DD for the point-in-time view — the values as published on that date, e.g. for backtests (revisions after that date are excluded; the first as_of use on a series downloads its full revision history; vintage records only reach back as far as ALFRED's archive, so earlier as_of dates return empty data). null = missing/market holiday. Cached locally;","inputSchema":{"type":"object","required":["series_id"],"properties":{"end":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"limit":{"type":"integer","default":120},"start":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"series_id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_macro_series","displayName":"get_macro_series","title":"get_macro_series"},{"name":"search_macro_series","description":"Find FRED economic series ids by keyword — answers 'is <topic> available?' (e.g. 'manufacturing orders' -> AMTMNO). Use the returned series_id with get_macro_series.","inputSchema":{"type":"object","required":["query"],"properties":{"limit":{"type":"integer","default":20},"query":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_macro_series","displayName":"search_macro_series","title":"search_macro_series"},{"name":"search_symbols","description":"Find US-listed tickers by company name or partial symbol. Use the returned symbol with get_daily_bars / get_quote.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_symbols","displayName":"search_symbols","title":"search_symbols"},{"name":"get_fundamentals","description":"Normalized financial statements from 10-K/10-Q filings: statement is income|balance|cash_flow|earnings; period is annual|quarterly. Field names are the upstream provider's (e.g. totalRevenue, netIncome). Not as-filed XBRL (for point-in-time as-filed facts use get_xbrl_filings / get_xbrl_facts). Not investment advice.","inputSchema":{"type":"object","required":["symbol"],"properties":{"limit":{"type":"integer","default":20},"period":{"type":"string","default":"annual"},"symbol":{"type":"string"},"statement":{"type":"string","default":"income"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_fundamentals","displayName":"get_fundamentals","title":"get_fundamentals"},{"name":"get_company","description":"Company information: name, sector, industry, description, market cap, PE, dividend and more.","inputSchema":{"type":"object","required":["symbol"],"properties":{"symbol":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_company","displayName":"get_company","title":"get_company"},{"name":"get_filings","description":"Every recent SEC filing for a company: form, dates, accession and a direct sec.gov document_url — the full text lives on sec.gov, one click away. meta.cik is the CIK SEC currently maps the ticker to; rows may come from a predecessor CIK (listed under Predecessor CIKs in /llms.txt) and document_url uses the filing's own CIK.","inputSchema":{"type":"object","required":["symbol"],"properties":{"forms":{"type":"string","default":"10-K,10-Q,8-K"},"symbol":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_filings","displayName":"get_filings","title":"get_filings"},{"name":"get_xbrl_filings","description":"As-filed SEC 10-K/10-Q filings with filed <= as_of, newest first - the point-in-time filing list (never a later filing, never restated). Each row carries accession, form, filed (the SEC filing date), fy/fp (fiscal period of the filing) and period_end - the fiscal period end from EDGAR submissions (period_end_source 'submissions'), else the most frequent fact end ('facts_mode'), else null ('none'). forms defaults to 10-K,10-Q (amendments 10-K/A,10-Q/A are opt-in). Read the facts of one accession","inputSchema":{"type":"object","required":["symbol"],"properties":{"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"forms":{"type":"string","default":"10-K,10-Q"},"limit":{"type":"integer","default":8},"symbol":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_xbrl_filings","displayName":"get_xbrl_filings","title":"get_xbrl_filings"},{"name":"get_xbrl_facts","description":"Raw XBRL facts of ONE filing (accession from /v1/xbrl/{symbol}/filings), exactly as filed: taxonomy (us-gaap or dei), concept, unit, period_start (null for instant facts), period_end, val. A filing also carries prior-period comparatives, so select the fact whose period_end equals the filing's period_end (meta.filing) and, for duration facts, the matching duration - do NOT take the first fact of a concept. Optional filters: concepts (comma list, max 100), taxonomy, unit; as_of refuses a filing ma","inputSchema":{"type":"object","required":["symbol","accession"],"properties":{"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"symbol":{"type":"string"},"concepts":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"accession":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_xbrl_facts","displayName":"get_xbrl_facts","title":"get_xbrl_facts"},{"name":"get_narrative_filings","description":"As-filed SEC 10-K/10-Q filings with filed <= as_of (default today), newest first, each with the extraction status of its two narrative sections (risk_factors, mda): ok, pending (not extracted yet), not_found, too_short, no_end_marker, too_long, too_large or incorporated_by_reference. No text here: fetch it with /v1/narrative/{symbol}/{accession}. start (optional) bounds the filed date from below; forms defaults to 10-K,10-Q and also accepts 10-K/A, 10-Q/A; limit up to 100 (a 10-year history need","inputSchema":{"type":"object","required":["symbol"],"properties":{"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"forms":{"type":"string","default":"10-K,10-Q"},"limit":{"type":"integer","default":8},"start":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"symbol":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_narrative_filings","displayName":"get_narrative_filings","title":"get_narrative_filings"},{"name":"get_narrative_section","description":"Verbatim Risk Factors and/or MD&A text of one filing (section=risk_factors|mda|both, default both), extracted on first read and stored; later reads never touch the SEC. A section that could not be extracted is returned with its status and text null (not an error): not_found (no heading, or table of contents only), too_short (a one-paragraph erratum or 'not required'), no_end_marker, too_long, too_large, incorporated_by_reference. extractor_version identifies the rules that produced the text and","inputSchema":{"type":"object","required":["symbol","accession"],"properties":{"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"offset":{"type":"integer","default":0},"symbol":{"type":"string"},"section":{"type":"string","default":"both"},"accession":{"type":"string"},"max_chars":{"type":"integer","default":60000},"extractor_version":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_narrative_section","displayName":"get_narrative_section","title":"get_narrative_section"},{"name":"get_macro_catalog","description":"Curated macro catalog: the core economic series with friendly aliases (VolatilityIndex, RealGDP, ...). Aliases work in place of series_ids in get_macro_series.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_macro_catalog","displayName":"get_macro_catalog","title":"get_macro_catalog"},{"name":"get_fomc_calendar","description":"FOMC (Federal Open Market Committee) meeting schedule — past AND future scheduled meetings, since the Fed publishes roughly a year ahead. Each row has start/end dates, whether it is a Summary of Economic Projections (SEP) meeting, and a note for irregular entries (e.g. 'notation vote'). Pass after=YYYY-MM-DD to keep only meetings ending on or after that date — the first row of that list is the next scheduled meeting. Rows are date ascending. Scraped read-through from federalreserve.gov and cache","inputSchema":{"type":"object","properties":{"after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_fomc_calendar","displayName":"get_fomc_calendar","title":"get_fomc_calendar"},{"name":"get_news","description":"News articles mentioning a US stock, with upstream sentiment: each article carries published_at (UTC), title, summary, source, url, topics, an overall sentiment score/label, and a per-ticker ticker_sentiment[] (relevance_score and sentiment_score for every ticker the article mentions). Window is inclusive calendar days in UTC (start/end YYYY-MM-DD, at most 100 days); nothing published after end 23:59:59Z is ever returned, so historical windows are safe for backtests. Rows are published_at ascend","inputSchema":{"type":"object","required":["symbol"],"properties":{"end":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"limit":{"type":"integer","default":100},"start":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"symbol":{"type":"string"},"min_relevance":{"type":"number","default":0.0}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_news","displayName":"get_news","title":"get_news"},{"name":"get_attention","description":"Daily human pageviews of the company's English Wikipedia article - a retail-attention proxy (magnitude only: no sign, no sentiment). One row per UTC calendar day; `views` is null for days Wikimedia has not published yet (day D lands during D+1, so the newest day or two are usually null), for the newest days of a very low-traffic article (Wikimedia omits zero-view days, so a trailing zero is indistinguishable from unpublished until a later day arrives), or before the article existed. Windows are","inputSchema":{"type":"object","required":["symbol"],"properties":{"end":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"start":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null},"symbol":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_attention","displayName":"get_attention","title":"get_attention"},{"name":"get_plans","description":"Plan catalog: subscription tiers (incl. the $0 free plan) and the instant free-key path when it's enabled (get_plans' free_key field is null when it's off — claim free via start_checkout(\"free\") instead). Call this first when you have no key.","inputSchema":{"type":"object","properties":{}},"logicalName":"get_plans","displayName":"get_plans","title":"get_plans","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"start_checkout","description":"Start a Stripe checkout for a plan from the catalog (annual=true picks the discounted yearly price where get_plans shows annual_amount_cents). Returns {url, session_id}: give url to your human (paying is the only human step), then call claim_key(session_id).","inputSchema":{"type":"object","required":["plan"],"properties":{"plan":{"type":"string"},"annual":{"type":"boolean","default":false},"auto_reload":{"type":"boolean","default":false}}},"logicalName":"start_checkout","displayName":"start_checkout","title":"start_checkout","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"claim_key","description":"One-time: exchange a paid checkout session_id for the API key. The key is returned ONCE — store it, then reconnect with 'Authorization: Bearer <key>'.","inputSchema":{"type":"object","required":["session_id"],"properties":{"session_id":{"type":"string"}}},"logicalName":"claim_key","displayName":"claim_key","title":"claim_key","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"request_free_key","description":"Instant FREE key (250 requests/day) — no checkout, no human step, WHEN this path is enabled (check get_plans().free_key first; a 403 here means it's off — use start_checkout(\"free\") + claim_key instead, which needs one human payment tap even at $0). Pass your USER'S email (ask them; it is the free-plan identity — the same email they'd use on this service; never invent one). ONE free plan per email, ever, across all signup paths — a second request 409s; do not retry, pick a paid plan.","inputSchema":{"type":"object","required":["email"],"properties":{"email":{"type":"string"}}},"logicalName":"request_free_key","displayName":"request_free_key","title":"request_free_key","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_account","description":"Your key's plan and quota state (requires the Bearer key).","inputSchema":{"type":"object","properties":{}},"logicalName":"get_account","displayName":"get_account","title":"get_account","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=thetape&config=eyJ1cmwiOiAiaHR0cHM6Ly90aGV0YXBlLmRldi9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22thetape%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fthetape.dev%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22thetape%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fthetape.dev%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=thetape&connectorUrl=https%3A%2F%2Fthetape.dev%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"thetape\" --url \"https://thetape.dev/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/thetape-mcp-daa606c5b4","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/thetape-mcp-daa606c5b4/tools/{tool}","mcpServerUrl":"https://thetape.dev/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/thetape-mcp-daa606c5b4?live=1"}