protogrid

Search / ai.deepvalues/deepvalues

Deep Values

R0· no sign-in

Value investing for US stocks: SEC filings, 13F guru holdings, intrinsic value, AI briefings.

v1.1.1 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality94strong
Trust83of 100
Uptime, 30 days100%
Latency p50543 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "deepvalues": {
      "type": "http",
      "url": "https://app.deepvalues.ai/api/mcp"
    }
  }
}
claude mcp add --transport http deepvalues https://app.deepvalues.ai/api/mcp
[mcp_servers.deepvalues]
url = "https://app.deepvalues.ai/api/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "deepvalues": {
      "type": "remote",
      "url": "https://app.deepvalues.ai/api/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "deepvalues": {
      "type": "http",
      "url": "https://app.deepvalues.ai/api/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=deepvalues&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBwLmRlZXB2YWx1ZXMuYWkvYXBpL21jcCJ9"
}
{
  "servers": {
    "deepvalues": {
      "type": "http",
      "url": "https://app.deepvalues.ai/api/mcp"
    }
  }
}
{
  "mcpServers": {
    "deepvalues": {
      "httpUrl": "https://app.deepvalues.ai/api/mcp"
    }
  }
}
extensions:
  "deepvalues":
    enabled: true
    name: "deepvalues"
    type: streamable_http
    uri: "https://app.deepvalues.ai/api/mcp"
    timeout: 300

Quality 94 / 100strong

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 300000)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length1 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations25 of 25 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints1 of 25 tools declare all four hints; missing: webhooks_list (destructiveHint, idempotentHint); verdict (destructiveHint, idempotentHint); gurus (destructiveHint, idempotentHint); …
  • pass
    tools.token_costabout 3,826 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes1 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

25 tools, about 3,826 tokens to load them all · tool set d13d6166fcce · tools last changed 2026-10-09 · checked 2026-10-19 10:52 UTC

