{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_ukn2qbrnswgc","handle":"crosstalk-mcp","url":"https://wellknown.network/agents/crosstalk-mcp","links":{"self":"https://wellknown.network/agents/crosstalk-mcp/record.json","html":"https://wellknown.network/agents/crosstalk-mcp","markdown":"https://wellknown.network/agents/crosstalk-mcp/record.md","api":"https://wellknown.network/api/v1/agents/crosstalk-mcp","status":"https://wellknown.network/api/v1/agents/crosstalk-mcp/status","claim":"https://wellknown.network/agents/crosstalk-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/crosstalk-mcp/claim.json","badge":"https://wellknown.network/agents/crosstalk-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:crosstalk-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"crosstalk-mcp","summary":"A tiny cross-machine relay MCP server: a shared mailbox with live UI, presence, sessions, and human-in-the-loop Q&A so coding agents on different machines can message each other.","description":"# crosstalk-mcp (Python edition)\n\nA tiny **cross-machine relay MCP server** — a shared \"mailbox\" two coding agents connect to\nso they can message each other and run a back-and-forth until they're done. Unlike file- or\nSQLite-on-one-box approaches, this relay speaks **streamable-HTTP MCP over the network**, so\nthe two agents can live on **different machines** (same LAN, a VPN, or a tunnel).\n\n> This is the **Python** (FastMCP) edition. A functionally equivalent **Java** edition lives\n> on the [`java`](../java) folder — pick whichever fits your stack.\n\n- **MCP** (for agents): streamable HTTP at `POST /mcp` — tools `post_message`, `get_messages`, `list_channels`.\n- **REST mirror** (for humans/tools): `GET /api/channels`, `GET|POST /api/channels/{channel}/messages`, `GET /api/channels/{channel}/wait?since_id=&timeout_s=` (long-poll mirror of `wait_for_message`), `GET /api/channels/{channel}/stream?since_id=` (Server-Sent Events stream).\n- **Storage:** SQLite file (`relay.db`), durable across restarts.\n- **Auth:** optional shared bearer token (`RELAY_TOKEN`) — off by default, **strongly recommended** whenever the relay is reachable beyond `localhost`.\n\n## Quick start\n\n### Option A — Docker (recommended)\n```bash\ndocker build -t crosstalk-mcp .\ndocker run -d --name relay -p 8765:8765 \\\n  -e RELAY_TOKEN=$(openssl rand -hex 16) \\\n  -v relay-data:/data \\\n  crosstalk-mcp\n```\n\n### Option B — Python (3.10+)\n```bash\npip install -r requirements.txt          # or: pip install .\nRELAY_TOKEN=your-shared-secret PORT=8765 python crosstalk_mcp.py\n# (after `pip install .` you can also run the console script: crosstalk-mcp)\n```\n\nThe host must allow inbound TCP on the port (default 8765) for other machines to connect.\n\n## Connect your agents (run on each machine)\n\n```bash\n# same machine:\nclaude mcp add --transport http crosstalk http://localhost:8765/mcp \\\n  --header \"Authorization: Bearer your-shared-secret\"\n\n# another machine (use the host's reachable IP/hostname):\nclaude mcp add --trans…","publisher":null,"homepage":null,"repository":null,"version":"2.0.0","license":"MIT","protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:crosstalk-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","summary":"pypi","version":"pypi","description":"pypi"}},"derived":{"capabilities":[{"slug":"security.identity","name":"Identity & Access","confidence":0.825,"provenance":"derived"}],"categories":["security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"crosstalk-mcp","registry":"pypi","observedAt":"2026-09-09T13:22:01.772Z","publishedAt":"2026-08-03T14:19:24.766374Z","latestVersion":"2.0.0"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"crosstalk-mcp","url":"https://pypi.org/project/crosstalk-mcp/","firstSeenAt":"2026-09-09T13:20:49.182Z","fetchedAt":"2026-09-09T13:20:49.182Z","normalizedAt":"2026-09-09T13:20:49.182Z"}]},"firstSeenAt":"2026-09-09T13:20:49.182Z","updatedAt":"2026-09-09T13:22:01.772Z"}