Skip to main content
Glama
beepboop2025

Undertow MCP

Undertow MCP | Market liquidity and exit-cost tools

Endpoint: https://api.seiche.info/undertow/mcp (streamable HTTP, no install)

Start with a question: Compare BTC exit estimates in your browser. Choose a dollar size and click to read the current published venue estimates, snapshot date and method. No account, key, wallet or client installation is needed for this example. The result is a depth-based estimate, not an executable quote. The same page provides Codex, Claude Code, Cursor and VS Code setup.

Try it live: liquilens-undertow.com/developers · API catalog: api.seiche.info/undertow

Undertow exposes estimated exit cost by position size and venue, the concentration of quoted depth, realized depth-collapse episodes, and liquidity tiers across market segments. This MCP 1.10.0 endpoint exposes 19 read-only tools, split into 11 public and 8 subscriber tools, plus 3 guided prompts. Its capability inventory is pinned to liquilens-undertow commit e472d8862f6317fe5a28ad9a33c093a22d14590a, the hosted implementation at deploy/hetzner/undertow-mcp. The stdio discovery server in undertow_mm/mcp_server.py is a separate discovery surface; it is neither this registry listing nor the public stdio adapter provided here.

Add it

Claude Code:

claude mcp add --transport http undertow https://api.seiche.info/undertow/mcp

Claude.ai / ChatGPT / Cursor: add a custom connector or MCP server with the URL above. No key and no wallet for the free surface.

This repository contains the discovery manifest, documentation and an optional anonymous stdio adapter for the hosted service. The official registry serves io.github.beepboop2025/undertow version 1.10.0.

Related MCP server: financial-trading-risk-aiops-assistant

Local stdio and container installation

The direct hosted URL above remains the simplest connection. For clients that require stdio, clone this repository at a reviewed commit and use Python 3.12+ and uv:

uv sync --locked
uv run --locked undertow-mcp

A Claude Desktop configuration can use uv as its command and ["run", "--directory", "/absolute/path/to/undertow-mcp", "--locked", "undertow-mcp"] as its arguments. The stdio adapter exposes only the 11 anonymous tools and three prompts; subscriber access uses the direct hosted URL instead.

For Docker and Glama's container build:

docker build -t undertow-mcp .
docker run --rm -i undertow-mcp

The root Dockerfile runs as an unprivileged user and starts stdio directly. No API key, bearer token, wallet, port, volume or environment setting is needed. Outbound HTTPS access to the fixed api.seiche.info endpoint is required. Redirects, environment proxies and arbitrary upstream URLs are disabled. Requests are capped at 64 KiB, responses at 2 MiB, and each upstream operation at 10 seconds including queue wait. No automatic retries or response cache can hide outages or spend a quota twice. Upstream version/catalog drift fails closed. Tool results, native isError values and rights refusals are preserved.

A Glama maintainer can configure the root Dockerfile, complete its build test, and publish a Glama release from the listing's admin page. A GitHub commit or release does not create a Glama release. This repository does not claim a grade until Glama has actually rescanned and inspected it. See Glama's release guide.

Hosted protocol compatibility

  • 2026-07-28: stateless requests use server/discover, per-request _meta, MCP-Protocol-Version, and mirrored Mcp-Method / Mcp-Name routing headers.

  • 2025-11-25, 2025-06-18, and 2025-03-26: retained legacy initialization, tools, prompts, notifications, batching, and ping behavior.

  • Discovery identifies all eleven public and eight subscriber tools. Anonymous tools/list returns only the public inventory; entitlement is checked fresh on every subscriber request.

  • resources/list and resources/templates/list return explicit empty catalogs. resources/read returns a not-found error and never invents a resource.

Example

In the snapshot generated at 2026-08-08T15:01:22Z, selling $1,000,000 of BTC at the selected $1,000,000 published size rung cost 2.386 bp on Binance and 13.623 bp on Bitfinex: about $238.60 against $1,362.30. Gemini was the dearest observed venue in that same snapshot at 25.852 bp, or about $2,585.20.

Venue rankings can change during the day, and those differences are not visible in a single consolidated price. Undertow publishes the observation time and venue inputs with the estimate.

Tools

Tool

What it serves

Surface

agent_access_status

Your current tier, daily meter, grants, and the exact route to Agent or Desk access

free

board_full

Every measure with its stress percentile or ACCRUING label, limits and analyst note

