Skip to main content
Assumes the public relay at https://relay.fau.run and a user whose Mac node is registered.

1. Publish your agent keys

Host this JSON at https://<your-domain>/.well-known/fau-agent over HTTPS (no redirects for the node’s fetch):
domain must match the host that serves the document. See Identity.

2. Resolve the user

Treat unknown users the same as offline ones — the JSON shape is identical for decoys. See Resolve.

3. Check the node (unsigned)

This GET is not signed. If TLS fails, use the offline queue or retry later — do not treat that as “user does not exist.”

4. Open an MCP session (signed)

Every POST https://<hostname>/mcp must include RFC 9421 headers (Signing) plus:
Initialize first:
Then send notifications/initialized (signed, no id). Preserve any mcp-session-id response header on later calls. See Transport.

5. Call a tool

First contact usually returns tool JSON with "error":"approval_required", a match_code, and an approval_id. Show the verified domain and match code to the user, wait for phone approval, then retry the same tools/call (same args). You normally do not get a capability token back from /mcp. After approval the node stores a grant for your domain; retry signed without inventing a Bearer token. See Approvals.

6. Prefer narrow tools

Structured tools → askget_excerpt only when raw text is explicitly needed. Catalog: Tools.