# Undertow — market liquidity map (remote · api.seiche.info)

Live exit costs by venue, depth concentration, and a sealed calls record that keeps its misses.

- Trust score: 68/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `api.seiche.info`: 68/100 (this document), [markdown](https://verifymcp.io/servers/beepboop2025-undertow/undertow-mcp.md), [page](https://verifymcp.io/servers/beepboop2025-undertow/undertow-mcp)

## Channel facts

- Endpoint: `https://api.seiche.info/undertow/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.6.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 66/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 8 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 70/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1639 tokens (~204/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 20/100
  - Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

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

### Codex

```toml
[mcp_servers.beepboop2025-undertow]
url = "https://api.seiche.info/undertow/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "beepboop2025-undertow": {
      "type": "remote",
      "url": "https://api.seiche.info/undertow/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add beepboop2025-undertow --url https://api.seiche.info/undertow/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  beepboop2025-undertow:
    url: "https://api.seiche.info/undertow/mcp"
```

### Other

```json
{
  "mcpServers": {
    "beepboop2025-undertow": {
      "type": "http",
      "url": "https://api.seiche.info/undertow/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 68, +2)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “venue_concentration” rewrote its description, which is the text the model reads
- [security] Tool “unwind_watch” rewrote its description, which is the text the model reads
- [security] Tool “liquidity_tiers” rewrote its description, which is the text the model reads
- [security] Tool “depth_episodes” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 177 → 204
- [functional] Schema quality: fair → good
- [functional] Server version: 1.6.0 → 1.7.0
- [cosmetic] “unwind_watch” added an optional parameter “cik”

### 2026-08-02 (score 66, +5)

- [functional regression] Schema quality: 1267 → 1422
- [functional improvement] Schema quality: unverified → 100
- [functional] The server now declares the “prompts” capability
- [functional] New prompt “can_this_book_exit”
- [functional] New prompt “market_liquidity_briefing”
- [functional] New prompt “exit_cost_check”
- [functional] Server version: 1.4.0 → 1.6.0
- [functional] New tool “unwind_watch”

### 2026-08-01 (score 61, 0)

- [functional] Server version: 1.2.0 → 1.4.0

### 2026-07-31 (score 61, −1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 62, +45)

- [security improvement] Transport: fail → pass
- [security] Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 7 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: 812 → 1143
- [functional improvement] Endpoint reachability: not serving MCP → reachable
- [functional improvement] Stability: unverified → 0.07
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional] Schema quality: poor → good
- [functional] Server version: 1.1.0 → 1.1.1
- [functional] Server version: 1.0.0 → 1.1.0
- [functional] New tool “venue_price_reconciliation”
- [functional] New tool “agent_access_status”

### 2026-07-29 (score 17, −38)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Transport: pass → fail
- [security] Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes.
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional] First check of Schema quality: unverified

### 2026-07-28 (score 55)

First indexed and scored.

## MCP tools (8)

### `exit_cost` (~123 tokens)

Exit cost at your size, per venue

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.

Input parameters:

- `size_usd` (number): position size in USD (published rungs run $1,000 to $1,000,000; nearest rung is used)

### `venue_concentration` (~94 tokens)

Depth concentration today

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).

### `depth_episodes` (~85 tokens)

Realized depth collapses

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.

### `venue_price_reconciliation` (~144 tokens)

Consensus price when venues disagree

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.

### `liquidity_tiers` (~110 tokens)

Full board: tiers + funding

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.

### `sealed_record` (~81 tokens)

Sealed calls record (misses kept)

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.

### `agent_access_status` (~65 tokens)

Your access + meter

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.

### `unwind_watch` (~204 tokens)

Can the watched books exit? (free)

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 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.

Input parameters:

- `cik` (integer): optional: SEC CIK of a watched filer (returns that filer's full FREE row instead of the all-filer headline)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/beepboop2025-undertow/undertow-mcp#diagnostics

## Score history

- 2026-08-03: 68
- 2026-08-02: 66
- 2026-08-01: 61
- 2026-07-31: 61
- 2026-07-30: 62
- 2026-07-29: 17
- 2026-07-28: 55

## Links

- Remote endpoint: https://api.seiche.info/undertow/mcp
- Repository: https://github.com/beepboop2025/undertow-mcp
- Website: https://liquilens-undertow.com/
- Changelog RSS feed: https://verifymcp.io/servers/beepboop2025-undertow/undertow-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/beepboop2025-undertow/undertow-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/beepboop2025-undertow/undertow-mcp
