Deep Values
REMOTE · APP.DEEPVALUES.AI
Value investing for US stocks: SEC filings, 13F guru holdings, intrinsic value, AI briefings.
Available components
Last scanned (22 hours ago)
Scores higher than 81% of remote servers
Reachable. Last reached 4 Nov 2026.
Category Finance and Payments
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security74
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability60
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 4537 tokens (~156/item across 29 items; 29 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage75
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 24% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 29 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 −1
- Tool “intrinsic_value” rewrote its description, which is the text the model reads security
- Tool “verdict” rewrote its description, which is the text the model reads security
- Schema quality: 122 → 156 ▼ functional
- Tool coverage: 18% → 24% ▲ functional
- New tool “as_filed” functional
- New tool “brief” functional
- 3 Nov 26 0
- Stability: 0.97 → pass security
- 2 Nov 26 +1
- Tool “guru” rewrote its description, which is the text the model reads security
- Tool “guru_moves” rewrote its description, which is the text the model reads security
- Tool “guru_portfolio” rewrote its description, which is the text the model reads security
- Tool “gurus” rewrote its description, which is the text the model reads security
- Tool “intrinsic_value” rewrote its description, which is the text the model reads security
- Tool “mirror_brief” rewrote its description, which is the text the model reads security
- Tool “smart_money_changes” rewrote its description, which is the text the model reads security
- Tool “smart_money_holdings” rewrote its description, which is the text the model reads security
- Tool “theses” rewrote its description, which is the text the model reads security
- Tool “verdict” rewrote its description, which is the text the model reads security
- 31 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.
- 25 Oct 26 +1
- The server rewrote its instructions, which are the text every model session reads security
- Tool “research” rewrote its description, which is the text the model reads security
- Schema quality: 2857 → 3298 ▼ functional
- New tool “keys_create” functional
- New tool “pricing” functional
- 23 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Probed https://app.deepvalues.ai/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=app.deepvalues.ai | CN=GeoTrust TLS RSA CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US | 27 Jun 2026 | 26 Dec 2026 | RSA 2048 | SHA256-RSA | 49ca89099290247a87548c465172f32 |
| SANs: app.deepvalues.ai | ||||||
| CN=GeoTrust TLS RSA CA G1,OU=www.digicert.com,O=DigiCert Inc,C=US (CA) | CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US | 2 Nov 2017 | 2 Nov 2027 | RSA 2048 | SHA256-RSA | d07782a133fc6f9a57296e131ffd179 |
| CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US (CA) | CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US | 1 Aug 2013 | 15 Jan 2038 | RSA 2048 | SHA256-RSA | 33af1e6a711a9a0bb2864b11d09fae5 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of app.deepvalues.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 1814, 3799 | 8, 8 | Verified |
| deepvalues.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | strict-origin-when-cross-origin |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://app.deepvalues.ai/api/mcp | Verified | 200 | |
| http (plaintext) | http://app.deepvalues.ai/api/mcp | HTTPS enforced | 307 | https://app.deepvalues.ai/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
account Account info + current quota usage ~63
Returns 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)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ai_context Drop-in AI grounding context (DIFFERENTIATED) ~111
Returns 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)
| Name | Type | Req | Description |
|---|---|---|---|
| ticker | string | yes | – |
| token_budget | integer | – | – |
No output schema declared.
No examples provided.
as_filed Point-in-time fundamentals: what was filed as of a date, before restatement ~456
Call this when the question is about what was known on a past date (a backtest, an audit, "what did the 10-K say at the time"), not about the current restated figures. Returns, for each fiscal period filed on or before `date`, the value as it stood on that date (the original filing, or a later filing for the same period if it came before `date`), the filing date, the XBRL tag, a sec.gov link, and `restated_after_date` when a later filing changed it. Values are as printed, not split-adjusted. Inputs: `ticker` (path), `date` (YYYY-MM-DD, required), `metrics` (comma-separated snake_case names, default revenues,net_income,eps_diluted,operating_cash_flow,free_cash_flow,stockholders_equity,total_debt,shares_outstanding), `period` (annual|quarterly), `limit` (periods, default 4). Example: GET /as-filed/AAPL?date=2020-02-01&metrics=revenues,net_income. If the company had filed none of it by `date`, the answer has no periods, the flag `nothing_filed_by_date` and `earliest_filed` (the first filing date on record). A 503 `as-filed-unavailable` means there is no as-filed history for the company to answer from; it is not charged, and GET /fundamentals has the current figures. 0.01 credits. (GET https://app.deepvalues.ai/api/v1/as-filed/{ticker} — 0.01 credits per call; works with no credentials up to 5 call(s)/day per address)
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | yes | The day to look back from (YYYY-MM-DD, 2009-01-01 or later, not in the future). |
| limit | integer | – | How many of the most recent periods filed by `date` to return. |
| metrics | string | – | Comma-separated metric names (snake_case), at most 20. |
| period | string | – | – |
| ticker | string | yes | – |
No output schema declared.
No examples provided.
brief One-call valuation brief: intrinsic value, margin of safety, verdict, guru holders ~348
Call this first when asked whether a listed company looks cheap or expensive, what it is worth, or which well-known investors own it: one call returns the intrinsic value per share (with each valuation method as an input), the owner-earnings value, the margin of safety against the current price, a deterministic verdict sentence about where the price sits against our value range, the top tracked 13F holders and their last move, and the company profile. Every number carries its unit, period, as-of date and a sec.gov source link, and `checks` lists the sanity checks it passed. A value built from statements filed in another currency and converted to USD carries `fx` (original currency, rate, rate date) and passes `currency_consistent`; when the currency is not known the flag `currency_unverified` says the check did not run. If the valuation fails a check (for example an intrinsic value more than 20x the price, or statements left in a currency other than the USD price), the valuation figures are withheld, `withheld` is true, `checks.failed` names the check, and the call is not charged. Input: `ticker` (path), e.g. GET /brief/KO. The first brief each UTC day is free per key and per keyless address; after that 0.30 credits. Data and analysis, not investment advice. (GET https://app.deepvalues.ai/api/v1/brief/{ticker} — 0.3 credits per call; works with no credentials up to 1 call(s)/day per address)
| Name | Type | Req | Description |
|---|---|---|---|
| ticker | string | yes | US listing symbol, e.g. KO or BRK.B. |
No output schema declared.
No examples provided.
companies_search Company search ~61
Company 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)
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| q | string | – | – |
No output schema declared.
No examples provided.
company_overview Company overview ~59
Company 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)
| Name | Type | Req | Description |
|---|---|---|---|
| ticker | string | yes | – |
No output schema declared.
No examples provided.
credits_checkout Get a Stripe Checkout URL that tops up this key’s balance ~127
Creates 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)
| Name | Type | Req | Description |
|---|---|---|---|
| pack | string | yes | Credit pack to buy, e.g. "1000". The `credits_packs` tool lists the packs on sale. |
No output schema declared.
No examples provided.
credits_packs Credit packs on sale ~58
Lists 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)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
filings SEC filings (10-K, 10-Q, 8-K, etc) ~85
SEC 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)
| Name | Type | Req | Description |
|---|---|---|---|
| form | string | – | – |
| limit | integer | – | – |
| ticker | string | yes | – |
No output schema declared.
No examples provided.
fundamentals Income + balance + cashflow ~76
Income + 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)
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| period | string | – | – |
| ticker | string | yes | – |
No output schema declared.
No examples provided.
guru One guru: bio + top holdings ~61
One guru: bio + top holdings (GET https://app.deepvalues.ai/api/v1/gurus/{slug} — 0.005 credits per call; works with no credentials up to 5 call(s)/day per address)
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | – |
No output schema declared.
No examples provided.
guru_moves Material guru moves, newest filing first, each with its verdict ~265
The 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 5 call(s)/day per address)
| Name | Type | Req | Description |
|---|---|---|---|
| filed_since | string | – | Only moves filed on or after this date. Poll with it. |
| limit | integer | – | – |
| slugs | string | – | Comma-separated guru slugs; default is every guru. |
No output schema declared.
No examples provided.
guru_portfolio One guru's full portfolio at a quarter ~73
One 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 5 call(s)/day per address)
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| slug | string | yes | – |
No output schema declared.
No examples provided.
gurus Curated guru roster ~78
60 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 5 call(s)/day per address)
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| style | string | – | – |
No output schema declared.
No examples provided.
indicators_buffett Buffett Indicator with zone classification ~85
US 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)
| Name | Type | Req | Description |
|---|---|---|---|
| history_years | integer | – | – |
No output schema declared.
No examples provided.
indicators_shiller_pe Shiller PE with historical percentile ~66
Shiller 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)
| Name | Type | Req | Description |
|---|---|---|---|
| history_years | integer | – | – |
No output schema declared.
No examples provided.
intrinsic_value DCF + Owner Earnings + Damodaran intrinsic value ~345
Per-method intrinsic value per share (DCF on free cash flow, owner earnings, Damodaran two-stage), their equal-weight blend, Monte Carlo bounds and the implied gap to the current price. The blend is checked against the price before it is served: if it fails a check (not positive, more than 20x the price, a price older than five days, no price, or `currency_consistent`: statements left in a currency other than the USD price), the valuation fields are null, `withheld` is true, `checks.failed` names the check and the call is not charged. A value under 0.05x the price is served with the flag `iv_far_below_price`. A value built from statements converted to USD carries `fx` (`from` the filer's currency, `to` USD, `rate`, `rate_date`, `rate_type`) on `values.intrinsic_value_per_share` and each method input; `currency_unverified` in `checks.flags` means the statement currency is not known for this ticker, so the check did not run. A method with no value is null in `methods`, never 0, and `methods_unavailable` says why (`code`, `family`: negative_cash_flow, financial_company, withheld or missing_inputs, and the pipeline's `reason`). For a one-call answer with holders and a verdict, use /brief/{ticker}. (GET https://app.deepvalues.ai/api/v1/intrinsic-value/{ticker} — 0.005 credits per call; works with no credentials up to 5 call(s)/day per address)
| Name | Type | Req | Description |
|---|---|---|---|
| ticker | string | yes | – |
No output schema declared.
No examples provided.
keys_create Mint an API key — no account, session or browser needed ~244
The one endpoint that needs no key. Send {} for a dv_sk_test_ sandbox key (real data, small daily quota, never billed, no /research). Send {"email":"…"} for a dv_sk_live_ key on a new prepaid account; the first key for an email carries 1 starter credit ($1.00). Send it with an existing key as the bearer to mint a sibling key on the same account (rotation). The raw key is returned once. The email is a contact label, not a credential. Limited to 10 keys per address per day. The raw key is in the result once: keep it and send it as Authorization: Bearer on REST calls (or have the host re-add this server with that header). With a key already configured, mints a sibling on the same account. (POST https://app.deepvalues.ai/api/v1/keys — free; needs no credentials)
| Name | Type | Req | Description |
|---|---|---|---|
| string | – | Contact address for a dv_sk_live_ key (1 starter credit the first time). Omit for a never-billed dv_sk_test_ sandbox key. | |
| label | string | – | Optional name for the key. |
No output schema declared.
No examples provided.
keys_me This key: exact credit balance, remaining quota, environment ~94
Returns 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)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
mirror_brief An impersonal brief on one filed move, for an agent to act on ~147
The 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 5 call(s)/day per address)
| Name | Type | Req | Description |
|---|---|---|---|
| guru | string | yes | – |
| quarter | string | – | – |
| ticker | string | yes | – |
No output schema declared.
No examples provided.
news Sentiment-scored news ~72
Sentiment-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)
| Name | Type | Req | Description |
|---|---|---|---|
| sentiment | string | – | – |
| since | string | – | – |
| ticker | string | yes | – |
No output schema declared.
No examples provided.
pricing Machine-readable price list and the ways to pay ~118
Every endpoint’s per-call price (credits, USD and atomic USDC), the free allowances, the daily quotas, and how an agent pays without a human: x402 in USDC — per call with no key, or as a prepaid top-up of a key — when it is switched on, or a Stripe Checkout link a human pays. Also served at /api/v1/pricing.json. Needs no key, costs nothing, consumes no quota. (GET https://app.deepvalues.ai/api/v1/pricing — free; needs no credentials)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
research AI multi-analyst research briefing (HEADLINE) ~141
Full briefing, bull case, bear case, valuation, investment plan and fair-value range as one structured JSON document. 3 credits ($3.00) per successful call, ai_research quota 50/day. Returns the latest completed briefing for the ticker — the same one its public company page shows; a fresh run cannot be started through the API yet (404 when none exists). Never keyless, not in the sandbox. (GET https://app.deepvalues.ai/api/v1/research/{ticker} — 3 credits per call; needs a connected account or a dv_sk_ key)
| Name | Type | Req | Description |
|---|---|---|---|
| language | string | – | – |
| ticker | string | yes | – |
No output schema declared.
No examples provided.
sentiment Value-investor sentiment rollup (not WSB noise) ~81
Value-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)
| Name | Type | Req | Description |
|---|---|---|---|
| source | string | – | – |
| ticker | string | yes | – |
| window | string | – | – |
No output schema declared.
No examples provided.
smart_money_changes Material guru moves in a time window ~205
All 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 5 call(s)/day per address)
| Name | Type | Req | Description |
|---|---|---|---|
| filed_since | string | – | Only rows that reached us on or after this date (each row carries filed_at). Use it to poll for genuinely new 13F filings; `since` alone cannot tell a filing from this week from one made months ago i… |
| min_position_usd | number | – | – |
| since | string | yes | ISO date OR YYYY-QN format. Filters on the QUARTER a position belongs to (quarter_end), not on when it was filed. |
| status | string | – | – |
No output schema declared.
No examples provided.
smart_money_holdings Which curated gurus hold this ticker ~127
Returns 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 5 call(s)/day per address)
| Name | Type | Req | Description |
|---|---|---|---|
| quarter_end | string | – | ISO date; default = latest available |
| ticker | string | yes | – |
No output schema declared.
No examples provided.
theses Structured human investment theses ~102
Public 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 5 call(s)/day per address)
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| min_conviction | integer | – | – |
| sentiment | string | – | – |
| ticker | string | – | – |
No output schema declared.
No examples provided.
verdict The verdict line for one filed move ~508
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. Before the band is published its mid is checked against the current price (positive, at most 20x the price, a price under five days old; under 0.05x is served with the flag `iv_far_below_price`) and for currency (`currency_consistent`: the statements behind it are in USD, the price's currency, or were converted to USD; a converted band carries `fx` on `values.value_band_mid` naming the original currency and rate; when the currency is not known the answer carries the flag `currency_unverified` instead); on a failure `value` and `estimates` are null, the verdict reads `no_value`, `withheld` is true, `checks.failed` names the check, and the call is not charged. (GET https://app.deepvalues.ai/api/v1/verdict/{ticker} — 0.005 credits per call; works with no credentials up…
| Name | Type | Req | Description |
|---|---|---|---|
| guru | string | yes | – |
| quarter | string | – | Quarter end; default = the most recent quarter we hold. |
| ticker | string | yes | – |
No output schema declared.
No examples provided.
webhooks_list List webhook subscriptions ~39
List webhook subscriptions (GET https://app.deepvalues.ai/api/v1/webhooks — free; needs a connected account or a dv_sk_ key)
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
How do I install the Deep Values MCP server?
Deep Values is a hosted endpoint at https://app.deepvalues.ai/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · app.deepvalues.ai
claude mcp add --transport http ai-deepvalues-deepvalues 'https://app.deepvalues.ai/api/mcp'
What is the Deep Values MCP server?
Deep Values is an MCP server listed in the public MCP registry as ai.deepvalues/deepvalues. Value investing for US stocks: SEC filings, 13F guru holdings, intrinsic value, AI briefings. This page covers its hosted endpoint (https://app.deepvalues.ai/api/mcp).
Is the Deep Values MCP server safe to use?
Deep Values scores 80 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Deep Values MCP server expose?
Deep Values exposes 29 tools: keys_create, keys_me, credits_packs, credits_checkout, pricing, and 24 more. Their descriptions and schemas cost roughly 4,295 tokens of context every time the server is loaded.
Does the Deep Values MCP server require authentication?
No. We connected to Deep Values without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Deep Values MCP server still maintained?
Deep Values is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.