All notable changes to keep-protocol will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.5.0 — 2026-02-05
- MCP Server for direct tool calling (
keep-mcpcommand) (KP-24)keep_send— Send signed packets to agentskeep_discover— Get server info/statskeep_discover_agents— List connected agentskeep_listen— Register and receive messageskeep_ensure_server— Auto-start server if needed
- Optional MCP dependency:
pip install keep-protocol[mcp] - Entry points:
keep-mcpCLI andpython -m keep.mcp - MCP setup documentation in SKILL.md (KP-28)
- MCP tools achieve <60ms latency vs 80-150s with skill-based approach (118x faster)
- Minimum Python version raised to 3.10 (MCP SDK requirement)
- CI matrix updated to test Python 3.10, 3.11, 3.12, 3.13
0.4.0 — 2026-02-03
ensure_server()auto-bootstrap function (KP-11)- Checks if port 9009 is accepting connections
- Starts server via Docker if not running
- Falls back to
go installif Docker unavailable - Waits up to 30 seconds for server readiness
- CI test workflow for Python and Go (KP-16)
- Release workflow template for Linear issue structure
- Mandatory staging workflow documentation
- pytest fixture error in test suite
- go vet scope to exclude reference code
- Added
ensure_server()usage to README - Refined virality plan for v0.3.0+
- Sandbox testing step in release checklist
0.3.1 — 2026-02-03
- Excluded
keep-protocol-clawhub/fromgo vet(reference code, not buildable) - Updated release checklist with proper tag-first workflow
0.3.0 — 2026-02-03
- Discovery system (KP-7)
discover("info")— server version, agents online, uptimediscover("agents")/discover_agents()— list connected agentsdiscover("stats")— scar exchange counts, total packets
- Endpoint caching —
~/.keep/endpoints.json from_cache()client — reconnect from cached endpoints- Scar logging — server tracks scar field exchanges
- Discovery feature test suite (KP-10)
- Wire protocol now uses length-prefixed framing (KP-1)
[4 bytes: uint32 big-endian length][N bytes: protobuf Packet]- Maximum payload: 65,536 bytes
- Breaking: Raw protobuf writes no longer accepted
- SKILL.md for ClawHub/AI agent discovery (KP-6)
- AGENTS.md for AI coding assistant integration
- ClawHub publishing guide with registry workaround
- Routing examples and v0.2.0 protocol docs (KP-4)
0.2.0 — 2026-02-03
- Agent-to-agent routing (KP-2)
- Server maintains identity-based routing table
- First signed packet's
srcfield registers the connection dst="bot:alice"forwards to registered agent
- Persistent connections with
listen()in Python SDK (KP-3) - Length-prefixed wire framing (KP-1)
- Wire format requires 4-byte length prefix (breaking change from v0.1.x)
0.1.1 — 2026-02-02
- Multi-arch Docker image (amd64 + arm64)
- CI: Added
contents:readpermission to PyPI publish job - CI: Lowercase ghcr.io tags (Docker requires lowercase)
0.1.0 — 2026-02-02
- Initial release
- Go server with ed25519 signature verification
- Python SDK (
KeepClient) - Protobuf packet schema (
keep.proto) - Docker image at
ghcr.io/clcrawford-dev/keep-server - PyPI package
keep-protocol
- Packets must be ed25519 signed (unsigned = silent drop)
- Fields: sig, pk, typ, id, src, dst, body, fee, ttl, scar
- Default port: 9009