subscriber

corporate_transmission

Whether funding stress is reaching nonfinancial firms

subscriber

depth_episodes

Realized depth-collapse episodes with onset, trough, drawdown and recovery, against thresholds declared before any episode accrued

free

divergence_status

Compact comparison of corporate and household transmission regimes

subscriber

exit_cost

Per-venue sell cost in basis points at the nearest published size rung, cheapest and dearest venue with approximate dollar cost, and the venue spread

free

exit_desk_full

BTC and ETH at every published rung, plus the venue-failure withdrawal scenario

subscriber

exit_schedule

Position-sized hour-by-hour liquidation schedule beside immediate and TWAP baselines

subscriber

household_credit

Whether funding stress is reaching household balance sheets

subscriber

latest_article

The exact reviewed daily market-liquidity editorial with its evidence clock and publication authority

free

liquidity_tiers

A liquidity tier per market segment (UST, IG, HY, equities, ETF, FX, China basin, crypto) with the funding-stress overlay

free

research_network

Bounded Palimpsest and Seiche research discovery with source clocks, availability and no blended score

free

sealed_record

The sealed forward-calls record, hash-chained and signed before outcomes, misses kept

free

tide_clock

Clock-phase liquidity map and exit-cost-by-phase for BTC or ETH perpetuals

subscriber

trade_safety_exit_context

Exact-rung BTC/USD sell context with request, PIT, rights, clock and depth checks; unavailable inputs remain unavailable, never order clearance

free

unwind_stress

Full institutional unwind and forced-sale stress pack

subscriber

unwind_watch

Banded public watch over institutional unwind time and forced-sale pressure, with exact sensitive quantities withheld

free

venue_concentration

The BTC depth backbone: top venue share of aggregate depth, HHI, effective venue count, per-venue depth in USD

free

venue_price_reconciliation

A consensus mark weighted by resting depth over squared half-spread, plus the gap between the deepest venue and consensus

free

Prompts

Prompt

Guided playbook

can_this_book_exit

Compare watched-book door width, unwind horizon, margin clock, venue concentration, and realized depth collapses

exit_cost_check

Price a position-sized exit across venues and identify the observed depth limitations

market_liquidity_briefing

Read the market-level liquidity board, funding overlay, concentration, and current exit-cost evidence together

Commodity futures are intentionally absent from that table. Undertow has no licensed point-in-time depth by contract month, venue and session, so executable commodity exit cost is CANNOT_ASSESS_EXECUTABLE_EXIT_COST; open interest or daily volume is never substituted. For aggregate WTI/Henry Hub cash pressure, Cushing and benchmark structure, call Seiche's public oil_funding_context or use /oil in @seiche_desk_bot.

Limitations

  • PARTIAL is not calm. A segment reads PARTIAL when fewer than two of its measures have earned a scoring history. Four of nine segments read PARTIAL on 2026-07-30, and the board says so instead of guessing.

  • Exit costs are estimates, interpolated from published quote depth at the 1% and 2% bands. Never a book walk. The snapshot refreshes roughly hourly, so it is a snapshot and not a real-time feed.

  • Crypto measures are still accruing, so the board has not earned a crypto stress percentile and you should never quote one from it.

  • The sealed record includes misses. Calls are hash-chained and signed before their outcomes are knowable, then scored against the point-in-time board.

  • Commodity execution is a declared coverage gap. Ballast is useful upstream context from Seiche, not a depth ladder and not an Undertow exit-cost estimate.

Research and market data, not investment advice.

Subscriber tier

The Agent and Desk tiers unlock the eight subscriber tools. Send /agent to the Telegram bot to mint a bearer token:

{
  "mcpServers": {
    "undertow": {
      "url": "https://api.seiche.info/undertow/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

The token proves identity only. Entitlement is re-read from live membership on every call, so access stops when the subscription does rather than when the token expires. Subscriber tools are invisible to an anonymous tools/list, and agent_access_status tells you where you stand.

Only tools/call is metered, reported on X-MCP-Usage-Used, X-MCP-Usage-Limit and X-MCP-Usage-Remaining. GET /undertow/mcp/usage is the self-meter. Hitting a quota returns a normal JSON-RPC result carrying isError and an upgrade pointer, never a dropped connection.

About this repository

This repo is the listing: a README and the two manifests that let directories describe the server accurately. The server itself is hosted at the endpoint above; its source is deploy/hetzner/undertow-mcp in the Undertow product repository and the registry target remains hosted 1.10.0. The adapter forwards the native public schemas and results without computing market values or granting subscriber access. Its own version is 0.1.0; the upstream contract is 1.10.0.

Verification and deployment boundary

The verification workflow validates the exact 40-character releaseCommit in contract.json against the immutable source receipt in source-receipt.json. The receipt binds that commit and contract to SHA-256 digests of the hosted implementation and registry manifest without granting this public repository access to the private product repository. A maintainer creates or updates the receipt only after running the local pinned-core verifier against a clean checkout; that verifier derives the public/subscriber split, prompt inventory, protocol versions, server identity and registry manifest directly from the source and checks both artifact digests. A branch name or current product-repository HEAD is never accepted as release provenance.

A separate scheduled and manually dispatchable smoke makes anonymous, read-only calls to the listed endpoint. It initializes the legacy protocol, exercises modern discovery, checks the public tools, subscriber advertisement, prompts and explicit empty resource catalogs, then calls agent_access_status. It does not use a bearer token or exercise a subscriber tool. Run the same checks locally with:

uv run --locked python -m unittest discover -s tests -v
python3 scripts/verify_core_pin.py --receipt
python3 scripts/verify_core_pin.py --core /path/to/exact/core/checkout
python3 scripts/smoke_live_mcp.py

The source pin is a reviewed contract boundary, not an HTTP deployment receipt. Undertow's release controller records the deployed SHA and append-only receipts on the host, while the public MCP response currently reports its semantic version and capability catalog but no exact Git commit. Therefore a green live smoke proves the published behavior, not that the host runs this exact SHA. Do not repin this listing from a matching version or catalog alone; require the host's exact successful deployment receipt (or an equivalent authenticated SHA attestation) first.

Siblings from the same lab

  • Seiche: US dollar funding stress.

  • LiquiLens: bank, NBFC and lender failure risk, and whether that stress is reaching firms and households.

  • groundcheck: claim grounding and citation verification for general text.

  • Palimpsest: live internet-censorship signals.

Human front door: liquilens-undertow.com and the Telegram desk.

License

The original public integration code and documentation in this repository are MIT licensed. See NOTICE.md for scope: this grant does not cover the private Undertow service or third-party market data. Native access controls, evidence limitations and source-rights holds still apply.

Available Tools

10 tools
agent_access_statusYour access + meterA
Read-onlyIdempotent
Inspect

Where this caller stands: whether the bearer token verified, the entitlement tier behind it (checked fresh, never trusted from the token), today's tool-call meter, and how to get full access. Call this first when a subscriber tool is missing from tools/list or a call is refused.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already carry readOnlyHint=true and idempotentHint=true, and the description adds meaningful behavior beyond them: it explains that the entitlement tier is 'checked fresh, never trusted from the token' and that a tool-call meter is included. This gives an agent useful expectations about safety and freshness without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two dense sentences with no filler. It front-loads the core status information and then gives a concrete diagnostic trigger. Every clause serves a purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only diagnostic tool, the description covers the key output areas: token verification, entitlement tier, usage meter, and access escalation. The only minor ambiguity is the exact meaning of 'meter' (used calls vs. remaining allowance), but the overall picture is complete enough for an agent to call the tool appropriately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so the schema fully covers the input surface. The description therefore does not need to compensate for missing parameter documentation. This matches the baseline for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies this as a status/access tool: it reports whether the bearer token verified, the entitlement tier, today's tool-call meter, and how to gain full access. Although it lacks an explicit imperative verb like 'returns' or 'reports', the content is specific enough that an agent can determine the tool's purpose. It also implicitly stands apart from the sibling data tools such as latest_article and venue_concentration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a concrete trigger: 'Call this first when a subscriber tool is missing from tools/list or a call is refused.' This is clear contextual guidance for when to use the tool. It does not name alternatives or list when not to use it, but for a diagnostic status tool this is a solid and actionable usage cue.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

depth_episodesRealized depth collapsesA
Read-onlyIdempotent
Inspect

Realized depth-collapse episodes in BTC ±1% aggregate depth: onset, trough, drawdown fraction and recovery time for each episode that crossed the pre-registered threshold. Detection rules were declared before any episode accrued. Use when asked whether crypto liquidity has actually broken lately, as opposed to how it looks right now. The subscriber exit_desk_full carries the ETH desk beside BTC.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint=false, and idempotentHint, covering safety and world assumptions. The description adds valuable methodological transparency: detection rules were 'declared before any episode accrued' and episodes 'crossed the pre-registered threshold,' which signals that results are pre-committed rather than ad hoc. No conflict with annotations exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loads the core subject and output fields in the first sentence. The usage cue is clear and efficient. The final sentence about 'subscriber exit_desk_full' is somewhat cryptic and references a tool not present in the sibling list, slightly reducing clarity, but it does not make the description bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no parameters, the description carries the burden of explaining what the agent will receive, and it does list the key fields: onset, trough, drawdown fraction, and recovery time. It also gives the scope (BTC ±1% aggregate depth) and the intended use case. It stops short of explaining units, date ranges, or how the threshold is defined, but it is adequate for a zero-parameter historical data tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is empty with zero parameters, so there are no parameter semantics to clarify. Per the baseline for zero-parameter tools, the description doesn't need to compensate for missing parameter docs. The description instead focuses on the output fields, which is appropriate here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Realized depth-collapse episodes in BTC ±1% aggregate depth,' and enumerates the concrete outputs (onset, trough, drawdown fraction, recovery time). It clearly separates this tool from current-state liquidity views by framing it as historical 'actually broken lately' rather than 'how it looks right now.' This is specific enough to distinguish it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit trigger condition: 'Use when asked whether crypto liquidity has actually broken lately, as opposed to how it looks right now.' This tells an agent when to select it, though it does not name a specific alternative tool to use instead, relying on the contrast with current-snapshot views. The reference to exit_desk_full for the ETH desk adds scope context but is not a full when-not-to-use statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

exit_costExit cost at your size, per venueA
Read-onlyIdempotent
Inspect

What selling a position of a given USD size costs RIGHT NOW, venue by venue, from live public order books (BTC, six venues). Returns the per-venue cost in basis points at the nearest published size rung, the cheapest and dearest venue with approximate dollar cost, and the venue spread. Estimates interpolated from published quote depth — never a book walk, refreshed roughly hourly. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
size_usdNoposition size in USD (published rungs run $1,000 to $1,000,000; nearest rung is used)

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent annotations, the description discloses that values are interpolated from published quote depth, are never a book walk, and refresh only roughly hourly. It also includes a non-advice caveat, giving the agent an accurate picture of staleness and precision without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences lead with the core function, then the returned data, then the estimation methodology and disclaimer. Every sentence earns its place and no wording is redundant with the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by enumerating the key return elements (per-venue bps cost, cheapest/dearest venue, approximate dollar cost, venue spread) and the operational constraints (six BTC venues, hourly refresh, nearest rung). An agent has enough to invoke the tool and interpret its result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents size_usd and its rung behavior completely, so the description adds little parameter-level detail beyond repeating that the size is in USD. This meets the baseline for full schema coverage but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool computes: the current cost of selling a position of a given USD size, per venue, from live public order books for BTC across six venues. This clear resource-and-operation framing separates it from sibling tools such as liquidity_tiers or venue_concentration, even without naming them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the intended use evident ('what selling ... costs RIGHT NOW, venue by venue') and notes the data is refreshed roughly hourly, so an agent can decide it is appropriate for current exit-cost estimates. It does not explicitly state when not to use it or name alternatives, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

latest_articlelatest_articleA
Read-onlyIdempotent
Inspect

The exact full-text Undertow editorial published today, with its evidence clock, generation mode and passing quality receipt. This returns the canonical revision verbatim and never rewrites facts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, and the description adds useful behavioral guarantees: return the canonical revision verbatim and never rewrite facts. This goes beyond the structured hints and is consistent with them; no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences front-load the key result ('exact full-text Undertow editorial published today') and then reinforce the canonical/verbatim guarantee. There is no filler, and every clause adds substantive meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still explains what the agent will receive: full text, evidence clock, generation mode, passing quality receipt, and canonical revision. Minor gaps exist around exact formatting or availability timing, but for a zero-parameter read operation the definition is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so no parameter documentation is needed. The schema coverage baseline for zero-parameter tools is 4, and the description appropriately focuses on return behavior rather than inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific resource ('Undertow editorial published today'), a clear retrieval verb ('returns'), and precise scope ('exact full-text', 'canonical revision verbatim'). It clearly stands apart from the sibling tools, which appear to be access-status, liquidity, and exit-context tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it: when the agent needs the authoritative, unmodified full text of today's Undertow editorial, along with its evidence clock, generation mode, and quality receipt. It does not explicitly name alternatives or say when not to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

liquidity_tiersFull board: tiers + fundingA
Read-onlyIdempotent
Inspect

The Undertow board's TIER ROW: one liquidity tier per market segment (UST, IG, HY, EQUITY, ETF, FX, CN, CRYPTO, BSTOCK) plus the funding-stress overlay regime. PARTIAL means insufficient scoring history, reported honestly instead of guessed. Use for 'how liquid are markets today' at one glance, then drill into crypto with the other tools; the FULL board (every measure with its stress percentile and analyst note) is the subscriber board_full tool.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds behavioral value by disclosing that PARTIAL means insufficient scoring history and is reported honestly rather than guessed, and it clarifies the funding-stress overlay regime.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: the first defines the content, the second clarifies a data-quality convention, and the third gives usage direction and names the alternative. Information is dense but well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only tool with annotations covering idempotency and read-only behavior, the description is complete. It communicates the scope, the meaning of a status value, and how to navigate to more detailed alternatives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and the schema is empty, so the description carries no parameter burden. The baseline of 4 applies because there are no parameters to explain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource (Undertow board's TIER ROW), enumerates the market segments covered, and explains the funding-stress overlay. It also distinguishes itself from the subscriber board_full tool, so an agent can tell exactly what this tool returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to use the tool ('how liquid are markets today' at one glance) and points to board_full as the fuller alternative. It mentions drilling into crypto with 'the other tools' without naming them, which is slightly vague, but overall usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sealed_recordSealed calls record (misses kept)A
Read-onlyIdempotent
Inspect

Undertow's own sealed forward-calls record: every call hash-chained and signed BEFORE its outcome, scored against the immutable point-in-time board for its horizon date, with misses kept published. Returns the full record with outcomes and the ledger root. Use when asked whether Undertow's judgements can be trusted, and quote the misses as prominently as the hits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the description's job is to add trust-relevant behavior. It does, stating that calls are hash-chained and signed before outcomes, scored against an immutable point-in-time board, and that misses remain published. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences: definition/provenance, return value, and usage guidance. The most revealing trait ('signed BEFORE outcome') is front-loaded, and no words are wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless tool with no output schema, the description provides enough context: what the record is, why it is trustworthy, what is returned, and when to use it. Nothing essential is missing for an agent to select and call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters and schema coverage is 100%, so the description cannot add parameter-level meaning. The baseline for a parameterless tool is met, and the description instead clarifies what the returned record will contain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource (Undertow's sealed forward-calls record) and states that the tool returns the full record with outcomes and ledger root. It also differentiates itself by emphasizing provenance features—hash-chained, signed before outcome, misses kept—which no sibling description hints at.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly provides a trigger condition: 'Use when asked whether Undertow's judgements can be trusted...'. There are no named alternatives or when-not conditions, but among the listed siblings none is an obvious substitute, so the usage context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

trade_safety_exit_contextPIT-bound exact-rung paper exit contextA
Read-onlyIdempotent
Inspect

Exact-rung BTC/USD sell evidence for observe/paper Trade Safety. Binds the opaque request, source pack and reviewed rights to PIT; rechecks USD/USDT conversion, required bid bands, six venue clocks and startup SHA. Context only: no nearest rung, live mode, execution or clearance authority.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYes
sideYes
venueYes
instrumentYes
request_hashYesOpaque complete-request hash
requested_size_usdYesExact published USD rung

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnlyHint and idempotentHint annotations, the description exposes meaningful internal behavior: it binds the request to PIT and rechecks USD/USDT conversion, required bid bands, six venue clocks, and startup SHA. It also disclaims nearest-rung, live, execution, and clearance behavior. No contradiction exists between the description and the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loads the primary purpose, and each sentence earns its place: the first states what the tool returns, the second what it verifies, and the third what it explicitly does not do. The dense acronyms are acceptable given the tightly scoped domain and the absence of redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description makes the read-only, idempotent, context-only nature clear, and it enumerates the internal checks the tool performs. But there is no output schema, and the description never specifies the shape or concrete contents of the returned 'evidence.' An agent knows when to call it and what it will not do, yet lacks a clear picture of what it will receive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With only 33% schema description coverage, the description partially compensates: 'sell' maps to side, 'BTC/USD' to instrument, 'observe/paper' to mode, and 'exact-rung' to requested_size_usd. However, it does not clarify the venue null constraint or explain terms like 'source pack' and 'reviewed rights' in relation to the parameters, leaving the parameter story incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific verb and resource: it returns 'Exact-rung BTC/USD sell evidence for observe/paper Trade Safety.' The description further distinguishes the tool by explicitly saying it is 'Context only' and that it provides 'no nearest rung, live mode, execution or clearance authority,' which separates it from execution-oriented siblings like exit_cost or unwind_watch.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly identifies the intended use case: observe/paper Trade Safety. It also gives explicit exclusions, noting the tool is not for live mode, execution, or clearance authority. However, it does not name an alternative sibling to use when those exclusions apply.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

unwind_watchCan the watched books exit? (free)A
Read-onlyIdempotent
Inspect

Can a watched fund's book actually leave the building? Unwind stress for the watched 13F filers (incl. the Situational Awareness LP replay): effective position count, whole-book days-to-exit at 10% of a median day's volume (bracketed as-if median large / median small-mid name, and each count published as a band that contains it rather than as a point, because the exact count returns the basket's median dollar volume by one division), and the leverage x shock x maintenance margin grid with its three honest states (NO_CALL / CALL / EQUITY_EXHAUSTED). Default is the per-filer headline; pass cik for one filer's full free row. Display-only measure on frozen grids; 13F sees no shorts or options, so every number is a floor. Use when asked whether a fund's book could exit, or what the Aschenbrenner failure mode looks like in a current filing. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault
cikNooptional: SEC CIK of a watched filer (returns that filer's full FREE row instead of the all-filer headline)

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, and the description strengthens these by explaining that the measure is display-only on frozen grids, that 13F filings exclude shorts/options, and that all numbers are floors. It also discloses non-obvious output behavior such as reporting counts as bands rather than points and returning one of NO_CALL / CALL / EQUITY_EXHAUSTED.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense and information-rich but not especially concise or scannable. Important 'when to use' guidance appears near the end, and the parenthetical explanation about why counts are bands adds interpretive detail beyond what is needed for tool selection/invocation. The 'Not investment advice' tag is also non-essential.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description does a good job compensating by enumerating the main output components: effective position count, whole-book days-to-exit, the margin grid states, and the default versus per-filer row behavior. It also conveys the tool's limitations. A structured field-by-field output contract would make it fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage of its single optional cik parameter, including the meaning of omitting it versus passing it. The description's 'Default is the per-filer headline; pass cik for one filer's full free row' mostly restates the schema rather than adding new parameter-level semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies a specific verb and resource: it measures whether a watched 13F filer's book can exit by reporting position counts, days-to-exit bands, and a leverage/shock/maintenance-margin grid. It also explicitly ties the tool to a concrete question ('whether a fund's book could exit'), which distinguishes it from generic exit-cost or liquidity tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives an explicit use case: 'Use when asked whether a fund's book could exit, or what the Aschenbrenner failure mode looks like in a current filing.' It also notes important exclusions via 'Display-only measure on frozen grids' and '13F sees no shorts or options, so every number is a floor.' It does not name sibling tools as alternatives, so it stops just short of the top score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venue_concentrationDepth concentration todayA
Read-onlyIdempotent
Inspect

How concentrated the BTC depth backbone is today: which venue holds the largest share of ±1% aggregate depth, the HHI, the effective venue count (1/HHI), and per-venue depth in USD. Low effective venue count means an exit depends on one venue staying open. The subscriber exit_desk_full adds ETH and the venue-failure withdrawal scenario (what your exit costs if the top venue goes dark).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds useful interpretive context about what low effective venue count implies, without contradicting the annotations or introducing hidden behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences front-load the core question, immediately enumerate the output fields, define HHI inline, and add a meaningful interpretation. No filler or redundant restating of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no input schema and no output schema, the description carries the full burden of explaining what the agent will receive. It lists every major output component and the practical significance of the result, making the tool complete for correct invocation and interpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter documentation burden. The description instead focuses on the output metrics, which is appropriate. Baseline for zero-parameter tools is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a daily readout of BTC depth concentration, specifying the exact metrics: largest venue share, HHI, effective venue count, and per-venue depth in USD. It also contrasts itself with 'exit_desk_full' by noting what that alternative adds, helping an agent distinguish it from related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives context for when the readout matters ('Low effective venue count means an exit depends on one venue staying open') and explicitly mentions an alternative for ETH or venue-failure scenarios. It could more directly name which sibling tools to use instead, but the guidance is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

venue_price_reconciliationConsensus price when venues disagreeA
Read-onlyIdempotent
Inspect

What the price IS when venues disagree: the cross-venue consensus mark for BTC and ETH, weighted by resting depth over squared half-spread (NOT a median of last prices), with the BLINDNESS GAP — how far the deepest venue sits from consensus, i.e. how wrong you would be pricing off the venue you would naturally trust — plus depth concentration (CR1/HHI) and the names of any dislocated venues. Use for 'what is BTC/ETH actually worth right now', 'is an exchange dislocated', or before trusting any single venue's price. Experimental until its accrual gates pass; the payload says so. Not investment advice.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description goes further by revealing the weighting methodology, the blindness gap concept, depth concentration metrics, dislocated venue names, and the experimental status with payload notification. This is valuable behavioral context beyond any structured field.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place: definition, formula, exclusions, key outputs, use cases, experimental caveat, and disclaimer. It front-loads the core meaning and then layers supporting details without repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description enumerates the key return elements: consensus mark, blindness gap, depth concentration, dislocated venues, and experimental payload flag. For a zero-parameter tool, this provides a complete picture of what to expect and how to interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter ambiguity to resolve. The schema is empty with 100% coverage, so the description does not need to compensate for undocumented inputs. The baseline for zero-parameter tools is 4, and the description adds no conflicting or confusing parameter-related information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: computing a cross-venue consensus mark for BTC and ETH. It clearly distinguishes itself from a simple median or single-venue price by specifying the exact weighting formula and explicitly saying what it is NOT. This makes the tool's purpose unmistakable even among sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives concrete use cases: 'what is BTC/ETH actually worth right now', 'is an exchange dislocated', and 'before trusting any single venue's price'. It also warns that the tool is experimental until accrual gates pass. However, it does not explicitly name when to avoid this tool or point to a sibling alternative, though the use cases are clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updatesv0.1.0
    • First observedagent_access_status
    • First observeddepth_episodes
    • First observedexit_cost
    • First observedlatest_article
    • First observedliquidity_tiers
    • First observedsealed_record
    • First observedtrade_safety_exit_context
    • First observedunwind_watch
    • First observedvenue_concentration
    • First observedvenue_price_reconciliation

TDQS

A4.4/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have distinct research outputs, but several live in the same BTC-depth/liquidity space (depth_episodes, venue_concentration, venue_price_reconciliation, exit_cost, trade_safety_exit_context). The descriptions separate them well, though exit_cost and trade_safety_exit_context could be confused at first glance.

Naming Consistency5/5

All ten names follow a consistent lowercase snake_case noun-phrase convention, such as agent_access_status, liquidity_tiers, and venue_price_reconciliation. There is no mixing of naming styles, abbreviations, or inconsistent verb usage.

Tool Count5/5

Ten tools is a well-scoped size for a specialist liquidity and research server. Each tool addresses a distinct workflow area: access, editorial, trust, liquidity tiers, depth episodes, venue pricing, exit cost, and fund unwind stress.

Completeness4/5

The set covers the core domain well: access checks, current liquidity overview, crypto depth analysis, venue price reconciliation, exit cost, fund unwind risk, editorial content, and sealed trust evidence. Minor gaps exist, such as no article archive and no ETH-specific depth episodes outside referenced subscriber tools, but these are disclosed rather than hidden and do not block primary workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    C
    maintenance
    Enables querying real-time and historical financial market data for stocks, options, forex, and crypto, including quotes, trades, technical indicators, and reference data through a set of MCP tools.
    71
    3
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides read-only MCP tools for market snapshots, position risk, order reconciliation, and daily report previews with deterministic financial calculations, evidence chains, and audit trails.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only access to Hyperliquid's public market, user, vault, and staking data via 61 MCP tools, covering perpetuals, spot, and borrow-lend information.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides read-only Robinhood Chain market intelligence so AI agents can inspect token liquidity, simulate and compare size-aware exit pressure against observed pool depth, and explain the resulting grades with evidence and limits.
    5
    11
    MIT