Tool changes

  • verdictchangeddescription
    before

    One guru's disclosed move in one ticker, with the sentence Deep Values publishes about it and every number behind it: the company's legal name beside the ticker (`name`, null where we hold none), the three dates (traded by, filed, seen), the quarter-end close, the current price, and the intrinsic value band. `value` is the callable band (the blend ±25%) and is null whenever the verdict is not a call; `estimates` always carries what the valuation methods actually said, their lowest and highest central estimate, so a reader told we cannot call it can see why. One of six deterministic states — below_value, inside_band, above_value, ran_ahead, too_uncertain, no_value — computed the same way for every caller. The band is Deep Values' blended intrinsic value plus or minus 25%, and `too_uncertain` ("Our estimates disagree too much to call this one.") replaces the three band states when the methods' own central estimates are more than 3x apart, or one of them is not positive: the blend still exists and is still returned in `value`, but it is not a range anyone should be told a price sits inside. It is distinct from `no_value`, which means no valuation was computed at all. (GET https://app.deepvalues.ai/api/v1/verdict/{ticker} — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address)

    after · 97% of words in common

    One guru's disclosed move in one ticker, with the sentence Deep Values publishes about it and every number behind it: the company's legal name beside the ticker (`name`, null where we hold none), the three dates (traded by, filed, seen), the quarter-end close, the current price, and the intrinsic value band. `value` is the callable band (the blend ±25%) and is null whenever the verdict is not a call; `estimates` always carries what the valuation methods actually said, their lowest and highest central estimate, so a reader told we cannot call it can see why. One of six deterministic states — below_value, inside_band, above_value, ran_ahead, too_uncertain, no_value — computed the same way for every caller. The band is Deep Values' blended intrinsic value plus or minus 25%, and `too_uncertain` ("Our estimates disagree too much to call this one.") replaces the three band states when the methods' own central estimates are more than 3x apart, or one of them is not positive: the blend still exists, but `value` is null because it is not a range anyone should be told a price sits inside; `estimates` shows how far apart the methods are. It is distinct from `no_value`, which means no valuation was computed at all. (GET https://app.deepvalues.ai/api/v1/verdict/{ticker} — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address)

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-15d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://app.deepvalues.ai/api/mcp streamable-httpnoneyes100%543 ms2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-052026-10-19

Tools (25)

accountread-onlyReturns the calling key, its scopes, environment, and today's usage across all 3 buckets. Self-billing: counts as 1 metadata call. (GET https://app.deepvalues.ai/api/v1/account — free; needs a connected account or a dv_sk_ key)
ai_contextread-onlyReturns a system prompt + structured context block, scoped to one ticker. Drop it into OpenAI/Anthropic/any LLM SDK to ground your chatbot in current Deep Values data without months of plumbing. Bills 3 metadata units. (GET https://app.deepvalues.ai/api/v1/ai-context/{ticker} — 0.005 credits per call; works with no credentials up to 1 call(s)/day per address)
companies_searchread-onlyCompany search (GET https://app.deepvalues.ai/api/v1/companies — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address)
company_overviewread-onlyCompany overview (GET https://app.deepvalues.ai/api/v1/companies/{ticker}/overview — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address)
credits_checkoutCreates a one-time Stripe Checkout Session for a credit pack, bound to the calling live key’s account. When the payment completes the credits land on that balance; poll GET /keys/me. This is what a 402 `topUp.checkoutEndpoint` points at. Free, consumes no quota. (POST https://app.deepvalues.ai/api/v1/credits/checkout — free; needs a connected account or a dv_sk_ key)
credits_packsread-onlyLists the prepaid credit packs this key can buy (1 credit = $1.00). Free. (GET https://app.deepvalues.ai/api/v1/credits/checkout — free; needs a connected account or a dv_sk_ key)
filingsread-onlySEC filings (10-K, 10-Q, 8-K, etc) (GET https://app.deepvalues.ai/api/v1/filings/{ticker} — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address)
fundamentalsread-onlyIncome + balance + cashflow (GET https://app.deepvalues.ai/api/v1/fundamentals/{ticker} — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address)
gururead-onlyOne guru: bio + top holdings (GET https://app.deepvalues.ai/api/v1/gurus/{slug} — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address)
guru_movesread-onlyThe Follow the Pros feed. Every material 13F move — new position, full exit, a share count that moved by 25%, or a position of $100M or more — ordered by the date the filing became public, with a deterministic verdict line on each row. The verdict is identical for every caller: it compares the price when the investor traded, the price now and Deep Values' intrinsic value band, and it never predicts a return or recommends an action. Every row carries the company's legal name beside the ticker (`name`, e.g. "Occidental Petroleum"), or null where we hold none — null rather than the ticker echoed back, so a caller can tell a real name from a placeholder. Rows whose EDGAR filing date we do not yet hold fall back to when the row reached us and say so with filed_at_known: false. (GET https://app.deepvalues.ai/api/v1/gurus/moves — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address)
guru_portfolioread-onlyOne guru's full portfolio at a quarter (GET https://app.deepvalues.ai/api/v1/gurus/{slug}/portfolio — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address)
gurusread-only60 hand-picked institutional investors — every name a serious value investor would recognize. Filter by style. (GET https://app.deepvalues.ai/api/v1/gurus — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address)
indicators_buffettread-onlyUS corporate equities ÷ GDP, with zones (significantly undervalued through significantly overvalued) and historical percentile. (GET https://app.deepvalues.ai/api/v1/indicators/buffett — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address)
indicators_shiller_peread-onlyShiller PE with historical percentile (GET https://app.deepvalues.ai/api/v1/indicators/shiller-pe — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address)
intrinsic_valueread-onlyDCF + Owner Earnings + Damodaran intrinsic value (GET https://app.deepvalues.ai/api/v1/intrinsic-value/{ticker} — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address)
keys_meread-onlyReturns the calling key, the exact balance of the ledger behind it (balanceMicro: integer micro-credits, 1 credit = $1.00 = 1,000,000), what is left in each daily quota bucket, and the environment. Free, and consumes no quota. (GET https://app.deepvalues.ai/api/v1/keys/me — free; needs a connected account or a dv_sk_ key)
mirror_briefread-onlyThe same move as /verdict, flattened into a brief: what the investor did, when, at what price, against our value band, plus the verdict sentence. It carries NO quantity and NO instruction — `sizing` reads "not provided; the reader decides". It describes a public filing and a published value range; it is not advice and not a prediction. (GET https://app.deepvalues.ai/api/v1/mirror-brief/{ticker} — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address)
newsread-onlySentiment-scored news (GET https://app.deepvalues.ai/api/v1/news/{ticker} — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address)
researchread-onlyThe differentiated endpoint: full briefing, bull case, bear case, valuation, investment plan, fair-value range. Bills against your ai_research quota (50/day at $99/mo, $0.10 overage). Currently returns cached results only; fresh-trigger via API arriving next release. (GET https://app.deepvalues.ai/api/v1/research/{ticker} — 3 credits per call; needs a connected account or a dv_sk_ key)
sentimentread-onlyValue-investor sentiment rollup (not WSB noise) (GET https://app.deepvalues.ai/api/v1/sentiment/{ticker} — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address)
smart_money_changesread-onlyAll 13F position changes meeting the materiality threshold (new positions, full exits, ≥25% share-count shifts, OR ≥$100M position size) across our entire 60-guru roster, in the requested window. (GET https://app.deepvalues.ai/api/v1/smart-money/changes — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address)
smart_money_holdingsread-onlyReturns every guru from our 60-name roster who held the requested ticker as of the latest 13F-HR quarter (or a specific historical quarter). Each row includes shares, USD value, % of portfolio, and the auto-classified delta vs the prior quarter. (GET https://app.deepvalues.ai/api/v1/smart-money/holdings — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address)
thesesread-onlyPublic investment theses with structured metadata — sentiment, conviction, price target, anchored DVI run. Filter by ticker, conviction, or sentiment. (GET https://app.deepvalues.ai/api/v1/theses — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address)
verdictread-onlyOne guru's disclosed move in one ticker, with the sentence Deep Values publishes about it and every number behind it: the company's legal name beside the ticker (`name`, null where we hold none), the three dates (traded by, filed, seen), the quarter-end close, the current price, and the intrinsic value band. `value` is the callable band (the blend ±25%) and is null whenever the verdict is not a call; `estimates` always carries what the valuation methods actually said, their lowest and highest central estimate, so a reader told we cannot call it can see why. One of six deterministic states — below_value, inside_band, above_value, ran_ahead, too_uncertain, no_value — computed the same way for every caller. The band is Deep Values' blended intrinsic value plus or minus 25%, and `too_uncertain` ("Our estimates disagree too much to call this one.") replaces the three band states when the methods' own central estimates are more than 3x apart, or one of them is not positive: the blend still exists, but `value` is null because it is not a range anyone should be told a price sits inside; `estimates` shows how far apart the methods are. It is distinct from `no_value`, which means no valuation was computed at all. (GET https://app.deepvalues.ai/api/v1/verdict/{ticker} — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address)
webhooks_listread-onlyList webhook subscriptions (GET https://app.deepvalues.ai/api/v1/webhooks — free; needs a connected account or a dv_sk_ key)

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "ai.deepvalues/deepvalues",
  "title": "Deep Values",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://app.deepvalues.ai/api/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.1.1",
  "websiteUrl": "https://app.deepvalues.ai/developers",
  "description": "Value investing for US stocks: SEC filings, 13F guru holdings, intrinsic value, AI briefings."
}