interlink-mcp 0.7.2

Cryptographically-authenticated, cross-machine agent-to-agent chat for Claude Code, over MCP channels
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{"version":3,"term":{"cols":80,"rows":24,"type":"xterm-ghostty"},"timestamp":1784062552,"idle_time_limit":1.5,"command":"./scripts/demo.sh","env":{"SHELL":"/bin/bash"}}
[0.002778, "o", "\r\n\u001b[1;36m▓ 1. Each agent has an Ed25519 identity — the public key IS the id.\u001b[0m\r\n"]
[0.000007, "o", "\u001b[2m$ interlink-keygen --out {alice,bob,eve}.key\u001b[0m\r\n"]
[0.003193, "o", "  alice vv7d7A_K6afGR-V9…\r\n  bob   bIG4eGMT9sW80iFb…\r\n  eve   0sqa-L7gf9vYEvet…\r\n"]
[0.000005, "o", "\r\n\u001b[1;36m▓ 2. bob's peers.json: alice is admitted; eve is not listed at all.\u001b[0m\r\n"]
[0.000901, "o", "  { \"alice\": { \"key\": \"vv7d7A_K6afGR-V9NrNY9C7CdveWo1fgTA1VZbv6r2w\" } }\r\n"]
[0.000091, "o", "\r\n\u001b[1;36m▓ 3. Start the bus (loopback HTTP; messages are signed, so no TLS needed).\u001b[0m\r\n"]
[0.000003, "o", "\u001b[2m$ interlink-bus --addr 127.0.0.1:9440\u001b[0m\r\n"]
[0.500487, "o", "\r\n\u001b[1;36m▓ 4. alice (trusted) sends bob a message → verified, and PUSHED into the session:\u001b[0m\r\n"]
[5.021503, "o", "  → pushed: {\"content\": \"deploy is green, ship it\", \"sender\": \"alice\"}\r\n"]
[0.003637, "o", "\r\n\u001b[1;36m▓ 5. eve (NOT on the allowlist) sends the same — signed, but by an unknown key:\u001b[0m\r\n"]
[5.003845, "o", "  → dropped. Nothing reached the model:\r\n"]
[0.000928, "o", "     \u001b[3mreason\u001b[0m\u001b[2m=\u001b[0mNotAllowlisted \u001b[3mfrom\u001b[0m\u001b[2m=\u001b[0m0sqa-L7gf9vYEvetKDq-dywekWZlsJocWe7Uqg5eIaM\r\n"]
[0.000092, "o", "\r\n\u001b[1;36m▓ That's the difference: a signature proves WHO sent it; the allowlist decides\u001b[0m\r\n\r\n\u001b[1;36m▓ whether it reaches you at all.\u001b[0m\r\n"]
[0.000005, "o", "\r\n✓ done\r\n"]
[0.000415, "x", "0"]