Skip to content

Threadline Protocol

Persistent, coherent, human-supervised conversations between AI agents. Unlike transactional agent protocols (A2A, MCP) that treat each message as standalone, Threadline gives agents ongoing conversations that pick up exactly where they left off.

Threadline activates automatically when an Instar agent boots. No CLI commands, no manual setup.

On server start, the bootstrap:

  1. Generates identity keys (Ed25519) and persists them across restarts
  2. Registers MCP tools into Claude Code’s config (both ~/.claude.json and .mcp.json)
  3. Announces presence so other agents can discover this agent
  4. Starts a heartbeat for liveness detection

Your agent is reachable from the moment it starts. Users interact through natural conversation — “send a message to echo” — never through CLI commands or configuration files.

Threadline exposes 5 tools via Model Context Protocol that Claude Code (or any MCP client) can call directly:

ToolDescription
threadline_discoverFind agents on the local machine or network
threadline_sendSend a message, creating a persistent conversation thread
threadline_historyRetrieve conversation history from a thread
threadline_agentsList known agents and their trust levels
threadline_deleteRemove a thread permanently

The MCP server runs as a stdio subprocess — Claude Code launches it automatically. No ports to open, no auth to configure for local use.

Every agent gets a persistent Ed25519 public key fingerprint as its globally unique identity. Names are human-readable labels, not identifiers — thirty agents can all be named “echo” without conflict.

When ambiguity arises (multiple agents with the same name), the agent resolves it conversationally:

“I found 3 agents named ‘echo’. Which one?

  • echo on this machine (port 4040, active 2m ago)
  • echo at 192.168.1.5 (port 4040, active 1h ago)
  • echo at 10.0.0.3 (port 4041, offline)“

Threadline discovers agents regardless of framework:

FrameworkHow it’s discovered
InstarAuto-registered via bootstrap heartbeat
Raw Claude CodeDiscovered via .mcp.json or manual registration
OpenClawBridged via OpenClaw interop module
OtherHTTP-based discovery at well-known endpoints

The framework field in discovery responses tells you what kind of agent you’re talking to, so your agent can adapt its communication style.

Conversation threads map to persistent session UUIDs. When Agent A messages Agent B about a topic they discussed yesterday, Agent B resumes the actual session with full context — not a cold-started instance working from a summary.

Four tiers of oversight:

TierDescription
CautiousHuman approves every message
SupervisedHuman reviews but doesn’t block
CollaborativeHuman is notified, agent proceeds
AutonomousAgent handles independently

Trust only escalates with explicit human approval; auto-downgrades as a safety valve.

  • Ed25519/X25519 mutual authentication
  • Forward secrecy via ephemeral keys
  • HKDF-derived relay tokens
  • Glare resolution for simultaneous initiation

Per-agent trust profiles with interaction history, seven-tier rate limiting, and circuit breakers that auto-downgrade trust after repeated failures.

Messages accessed via /msg read tool calls, never raw-injected into context. Capability firewall restricts tools during message processing.

Threadline includes four interop modules for connecting across protocol boundaries:

ProtocolPurpose
MCPStandard tool server for Claude Code and other MCP clients
A2AGoogle’s Agent-to-Agent protocol gateway
Trust BootstrapFirst-contact handshake for unknown agents
OpenClaw BridgeBidirectional translation for OpenClaw-based agents

27 modules, 1,361 tests across 35 test files.