Skip to main content
Glama
chrischall

bridge-probe-mcp

by chrischall
README.md
# bridge-probe-mcp

[bridge-probe-mcp] This project was developed and is maintained by AI. Use at your own discretion.

A one-tool diagnostic MCP, not a fleet product. It exists to answer one
question for [mcp-host issue #732](https://github.com/chrischall/mcp-host/issues/732):
does a ~5 MB single-shot response survive the hosted browser-bridge path
intact — extension → WAN → Cloudflare → the `BridgeRoom` Durable Object →
the runner agent → this child — and how long does it take?

## What it does

One tool, `probe_5mib_body`, no arguments. It fetches a fixed, pure-ASCII
5,242,880-byte (5 MiB) text file committed to this repo
(`assets/payload-5mib.txt`) from `raw.githubusercontent.com`, through the
browser bridge, and reports:

```json
{
  "requestedBytes": 5242880,
  "receivedBytes": 5242880,
  "elapsedMs": 1234,
  "truncated": false,
  "upstreamStatus": 200,
  "url": "https://raw.githubusercontent.com/..."
}
```

The payload is deliberately plain ASCII, not random bytes: the bridge's
`request()` verb decodes every response body as a UTF-8 string, which is
lossy for arbitrary binary (a `httpbin.org/bytes/{n}`-style source would
have its invalid byte sequences replaced with U+FFFD, inflating the
re-encoded length unpredictably). ASCII round-trips through UTF-8
losslessly, so `receivedBytes` is the exact byte count that crossed the
whole path — a real number to design against, not an approximation.

## Deliberately NOT a fleet product

No npm publish, no MCP registry listing, no ClawHub, no release-please, no
branch rulesets, no ceremony beyond build + test. It is meant to be
registered once on mcp-host via `--github`, paired to a browser, called a
few times to get a measurement, and then left running or torn down — see
mcp-host's `docs/plans/2026-09-11-single-tier-autoscale-and-backlog.md`
decision 7 and issue #732 for the context.

## Hosting

```sh
mcp-host register --slug bridge-probe --github chrischall/bridge-probe-mcp --data-dir
mcp-host list   # grab the reg_… id
curl -X PUT "$MCP_HOST_URL/api/v1/registrations/<reg_id>" \
  -H "authorization: Bearer $MCP_HOST_ADMIN_TOKEN" -H 'content-type: application/json' \
  -d '{"bridge":true,"bridgePortEnv":"BRIDGE_PROBE_WS_PORT"}'
mcp-host bridge new "diagnostic browser"
```

Then approve the pair code in the Transporter extension popup once, and
call `probe_5mib_body` through the connector.