Undertow market liquidity and exit-cost tools
Server Details
Dated exit evidence, depth, tiers and gold cash scenarios. No executable quotes or trade authority.
- Status
- Healthy
- Uptime
- 97.7% over 42 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- beepboop2025/undertow-mcp
- GitHub Stars
- 0
- Server Listing
- Undertow MCP
TDQS
Scored across 16 tools
Several clusters overlap heavily: exit_cost, crypto_exit_check, and trade_safety_exit_context all describe BTC exit-cost estimates, while venue_concentration, venue_price_reconciliation, liquidity_tiers, and depth_episodes all concern depth/liquidity. The dense descriptions do carve out distinctions (size comparison vs. nearest-rung bands vs. observe/paper hashing; HHI vs. dislocations vs. episode onset), but an agent could easily misselect within these clusters.
Everything is snake_case, but there is no predictable verb_noun pattern: some are noun phrases (depth_episodes, liquidity_tiers, venue_concentration), some are verb_noun (crypto_exit_check, gold_cash_realisation), and prefixing is inconsistent (crypto_ on two, venue_ on two, unnumbered elsewhere). Readable but not systematic.
16 tools is slightly heavy but each appears to map to a distinct analytical function (funding, stress, episodes, reconciliation, access, editorial). It stays under the 25-tool danger zone and the breadth is justified for a multi-asset liquidity suite.
The surface covers the apparent domain well: crypto exit costs, funding/carry, portfolio stress, depth episodes, venue concentration and reconciliation, gold realisation, plus corpus/access/editorial context. Gaps are minor — no general fetch/history query beyond corpus context, and ETH appears only via subscriber flags — but core workflows are covered.
Available Tools
16 toolsagent_access_statusYour access + meterARead-onlyIdempotentInspect
Identity, current entitlement, daily usage and access instructions; explains missing/refused subscriber tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and openWorldHint=false, so the agent knows this is a safe, side-effect-free, local read. The description adds what the payload contains (identity, entitlement, usage) but nothing about auth requirements or how refusals are represented. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the identity/entitlement/usage inventory front-loaded and the diagnostic purpose trailing. Efficient, though the comma-spliced list plus final clause reads slightly compressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the return-value burden and does list the main fields. It stops short of detailing the 'access instructions' format or refused-tool explanation shape, but for a zero-arg diagnostic it is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema accepts zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. Calling convention is fully determined by the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (identity, entitlement, usage, access) and its diagnostic role, which is clearly distinct from the crypto/market siblings. It lacks an explicit verb ('retrieves' / 'reports'), but the enumerated returns make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'explains missing/refused subscriber tools' gives a concrete trigger condition for calling it — when another tool is absent or rejected. No alternative tools are named, but for a zero-parameter diagnostic the context is sufficient to know when to reach for it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_exit_checkCompare crypto exit sizes and freshnessBRead-onlyIdempotentInspect
Compare four BTC sell sizes by rung/bracket. Withholds stale/future, uncovered or unconverted venues. Fees excluded; no trade clearance.
| Name | Required | Description | Default |
|---|---|---|---|
| sizes_usd | No | ||
| max_age_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and closed-world, so safety is covered. The description adds meaningful operational context: stale/future and uncovered/unconverted venues are withheld, fees are excluded, and no trade clearance is provided. It doesn't describe return format or failure behavior, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences (with semicolons) front-load the core comparison and then the data caveats. No filler; every clause contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and key data limitations, which is useful for a read-only tool whose annotations cover safety. However, with no output schema and zero schema description coverage, it leaves parameter meaning and result format insufficiently explained for an agent to call with full confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only indirectly hints at sizes_usd ('four BTC sell sizes') and max_age_seconds ('stale/future'), but does not explain units, array expectations, age cutoff, or defaults, leaving parameter meaning largely in the schema's types alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Compare) and resource (BTC sell sizes) and scopes it to four sizes by rung/bracket. It does not explicitly differentiate from sibling tools like exit_cost or trade_safety_exit_context, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, prerequisites, or alternative tools are named. The constraints about withheld venues and fees describe behavior, not when to choose this tool over siblings such as exit_cost.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_funding_costCalculate perpetual funding and fee dragBRead-onlyIdempotentInspect
Caller-input perpetual funding, fees, net carry and linear break-even. Positive funding: longs pay shorts. Constant-rate scenario, not forecast.
| Name | Required | Description | Default |
|---|---|---|---|
| side | Yes | ||
| settlements | Yes | ||
| notional_usd | Yes | ||
| round_trip_fee_bps | No | ||
| rate_bps_per_settlement | Yes | 1 bp = 0.01%; positive rate means longs pay shorts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is covered. The description adds two pieces of genuinely new context: the sign convention ('Positive funding: longs pay shorts') and the modeling assumption ('Constant-rate scenario, not forecast'), plus it enumerates what is computed since no output schema exists. It still omits how fees are applied and whether results are netted, keeping it out of 5 territory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the computed outputs are front-loaded ahead of the modeling caveat. The compressed, jargon-heavy style ('Caller-input...') slightly undercuts immediate readability, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter calculation tool with 20% schema coverage and no output schema, the description leaves too much unspecified: units and semantics of notional_usd, how settlements map to time, whether fees are charged once or per settlement, and the units of the returned break-even. An agent could call it, but only by guessing at several inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20% — only rate_bps_per_settlement carries documentation. The description restates the sign convention already present in that field's schema text and says nothing about notional_usd, side, settlements, or round_trip_fee_bps (units, per-side vs round-trip application, etc.). With low coverage, the description was obligated to compensate and does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific computed quantities — perpetual funding, fees, net carry, and linear break-even — so an agent can tell this is a funding/carry calculator rather than a pricing or stress tool. It does not differentiate itself from near-neighbors such as exit_cost, crypto_exit_check, or crypto_portfolio_stress, so it stops short of a 5. The telegraphic phrasing ('Caller-input perpetual funding, fees...') is compressed but decodable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Constant-rate scenario, not forecast' is a real usage constraint that tells the agent when this model is appropriate and what it does not do. However, there is no explicit guidance on when to choose this over siblings like exit_cost or crypto_exit_check, and no stated prerequisites or input conventions. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crypto_portfolio_stressStress a crypto portfolioBRead-onlyIdempotentInspect
Caller-input linear shocks for 20 exposures: P&L, equity, asset/venue concentration. Symbols are scenario labels. No liquidation/probability model.
| Name | Required | Description | Default |
|---|---|---|---|
| positions | Yes | ||
| equity_usd | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds valuable scope limits beyond that: it is a deterministic linear shock, not a liquidation or probability model, capping at 20 exposures and warning that symbols are scenario labels, preventing misinterpretation as a risk-of-ruin model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences that each carry information: what it computes, how scenarios are labeled, and what it deliberately is not. No filler, though the 'symbols' wording is a small ambiguity cost.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the agent must rely on the description for return values; the mention of P&L, equity, and concentration is a useful but thin sketch of outputs. With 0% parameter coverage, a two-parameter input object with a nested positions array is only partially explained, leaving the definition adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the full burden. It mentions '20 exposures' and references equity, but it never explains the required fields (asset, side, notional_usd, price_change_pct) or the optional venue/cost_usd fields, and it confusingly calls them 'symbols' when the schema field is 'asset'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action (applying caller-input linear shocks) and resource (crypto portfolio exposures), and names the outputs it produces: P&L, equity, asset/venue concentration. It is clearly distinguishable from siblings like venue_concentration or crypto_exit_check, though it does not explicitly name an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'caller-input linear shocks' and 'Symbols are scenario labels' implies this is a what-if scenario tool rather than a probability/liquidation model, which helps an agent pick it over crypto_exit_check. However, there is no explicit when-to-use/when-not statement or named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
depth_episodesRealized depth collapsesARead-onlyIdempotentInspect
Realized BTC depth-collapse onset, trough, recovery under preregistered rules. Zero is distinct from missing. Subscriber exit_desk_full adds ETH.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/closed-world, so the safety profile is covered. The description adds genuinely useful behavior not in the annotations: the rule that zero depth is distinct from missing data, and the tier-gated expansion to ETH subscribers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, each carrying distinct information, with the output content front-loaded. 'Under preregistered rules' is slightly opaque jargon but is the only mildly wasteful phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-argument, no-output-schema read tool, the description covers what is returned, the zero-vs-missing semantic, and tier scope. It omits how this differs from neighbouring tools, which is the main residual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The schema is fully self-consistent (empty object, additionalProperties false).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the concrete data it returns: BTC depth-collapse onset, trough, and recovery, which is more specific than the title's 'Realized depth collapses'. It does not differentiate itself from siblings like unwind_watch or liquidity_tiers, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to reach for this tool versus the other liquidity/exit tools. The only usage-adjacent sentence ('Subscriber exit_desk_full adds ETH') describes scope entitlement, not a selection condition.
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 venueARead-onlyIdempotentInspect
BTC nearest-rung sell estimates, interpolated bid-depth bands; fees excluded, not executable. crypto_exit_check compares sizes/freshness.
| Name | Required | Description | Default |
|---|---|---|---|
| size_usd | No | position size in USD (published rungs run $1,000 to $1,000,000; nearest rung is used) |
TDQS
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 adds genuinely useful model caveats beyond that: fees excluded, not executable, and interpolated from bid-depth bands, telling the agent these are estimates rather than tradable quotes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact clauses, front-loaded with the core action and the key limitations, followed by the sibling reference. No filler or repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only estimator with no output schema, the description covers what is computed, how it is derived, and its limits. It does not characterize the returned structure (e.g., per-venue rows), which the absence of an output schema would have made worthwhile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the sole parameter's description already explains the $1,000–$1,000,000 published rungs and nearest-rung selection. The description's 'interpolated bid-depth bands' adds some framing but sits in slight tension with the schema's 'nearest rung is used', so this stays at the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and action ('BTC nearest-rung sell estimates, interpolated bid-depth bands') and names the sibling it is not (crypto_exit_check), so the agent can route correctly. The domain shorthand ('rung', 'bid-depth bands') is jargon-heavy, which slightly blunts immediate comprehension, keeping it below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It contrasts itself against crypto_exit_check by describing what that sibling does ('compares sizes/freshness'), which implies this tool is for a single-size estimate. It is clear context but stops short of an explicit 'use X when / use Y when' rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gold_cash_realisationGold sale, FX and cash availability scenarioARead-onlyIdempotentInspect
Calculate gold sale proceeds and cash gates from caller inputs. Decimal strings: kg, fineness (0,1], USD/troy-oz bid, USD fees, currency/USD FX (USD=1). Use aware ISO clocks. Returns arithmetic and withheld-cash reasons; no fetch, storage, execution or verified balance.
| Name | Required | Description | Default |
|---|---|---|---|
| cutoff | Yes | ||
| cleared | Yes | ||
| fx_asof | Yes | ||
| pledged | Yes | ||
| fees_usd | Yes | ||
| fineness | Yes | ||
| fx_fee_bps | Yes | ||
| quote_asof | Yes | ||
| quantity_kg | Yes | ||
| settlement_at | Yes | ||
| bid_usd_per_oz | Yes | ||
| fx_valid_until | Yes | ||
| quote_currency | Yes | ||
| fx_quote_per_usd | Yes | ||
| access_restricted | Yes | ||
| quote_valid_until | Yes | ||
| max_quote_age_seconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/closed-world, but the description adds real value: it discloses the return content ('arithmetic and withheld-cash reasons') and explicitly disclaims side effects and verification ('no fetch, storage, execution or verified balance'). This tells the agent the result is unverified arithmetic, which the annotations alone do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose and tightly packed into three sentences with no filler. The telegraphic 'Decimal strings:' fragment is efficient, though slightly cryptic for a first-time caller.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-parameter tool with no schema descriptions and no output schema, the description covers the numeric units and clock format but omits the semantics of the boolean gating flags and the shape of the 'withheld-cash reasons' output. It is a helpful partial guide but not complete enough to invoke confidently without guessing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 17 parameters, so the description must compensate and only partially does. It supplies units and format for the numerics (kg, fineness in (0,1], USD/troy-oz bid, USD fees, currency/USD FX with USD=1) and the 'aware ISO clocks' format for the timestamp fields, but leaves fx_fee_bps, quote_currency, and the gating booleans (cleared, access_restricted, pledged) unexplained despite 'cash gates' being central to the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Calculate') and resource ('gold sale proceeds and cash gates') and scopes it as a pure computation ('from caller inputs'). It does not explicitly name or differentiate itself from calculation-adjacent siblings such as exit_cost or crypto_exit_check, but the gold-sale framing is specific enough to route an agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'from caller inputs' and 'no fetch, storage, execution or verified balance' imply this is a deterministic what-if calculator rather than a data source, which is useful context. However, it never states when to prefer this over alternatives like exit_cost or unwind_watch, nor any exclusions or prerequisites for the scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
latest_articlePublished editorialRead-onlyIdempotentInspect
Read the latest published editorial: title, full text, URL, clock and quality receipt. No arguments. Missing text or failed receipt returns an error; no generated prose. Use liquidity_tiers for board data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
liquidity_tiersFull board: tiers + fundingBRead-onlyIdempotentInspect
Nine segment tiers, Seiche funding, measure counts and replay/withholding reasons. PARTIAL means missing history or unpassed replay, never calm.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, closed-world), so the bar is lower, and the description still adds real meaning: it explains that a PARTIAL status signals missing history or unpassed replay and never means 'calm'. That semantic decoding of a status value is genuinely useful context an agent cannot get from annotations or an absent output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the PARTIAL clarification is placed after the content summary. It is dense to the point of terseness, but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must carry the burden of explaining what is returned, and it only sketches a column list. Terms like 'measure counts' and 'calm' are left undefined, so an agent cannot fully anticipate the shape or meaning of the board.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case; there is nothing for the description to disambiguate. No parameter-level detail is missing because no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description lists the contents of the board (nine segment tiers, Seiche funding, measure counts, replay/withholding reasons) but uses no verb and no resource noun an agent can anchor to, and 'Seiche funding' is domain jargon. It is distinguishable in intent from siblings like venue_concentration or crypto_funding_cost only by topic, not by an explicit statement of what the tool returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use statement and no mention of any alternative tool, despite a crowded sibling set (venue_concentration, crypto_portfolio_stress, unwind_watch) that plausibly overlaps. At best, usage is implied by the read-only status-board nature of the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_corpus_contextPublic corpus coverage and source clocksARead-onlyIdempotentInspect
Inspect corpus coverage, rights and clocks. Summary takes no pagination; other views return records/total/next_offset. Retrieval age is not observation freshness. Use liquidity_tiers for market readings.
| Name | Required | Description | Default |
|---|---|---|---|
| view | No | summary | |
| limit | No | ||
| offset | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and closed-world, so the safety profile is covered. The description adds genuinely useful behavior: summary mode ignores pagination while other views return records/total/next_offset (return shape, which matters because there is no output schema), plus the caveat that retrieval age is not observation freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact and front-loaded: coverage scope first, then pagination semantics, then the routing pointer. The telegraphic fragments ('Summary takes no pagination') are efficient rather than wasteful, though the style borders on too terse to parse on first read.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does supply the return envelope shape, which is the most important missing piece. However, core domain concepts ('rights', 'clocks', individual view meanings) remain undefined, so an agent knows how to call it but not fully what each view yields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load. It partially compensates by explaining that 'summary' takes no pagination while other views paginate, which hints at limit/offset behavior, but the enum values datasets, flows, and exports are never explained, so the primary selector remains opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Inspect) and resource domain (corpus coverage, rights, clocks), and the title reinforces the scope as public corpus coverage plus source clocks. It is distinguishable from siblings at a high level, though the jargon 'rights' and 'clocks' is not unpacked, so an agent still has to infer what is actually being inspected.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes market-reading queries away from this tool: 'Use liquidity_tiers for market readings.' That is a concrete alternative with a selecting condition. It does not, however, say when to choose each view or when the corpus context is actually relevant, so guidance is clear but incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
research_networkConnected researchCRead-onlyIdempotentInspect
Find cross-product source metadata, clocks, rights and next steps. Follow next_offset; unavailable flags retrieval, contract or size failure. Use market_corpus_context for local corpus counts. No shared score or authority.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Set for full metadata; omission returns 2 compact rows. | |
| topic | No | Catalog topic, not a free-text query. | all |
| offset | No | Zero-based page start; follow next_offset. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world. The description adds genuine context beyond that: 'unavailable flags retrieval, contract or size failure' and 'No shared score or authority'. Still, the meaning of these cryptic assertions is opaque and return behavior is never described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short, but front-loads a vague noun list and crammed clauses ('unavailable flags retrieval, contract or size failure'). Terse without being informative; density trades against clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A read-only lookup with a fully documented schema needs little, but the description never says what data is returned or what 'source metadata, clocks, rights' mean. Key terms ('No shared score or authority') are unexplained, leaving the agent unable to predict output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents limit, topic, and offset. The description only echoes offset paging via 'follow next_offset'; it adds nothing on the enum topic or the compact-vs-full limit behavior. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description lists abstract nouns (cross-product source metadata, clocks, rights, next steps) rather than naming a concrete verb and resource. 'Research network' with 'find ... metadata' is vague; an agent cannot tell what this tool actually returns compared to siblings like market_corpus_context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names one alternative ('Use market_corpus_context for local corpus counts') and gives a paging directive ('Follow next_offset'), which implies usage. But it never states when to call this tool instead of the other siblings, nor when not to.
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)BRead-onlyIdempotentInspect
Forward calls sealed/signed before outcomes: hits, misses, decided counts, ledger root. Report hits and misses together.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is covered. The description adds a modest behavioral point — that misses are kept alongside hits and that records are sealed before outcomes — which is useful context beyond the annotations. It does not describe pagination, size, or how the ledger root is computed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the data contents are front-loaded. The compression into terse jargon ('sealed/signed before outcomes', 'ledger root') borders on cryptic, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 no output schema, the description should carry the burden of explaining what is returned and when it matters. It gestures at the returned fields and the misses-kept property, but leaves the meaning of sealing/signing, the ledger root, and the intended use case unexplained, so an agent could invoke it correctly but not interpret or route to it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4 per the rubric. The field names mentioned (hits, misses, decided counts, ledger root) actually describe the return payload rather than inputs, which is slightly misplaced but harmless given there is nothing to parameterize.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource (a sealed/signed record of forwarded calls) and lists the fields it carries (hits, misses, decided counts, ledger root), so it is more than a restatement of the title. However, the operative verb is murky — 'Forward calls sealed/signed before outcomes' reads like fragmentary jargon rather than a clear statement of what the tool returns or does. It does not distinguish itself from any sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is 'Report hits and misses together,' which is a reporting instruction rather than a when-to-use condition. There is no indication of when this record should be consulted versus the many sibling tools (hits/misses, ledger, exit context, etc.), and no prerequisites or exclusions are stated.
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 contextBRead-onlyIdempotentInspect
Exact-rung BTC/USD observe/paper context: request hash, PIT source/rights, conversion, bid bands, six venue clocks, startup SHA. No live mode or clearance.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | ||
| side | Yes | ||
| venue | Yes | ||
| instrument | Yes | ||
| request_hash | Yes | Opaque complete-request hash | |
| requested_size_usd | Yes | Exact published USD rung |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is covered. The description adds value by stating what it does NOT do ('No live mode or clearance'), but gives no rate-limit, auth, or freshness/pagination behavior for a read that is clearly state-sensitive (PIT, startup SHA).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the scope ('Exact-rung BTC/USD observe/paper') and then the payload. It is efficient, though the acronym stacking costs readability without adding routed meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with no output schema, listing the returned artifacts (request hash, bid bands, venue clocks, SHA) is genuinely useful completeness. But it omits any parameter semantics for six required params and offers no alternative-tool routing, leaving gaps an agent must fill from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% and the description's list (bid bands, venue clocks, startup SHA) reads as outputs, not parameters. Only 'observe/paper' and 'exact-rung' loosely map to the mode and requested_size_usd enums, leaving side, venue, and instrument explained solely by their const values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It conveys that this returns observe/paper exit context for an exact BTC/USD rung and enumerates the returned artifacts (request hash, clocks, SHA). However, the verb is implicit and the jargon ('PIT-bound', 'exact-rung') plus the vague noun 'context' make the actual action less than crisp, and no sibling (e.g. crypto_exit_check, exit_cost) is named to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'No live mode or clearance' combined with the mode enum [observe, paper] implies this is only for observe/paper simulation, giving an implicit boundary. But it never states when to choose this over crypto_exit_check or exit_cost, so the routing guidance is left to inference.
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)BRead-onlyIdempotentInspect
Watched-filer headlines: effective positions, days-to-exit brackets, blind spots. No live execution model. unwind_stress has full scenario grids.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | optional: SEC CIK of a watched filer (returns that filer's full FREE row instead of the all-filer headline) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds one useful caveat ('No live execution model'), clarifying these are approximate/static figures rather than execution simulation, but says nothing about data freshness, coverage limits of 'blind spots', or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short clauses, front-loaded with what is returned and immediately followed by the key limitation and the alternative. It is economical, though the telegraphic 'headlines'/'blind spots' phrasing borders on cryptic rather than crisp.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Placeholder-free items.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single optional cik parameter is fully documented in the schema, including its effect of returning one filer's full free row instead of the all-filer headline. The description adds no parameter-level detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource ('watched-filer headlines') and the content of those headlines (effective positions, days-to-exit brackets, blind spots), so the agent can infer it reports exit-feasibility for watched filers. But there is no clear verb and no differentiation from close siblings like exit_cost or trade_safety_exit_context, leaving the exact operation ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies a usage split by noting 'No live execution model' and pointing to 'unwind_stress' for 'full scenario grids', which suggests this is the lightweight headline view. However, unwind_stress is not among the listed sibling tools, and no explicit when/when-not condition or alternative among actual siblings is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
venue_concentrationDepth concentration todayARead-onlyIdempotentInspect
BTC two-sided depth: HHI, effective/top venue and venue depth. Subscriber exit_desk_full adds ETH and venue failure.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and closed-world, so safety is covered. The description adds genuinely new behavioral context: the tool is BTC-only by default and the exit_desk_full subscription expands coverage to ETH plus venue failure data, which materially affects expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the resource and metric list, then the tier note. Every clause carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 naming the returned metrics and the tier-dependent scope expansion, which is about as complete as an agent needs for a no-argument snapshot tool. It does not mention refresh cadence or units, a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing for the description to disambiguate; the 100% schema coverage baseline plus no-param rule places this at 4. The description appropriately spends no words on arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific resource (BTC two-sided depth) and enumerates the outputs (HHI, effective/top venue, venue depth), which lets an agent distinguish it from generic depth tools like depth_episodes and liquidity_tiers. It lacks an explicit verb, but for a zero-param read tool the metric list is the substance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage context (BTC depth concentration today) and flags a subscription tier gate, but never states when to prefer this over siblings such as depth_episodes or liquidity_tiers. No when-not guidance.
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 disagreeARead-onlyIdempotentInspect
BTC/ETH consensus: depth/squared-half-spread weights, deepest-venue blindness, concentration, dislocations. Experimental; no execution authority.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: it is experimental, carries no execution authority, and discloses the weighting approach and known caveats ('deepest-venue blindness', dislocations). It stops short of describing return format or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense line that is front-loaded with the resource and the key caveat, with no filler sentences. The terse telegraphic style packs meaning efficiently, though 'deepest-venue blindness' and 'dislocations' are left unexplained.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 gets back, and it does not — the return shape of a consensus price is unspecified. The algorithmic terms are name-dropped without enough definition for an agent to know exactly what is computed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to document and the baseline of 4 applies. The description correctly does not attempt to explain inputs that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (BTC/ETH consensus price) and the method behind it (depth/squared-half-spread weights, concentration, dislocations), reinforced by the title 'Consensus price when venues disagree'. It is clear what the tool computes, though the verb is implied rather than stated and the jargon is dense. It does not explicitly differentiate itself from siblings like venue_concentration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no sibling is named as an alternative. The caveat 'Experimental; no execution authority' implies it should not drive execution decisions, which is a partial usage signal, but the agent is left to infer everything else.
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 tool update
- Changed
research_network3 fields changed- added
Input schema / properties / limit / descriptionAdded value: +"Set for full metadata; omission returns 2 compact rows." - added
Input schema / properties / offset / descriptionAdded value: +"Zero-based page start; follow next_offset." - added
Input schema / properties / topic / descriptionAdded value: +"Catalog topic, not a free-text query."
1 tool update
- Added
market_corpus_context
1 tool update
- Added
gold_cash_realisation
3 tool updates
- Added
crypto_exit_check - Added
crypto_funding_cost - Added
crypto_portfolio_stress
1 tool update
- Changed
exit_cost1 field changed- added
Input schema / properties / size_usd / exclusiveMinimumAdded value: +0
1 tool update
- Added
research_network
10 tool updates
- First observed
agent_access_status - First observed
depth_episodes - First observed
exit_cost - First observed
latest_article - First observed
liquidity_tiers - First observed
sealed_record - First observed
trade_safety_exit_context - First observed
unwind_watch - First observed
venue_concentration - First observed
venue_price_reconciliation
Publisher details
- Operator
- LIQUILENS PRIVATE LIMITED · Publisher source
- Operator website
- https://liquilens.in · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://github.com/beepboop2025/undertow-mcp · Publisher source
- Trust center
- Unknown
- Restrictions
- Public tools allow anonymous research within a daily quota. Subscriber-only tools require current entitlement; access and pricing are returned by agent_access_status. Research only: no trade execution, executable quotes, or verified cash balances. · Publisher source
Related MCP Connectors
Historical ES Book Pressure data, matched evidence, and evaluation guidance for $5 USDC via x402.
Turkish gold-market digest, derived indicators and analysis search. Keyless, read-only, gated.
Today's gold buying-conditions score (0-100), its published history, and what followed since 1971.
Read-only paper risk evidence and policy-gated committed event research. No real orders.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceReserve Asset Intelligence MCP — live gold/silver prices as ES256K-signed evidence payloads, 80+ RWA token profiles (PAXG, XAUT, BlackRock BUIDL) with issuer LEI, custody, MiCA Art.36 context, and real cryptographic signatures.MIT
- AlicenseAqualityBmaintenanceDaily source-attributed gold and macro readings from xaudaily.com — gold price, CPI, payrolls, Treasury yields, FOMC odds, central-bank gold buying. Every field carries its own source and as-of date. No API key.2CC BY-4.0
- AlicenseAqualityBmaintenanceProvides AI assistants with real-time and historical gold buying condition scores, including current readings, past data, and zone performance since 1971.329 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables access to live precious metals prices, historical data, market intelligence, and portfolio management with AI/LLM integration.-
Glama MCP Gateway
Add one secure layer between your agents and this server.