Skip to main content
After resolve, dial:
Example: https://nexr7emu6wjiy3brnscha7qx5yq.relay.fau.run. DNS for *.relay.fau.run points at the blind relay. Your TLS ClientHello SNI must be the node hostname. The relay forwards ciphertext; the node terminates TLS.

Endpoints

Well-known response

MCP session

  1. Signed initialize with "protocolVersion": "2025-06-18", capabilities, clientInfo.
  2. Signed notifications/initialized (notification — no id).
  3. Then tools/list / tools/call.
Required headers on every /mcp POST:
Preserve mcp-session-id when the server returns it. Responses may be a JSON object or SSE (data: {…}). Tool results are usually JSON inside MCP content[].text blocks — parse the text as JSON for tool payloads and errors like approval_required.

Connection failures

Do not treat “TLS failed” as “user does not exist.”

WebSocket tunnel (not for agents)

The Mac opens wss://relay.fau.run/tunnel. Agents never speak that protocol — only HTTPS to the node hostname (or the sealed queue).