MCP Server

Undertow market liquidity and exit-cost tools

io.github.beepboop2025/undertow

What this MCP does

Reports market liquidity, crypto exit costs, venue depth, price reconciliation, unwind stress, research evidence, and forecast-record performance.

agent_access_status
Your access + meter
Current identity, freshly checked entitlement, daily usage meter and access instructions. Use when a subscriber tool is missing or refused.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
crypto_exit_check
Compare crypto exit sizes and freshness
Compare up to four BTC sell sizes: exact rungs, brackets or out-of-range. Withholds stale, future, uncovered or unconverted venue estimates. Fees excluded; research only, no trade clearance.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'sizes_usd': {'type': 'array', 'items': {'type': 'number', 'maximum': 1000000000000.0, 'minimum': 0.01}, 'default': [1000, 10000, 100000, 1000000], 'maxItems': 4, 'minItems': 1, 'uniqueItems': True}, 'max_age_seconds': {'type': 'integer', 'default': 7200, 'maximum': 86400, 'minimum': 60}}, 'additionalProperties': False}
crypto_funding_cost
Calculate perpetual funding and fee drag
Caller-input perpetual funding cashflow, fees, net carry and linear break-even move. Positive funding: longs pay shorts. Constant-rate scenario, not live rates or a forecast.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['notional_usd', 'side', 'rate_bps_per_settlement', 'settlements'], 'properties': {'side': {'enum': ['long', 'short']}, 'settlements': {'type': 'integer', 'maximum': 10000, 'minimum': 0}, 'notional_usd': {'type': 'number', 'maximum': 1000000000000.0, 'minimum': 0.01}, 'round_trip_fee_bps': {'type': 'number', 'default': 0, 'maximum': 10000, 'minimum': 0}, 'rate_bps_per_settlement': {'type': 'number', 'maximum': 10000, 'minimum': -10000, 'description': '1 bp = 0.01%; positive rate means longs pay shorts.'}}, 'additionalProperties': False}
crypto_portfolio_stress
Stress a crypto portfolio
Caller-input linear price shocks on up to twenty exposures: P&L, equity and gross asset/venue concentration. Symbols are scenario labels, not live coverage. No liquidation or probability model.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['equity_usd', 'positions'], 'properties': {'positions': {'type': 'array', 'items': {'type': 'object', 'required': ['asset', 'side', 'notional_usd', 'price_change_pct'], 'properties': {'side': {'enum': ['long', 'short']}, 'asset': {'type': 'string', 'pattern': '^[A-Z0-9][A-Z0-9._-]{0,15}$'}, 'venue': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9._-]{0,31}$'}, 'cost_usd': {'type': 'number', 'default': 0, 'maximum': 1000000000000.0, 'minimum': 0}, 'notional_usd': {'type': 'number', 'maximum': 1000000000000.0, 'minimum': 0.01}, 'price_change_pct': {'type': 'number', 'maximum': 1000, 'minimum': -100}}, 'additionalProperties': False}, 'maxItems': 20, 'minItems': 1}, 'equity_usd': {'type': 'number', 'maximum': 1000000000000.0, 'minimum': 0.01}}, 'additionalProperties': False}
depth_episodes
Realized depth collapses
Realized BTC depth-collapse episodes, onset, trough and recovery under pre- registered rules. Zero episodes is distinct from missing observations. Subscriber exit_desk_full adds ETH.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
exit_cost
Exit cost at your size, per venue
BTC sell-cost estimates by venue at the nearest published USD rung. Interpolated bid-depth bands, roughly hourly; fees excluded, not executable quotes. Use crypto_exit_check to compare sizes and freshness.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'size_usd': {'type': 'number', 'description': 'position size in USD (published rungs run $1,000 to $1,000,000; nearest rung is used)', 'exclusiveMinimum': 0}}, 'additionalProperties': False}
latest_article
latest_article
Read the canonical full-text Undertow editorial with its evidence clock and passing quality receipt; no rewritten facts.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
liquidity_tiers
Full board: tiers + funding
Nine market-segment tiers plus Seiche funding overlay, exact measure counts, replay eligibility and withholding reasons. PARTIAL may mean missing qualifying history or unpassed replay; it never means calm.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
research_network
research_network
Connected source discovery for Seiche funding, LiquiLens institutions and Palimpsest evidence. Metadata, dates and rights only; no shared score or execution authority.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 2, 'maximum': 25, 'minimum': 1}, 'topic': {'enum': ['all', 'china', 'regions', 'information_controls', 'model_evaluations', 'funding', 'institutions', 'liquidity', 'global_data'], 'type': 'string', 'default': 'all'}, 'offset': {'type': 'integer', 'default': 0, 'maximum': 1000, 'minimum': 0}}, 'additionalProperties': False}
sealed_record
Sealed calls record (misses kept)
Forward calls sealed and signed before outcomes, including misses, decided counts and ledger root. Report hits and misses together.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
trade_safety_exit_context
PIT-bound exact-rung paper exit context
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.
Read only Idempotent
Input schema
{'type': 'object', 'required': ['request_hash', 'mode', 'instrument', 'side', 'venue', 'requested_size_usd'], 'properties': {'mode': {'enum': ['observe', 'paper']}, 'side': {'const': 'sell'}, 'venue': {'type': 'null'}, 'instrument': {'const': 'BTC/USD'}, 'request_hash': {'type': 'string', 'pattern': '^[0-9a-f]{64}$', 'description': 'Opaque complete-request hash'}, 'requested_size_usd': {'enum': [1000, 10000, 100000, 1000000], 'type': 'number', 'description': 'Exact published USD rung'}}, 'additionalProperties': False}
unwind_watch
Can the watched books exit? (free)
Published watched-filer unwind risk: effective positions, days-to-exit brackets and declared blind spots. Public headline only; no live execution model. Full scenario grid requires unwind_stress.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {'cik': {'type': 'integer', 'description': "optional: SEC CIK of a watched filer (returns that filer's full FREE row instead of the all-filer headline)"}}, 'additionalProperties': False}
venue_concentration
Depth concentration today
BTC two-sided depth concentration: HHI, effective venue count, top venue and per- venue depth. Subscriber exit_desk_full adds ETH and the venue-failure scenario.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
venue_price_reconciliation
Consensus price when venues disagree
BTC/ETH consensus mark weighted by depth over squared half-spread, deepest-venue blindness gap, concentration and dislocated venues. Experimental until accrual gates pass; no execution authority.
Read only Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Changed
venue_price_reconciliation
Sept. 29, 2026, 2:51 a.m.
Changed
venue_concentration
Sept. 29, 2026, 2:51 a.m.
Changed
unwind_watch
Sept. 29, 2026, 2:51 a.m.
Changed
sealed_record
Sept. 29, 2026, 2:51 a.m.
Changed
research_network
Sept. 29, 2026, 2:51 a.m.
Changed
liquidity_tiers
Sept. 29, 2026, 2:51 a.m.
Changed
latest_article
Sept. 29, 2026, 2:51 a.m.
Changed
exit_cost
Sept. 29, 2026, 2:51 a.m.
Changed
depth_episodes
Sept. 29, 2026, 2:51 a.m.
Added
crypto_portfolio_stress
Sept. 29, 2026, 2:51 a.m.
Added
crypto_funding_cost
Sept. 29, 2026, 2:51 a.m.
Added
crypto_exit_check
Sept. 29, 2026, 2:51 a.m.
Changed
agent_access_status
Sept. 29, 2026, 2:51 a.m.
Changed
liquidity_tiers
Sept. 27, 2026, 2:43 a.m.
Added
venue_price_reconciliation
Sept. 17, 2026, 12:40 p.m.
Added
venue_concentration
Sept. 17, 2026, 12:40 p.m.
Added
unwind_watch
Sept. 17, 2026, 12:40 p.m.
Added
trade_safety_exit_context
Sept. 17, 2026, 12:40 p.m.
Added
sealed_record
Sept. 17, 2026, 12:40 p.m.
Added
research_network
Sept. 17, 2026, 12:40 p.m.
Added
liquidity_tiers
Sept. 17, 2026, 12:40 p.m.
Added
latest_article
Sept. 17, 2026, 12:40 p.m.
Added
exit_cost
Sept. 17, 2026, 12:40 p.m.
Added
depth_episodes
Sept. 17, 2026, 12:40 p.m.
Added
agent_access_status
Sept. 17, 2026, 12:40 p.m.