Search DevTools

Jump to any tool or page

boothcheck

What a stock price is betting on: implied growth, duration, and margin, read from SEC filings.

Keenan-ux0 stars0 forksDeveloper Tools
View source

Install

mcp_config.json

{
  "mcpServers": {
    "com-boothcheck-boothcheck": {
      "url": "https://boothcheck.com/api/mcp",
      "type": "streamable-http"
    }
  }
}

Documentation

boothcheck MCP server

Ask any AI assistant what a stock's price is actually betting on.

boothcheck inverts a US stock's market price into the bet it implies: the operating-income growth rate, the years it must be sustained, and the operating margin the price assumes, measured against what the company has actually delivered. Every number traces to SEC EDGAR filings through a reverse-DCF read (expectations investing). It never returns a fair value, a price target, or a buy/sell rating. It shows the bet, so you can judge it.

This MCP server exposes that decomposition for about 2,000 US tickers, plus Boothcheck's public strategy-and-signal research record. Read-only. Six tools work with no account at all; the rest come with a boothcheck plan.

Strategy vocabulary

Boothcheck uses these terms narrowly:

  • A strategy is a frozen, rule-based selection and execution system with published evidence and governance. get_strategies is the canonical source for the current validated strategy record.
  • A signal is a measured event family or research observation. It may be too rare, too small, too stale, too cost-sensitive, or otherwise unsuitable to run as a strategy.
  • A theoretical detection is a live event selected by a strategy or signal. It is not a recommendation.
  • Expectations investing is the analytical framework behind Boothcheck's price inversion; it is not itself a named Boothcheck strategy.
  • most_stretched is an implied-expectations screen. It is not a strategy, signal, or strategy-selection feed.

The Strategies page and get_strategies response are the live source of truth because evidence, governance status, and detections can change.

Connect

The setup walkthrough, with one-click installers for Cursor and VS Code, lives at https://boothcheck.com/connect. It covers everything below and fills in the URL for you.

There are two endpoints, and they are not interchangeable.

EndpointAuthWhat you get
https://boothcheck.com/api/mcpnone, or Authorization: Bearer bck_...Keyless: the six free tools. With an API key: everything on that plan.
https://boothcheck.com/api/mcp-authOAuth 2.1Sign in through the browser once. Everything on your plan, tokens refresh themselves.

A keyless client pointed at /api/mcp-auth gets a 401, so pick the one that matches how you want to authenticate.

Claude and Claude Desktop. Settings, then Connectors, then Add custom connector. Paste an endpoint. For the OAuth one, choose Connect and approve the read-only permission. Then switch boothcheck on under Search and tools in a conversation.

ChatGPT. Settings, then Apps and Connectors, then Advanced, and turn on developer mode. Create a new connector with the endpoint. The server ships an Apps SDK widget, so results render as an inline priced-in card.

Claude Code

claude mcp add --transport http boothcheck https://boothcheck.com/api/mcp-auth

Any MCP client (JSON config)

A config-file client cannot run the OAuth browser step, so use the keyless endpoint and attach an API key. Create one in account settings; keys are shown once and stored hashed.

{
  "mcpServers": {
    "boothcheck": {
      "type": "http",
      "url": "https://boothcheck.com/api/mcp",
      "headers": { "Authorization": "Bearer bck_YOUR_KEY" }
    }
  }
}

Tools

Free and keyless. No account, nothing to approve.

ToolWhat it does
whats_priced_inInvert one ticker's price into implied growth, duration, and margin, against what the company earns today.
most_stretchedRank stocks by how much growth is already baked into their price.
compare_priced_inSide by side of the assumptions embedded in two prices.
get_strategiesThe validated strategy and governance record, theoretical detections, measured signal families, filing notice boards, and failed-research graveyard.
list_coverageThe coverage inventory: every ticker with a live record and its resolution level.
get_report_summaryBullet takeaways of a boothcheck research report. Public reports keyless; the full library needs a Research key.

With a free API key

ToolWhat it does
search_filingsSemantic vector search inside one company's latest annual or quarterly filing, identical to the live stock-page search, with a clearly labeled SEC full-text fallback.
discover_filingsCross-universe semantic search across companies' latest indexed annual filings, identical to Discover across filings on the Research page.
list_filingsA company's SEC filing inventory, filterable by form and year, with accession numbers and primary-document links.
get_guidance_ledgerManagement guidance behavior from 8-K filings: lifetime counts of raises, cuts, initiations, withdrawals, and reaffirmations. A Research key adds the per-year history and the scored delivery record.

With a Research plan

ToolWhat it does
get_reportFull narrative report sections: valuation, bull case, bear case, takeaways, catalysts.
get_iee_recordThe full structured price inversion: solved variables, held parameters, discount basis, sensitivity, plausibility panel.
get_segmentsClean reportable-segment snapshots from the latest 10-K segment note.
get_peer_cohortThe peer cohorts we compare a company against, per segment, with how each was matched. Cohort multiple medians are not served; they are computed inside the engine per valuation line, not stored as standalone facts.
get_risk_factor_deltasRisk factors added to the latest 10-K versus the prior year, as verbatim Item 1A headings.
get_insider_signalsThe current insider register from Forms 3/4/5: officers and directors, their current reported stakes, and lifetime filing counts. Current facts only, no performance claims.
get_holdersThe current 13F institutional holders register: fund families, concentration, positions opened and closed.

With an Analyst/API plan

ToolWhat it does
analyst_deskOne standardized table across 2 to 25 companies plus a deterministic research brief naming the largest differences. No model runs, no ranking, no fair value.

The same data is served as plain REST at https://boothcheck.com/api/v1, with an OpenAPI 3.1 spec at https://boothcheck.com/api/v1/openapi.json generated from the same registry that runs the endpoints. Docs: https://boothcheck.com/developers

Example prompts once connected:

  • "What is NVDA's price betting on?"
  • "Which stocks are priced for the most right now?"
  • "Compare what AMD and NVDA prices each assume."
  • "What are Boothcheck's validated strategies, measured signals, and current theoretical detections?"
  • "What does AAPL's latest annual filing say about China demand?"

What you get back

Plain-language reads like:

NVIDIA Corp (NVDA), as of 2026-06-28: At today's price, NVDA is priced for growth of +30.8% sustained for about 5.6 years. The more the price assumes beyond what the company has delivered, the more has to go right to justify it.

plus structured fields (impliedGrowthPct, impliedDurationYears, impliedMarginPct, currentMarginPct, characterization) and a link to the full report with the bull case, bear case, and valuation X-ray.

A price does not always resolve to a single number. Where the engine cannot solve one defensibly it says so in words rather than returning a point, and those reads are labelled as bounds, not estimates.

Rules of the road

  • No fair values, no price targets, no ratings. Describe output as "what the price implies," not as a recommendation.
  • For informational and research purposes only. Not investment advice. boothcheck is not a registered investment adviser.
  • Data is precomputed from SEC EDGAR filings and refreshed on boothcheck's regen cadence; each response carries its as-of date.
  • Coverage is roughly 2,000 US tickers and grows filing by filing. Some tools cover fewer names than others. When a tool returns nothing for a ticker, that is the answer, not an error to retry.

Registry

Published in the Official MCP Registry as com.boothcheck/boothcheck (see server.json). Aggregators like PulseMCP ingest from there. The listed remote is the keyless endpoint, so a registry install works with no account.

Links

Sourced from the repository README.

More in Developer Tools