Undertow MCP
Undertow is a paid data product from the LiquiLens lab that examines market liquidity and stated-size exits across UST, credit, equities, ETF, FX, China basin, and crypto. It provides read-only tools for analyzing exit costs, venue concentration, depth, and liquidity tiers using public data, without executing trades or providing investment advice.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://api.seiche.info/undertow/mcpWhat its tools do
16 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Analyze market liquidity and exit costs for specific asset classes
- Check venue concentration and depth episodes
- Calculate crypto exit checks and funding costs
- Review trade safety exit context in observe/paper mode
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- undertow 1.13.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 16 advertised
- Resources
- 0 advertised
- Resource templates
- 0 advertised
- Prompts
- 3 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
},
"resources": {
"subscribe": false,
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
16 advertised
agent_access_status — Your access + meter
Identity, entitlement, daily usage, access instructions; missing/refused subscriber tools.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Your access + meter",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}crypto_exit_check — Crypto exit sizes and freshness
Four BTC sell sizes by rung/bracket. Withholds stale/future, uncovered or unconverted venues. Fees excluded; no trade clearance.
{
"type": "object",
"properties": {
"sizes_usd": {
"type": "array",
"items": {
"type": "number",
"maximum": 1000000000000,
"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
}{
"title": "Crypto exit sizes and freshness",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}crypto_funding_cost — Perpetual funding and fees
Input perpetual funding/fees, net carry, linear break-even. Positive funding: longs pay shorts. Constant-rate scenario, not forecast.
{
"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,
"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
}{
"title": "Perpetual funding and fees",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}crypto_portfolio_stress — Stress a crypto portfolio
Linear input shocks, 20 exposures: P&L/equity, asset/venue concentration. Symbols label scenarios. No liquidation/probability model.
{
"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,
"minimum": 0
},
"notional_usd": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0.01
},
"price_change_pct": {
"type": "number",
"maximum": 1000,
"minimum": -100
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1
},
"equity_usd": {
"type": "number",
"maximum": 1000000000000,
"minimum": 0.01
}
},
"additionalProperties": false
}{
"title": "Stress a crypto portfolio",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}depth_episodes — Realized depth collapses
BTC depth-collapse onset/trough/recovery under preregistered rules. Zero differs from missing. Subscriber exit_desk_full: ETH.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Realized depth collapses",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}exit_cost — Exit cost at your size, per venue
BTC nearest-rung sell estimates; interpolated bid-depth bands. Fees excluded; not executable. Sizes/freshness: crypto_exit_check.
{
"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
}{
"title": "Exit cost at your size, per venue",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}gold_cash_realisation — Gold sale, FX and cash scenario
Gold sale/cash gates from inputs: decimal kg, fineness (0,1], USD/troy-oz bid, USD fees, currency/USD FX (USD=1), aware ISO clocks. Arithmetic and withheld-cash reasons only; no fetch, storage, execution or verified balance.
{
"type": "object",
"required": [
"quantity_kg",
"fineness",
"bid_usd_per_oz",
"fees_usd",
"fx_quote_per_usd",
"fx_fee_bps",
"quote_currency",
"cutoff",
"quote_asof",
"fx_asof",
"quote_valid_until",
"fx_valid_until",
"settlement_at",
"cleared",
"access_restricted",
"pledged"
],
"properties": {
"cutoff": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"cleared": {
"type": "boolean"
},
"fx_asof": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"pledged": {
"type": "boolean"
},
"fees_usd": {
"type": "string",
"pattern": "^[0-9]{1,12}(\\.[0-9]{1,12})?$",
"maxLength": 25
},
"fineness": {
"type": "string",
"pattern": "^[0-9]{1,12}(\\.[0-9]{1,12})?$",
"maxLength": 25
},
"fx_fee_bps": {
"type": "string",
"pattern": "^[0-9]{1,12}(\\.[0-9]{1,12})?$",
"maxLength": 25
},
"quote_asof": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"quantity_kg": {
"type": "string",
"pattern": "^[0-9]{1,12}(\\.[0-9]{1,12})?$",
"maxLength": 25
},
"settlement_at": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"bid_usd_per_oz": {
"type": "string",
"pattern": "^[0-9]{1,12}(\\.[0-9]{1,12})?$",
"maxLength": 25
},
"fx_valid_until": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"quote_currency": {
"enum": [
"USD",
"INR",
"AED",
"EUR",
"GBP",
"JPY",
"CHF",
"SGD"
],
"type": "string"
},
"fx_quote_per_usd": {
"type": "string",
"pattern": "^[0-9]{1,12}(\\.[0-9]{1,12})?$",
"maxLength": 25
},
"access_restricted": {
"type": "boolean"
},
"quote_valid_until": {
"type": "string",
"maxLength": 64,
"minLength": 1
},
"max_quote_age_seconds": {
"type": "integer",
"default": 900,
"maximum": 86400,
"minimum": 60
}
},
"additionalProperties": false
}{
"title": "Gold sale, FX and cash scenario",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}latest_article — Published editorial
Latest published editorial: title/full text/URL/clock/quality receipt. No args or generated prose. Missing text/failed receipt errors. Board: liquidity_tiers.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Published editorial",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}liquidity_tiers — Full board: tiers + funding
Nine segment tiers, Seiche funding, measure counts, replay/withholding reasons. PARTIAL: missing history/unpassed replay, never calm.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Full board: tiers + funding",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}market_corpus_context — Corpus coverage and source clocks
Corpus coverage/rights/clocks. No summary pagination; other views: records/total/next_offset. Retrieval age is not observation freshness. Readings: liquidity_tiers.
{
"type": "object",
"properties": {
"view": {
"enum": [
"summary",
"datasets",
"flows",
"exports"
],
"type": "string",
"default": "summary"
},
"limit": {
"type": "integer",
"default": 2,
"maximum": 10,
"minimum": 1
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 20000,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Corpus coverage and source clocks",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}research_network — Connected research
Cross-product metadata, clocks, rights, next steps. Follow next_offset. Unavailable: retrieval/contract/size failure. Local counts: market_corpus_context. No shared score or authority.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 2,
"maximum": 25,
"minimum": 1,
"description": "Set for full metadata; omission returns 2 compact rows."
},
"topic": {
"enum": [
"all",
"china",
"regions",
"information_controls",
"model_evaluations",
"funding",
"institutions",
"liquidity",
"global_data"
],
"type": "string",
"default": "all",
"description": "Catalog topic, not a free-text query."
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 1000,
"minimum": 0,
"description": "Zero-based page start; follow next_offset."
}
},
"additionalProperties": false
}{
"title": "Connected research",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}sealed_record — Sealed calls record (misses kept)
Calls sealed/signed before outcomes: hits/misses, decided counts, ledger root. Report hits and misses together.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Sealed calls record (misses kept)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}trade_safety_exit_context — PIT-bound exact-rung paper exit context
Exact-rung BTC/USD observe/paper: request hash, PIT source/rights, conversion, bid bands, six venue clocks, startup SHA. No live mode/clearance.
{
"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
}{
"title": "PIT-bound exact-rung paper exit context",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}unwind_watch — Can the watched books exit? (free)
Watched-filer headlines: effective positions, days-to-exit brackets, blind spots. No live execution model. Full grids: unwind_stress.
{
"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
}{
"title": "Can the watched books exit? (free)",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}venue_concentration — Depth concentration today
BTC two-sided depth: HHI, effective/top venue, venue depth. Subscriber exit_desk_full: ETH and venue failure.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Depth concentration today",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}venue_price_reconciliation — Consensus price when venues disagree
BTC/ETH consensus: depth/squared-half-spread weights, deepest-venue blindness, concentration, dislocations. Experimental; no execution authority.
{
"type": "object",
"properties": {},
"additionalProperties": false
}{
"title": "Consensus price when venues disagree",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
3 advertised
can_this_book_exit — Can this book leave the building?
Unwind stress for the watched books: door width versus position size, margin clock, and what changed this quarter.
exit_cost_check — What would selling cost right now?
Venue-by-venue exit cost for a position size, with concentration and consensus-price context and the caveats stated.
- size_usd
- position size in USD (rungs $1k to $1M)
market_liquidity_briefing — Market liquidity briefing
The full board read: tier per segment, realized depth episodes, and the sealed forward-calls record with misses quoted.
Resources
0 advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1196 ms
- 95th percentile latency
- 1196 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1196 ms · metadata changed · 16 tool(s), 0 resource(s), 0 resource template(s), 3 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http undertow-mcp https://api.seiche.info/undertow/mcpCodex
codex mcp add undertow-mcp --url https://api.seiche.info/undertow/mcpCursor
{
"mcpServers": {
"undertow-mcp": {
"url": "https://api.seiche.info/undertow/mcp"
}
}
}Cline
{
"mcpServers": {
"undertow-mcp": {
"type": "streamableHttp",
"url": "https://api.seiche.info/undertow/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"undertow-mcp": {
"type": "http",
"url": "https://api.seiche.info/undertow/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http undertow-mcp https://api.seiche.info/undertow/mcpClaude Desktop
https://api.seiche.info/undertow/mcpWindsurf
{
"mcpServers": {
"undertow-mcp": {
"serverUrl": "https://api.seiche.info/undertow/mcp"
}
}
}Let your agent find its tools
Find servers like Undertow MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.