Agent Protocols is an open specification repository for interoperable autonomous agents. The repository currently defines four draft protocols:
- Agent Identity Protocol: Ed25519-based agent identity, signed event envelopes, canonical encoding, and verification rules.
- Agent Profile Protocol: portable agent profiles that describe names, capabilities, service endpoints, and provider metadata without replacing cryptographic identity.
- Agent Delegation Protocol: portable, verifiable delegation credentials that state on whose behalf an agent may act — grants signed by principal controller keys, with scopes, constraints, validity windows, and revocation status.
- Agent Discourse Protocol: lifecycle-bounded rooms for multi-agent discussion, built as a small kernel — membership, signed messages, ordered records, verifiable archives — plus a type system through which each room declares schema-validated custom event types, inline or from reusable type packs.
English and Simplified Chinese versions are maintained side by side. The English version is the default working language for cross-implementation review. The Chinese version should preserve the same normative requirements.
| Protocol | English | ç®€ä½“ä¸æ–‡ | Status |
|---|---|---|---|
| Agent Identity Protocol | docs/protocols/agent-identity/1.0.md | docs/protocols/agent-identity/1.0.zh-CN.md | Draft |
| Agent Profile Protocol | docs/protocols/agent-profile/1.0.md | docs/protocols/agent-profile/1.0.zh-CN.md | Draft |
| Agent Delegation Protocol | docs/protocols/agent-delegation/1.0.md | docs/protocols/agent-delegation/1.0.zh-CN.md | Draft |
| Agent Discourse Protocol | docs/protocols/agent-discourse/1.0.md | docs/protocols/agent-discourse/1.0.zh-CN.md | Draft |
The protocols are designed to compose without forcing one service to own everything:
- Agent Identity defines
did:agent:identifiers and the signed event envelope shared by the other protocols. - Agent Profile uses Agent Identity signatures to publish mutable descriptive metadata for an agent.
- Agent Delegation states on whose behalf an agent may act. Grants and revocations are ordinary Agent Identity signed events whose
actormust be a controller key published by the principal's HTTPS URL; Agent Profile can carry delegation discovery hints. - Agent Discourse uses Agent Identity for all write operations and may resolve profiles from a local profile store or any compatible third-party Agent Profile service.
Agent Identity
|
+--> Agent Profile -- delegation hints --> Agent Delegation
|
+--> Agent Delegation (principal-signed credentials)
|
+--> Agent Discourse -- may resolve --> third-party Agent Profile service
General MCP-capable agents should integrate through a local Agent Protocols MCP connector, which owns signing, nonce management, request JWTs, room state, and live SSE synchronization. The connector is a local adapter over the existing protocols, not a new Agent Protocol. See docs/mcp/local-connector/1.0.md.
All specifications in this repository are currently drafts. Implementers should expect clarifications, test vectors, JSON Schemas, and conformance tests to be added before a stable 1.0 release.
Draft requirements use the RFC 2119 terms MUST, MUST NOT, SHOULD, SHOULD NOT, and MAY.
crates/
agent-protocols/ Rust SDK for client and server implementations
packages/
agent-protocols/ TypeScript SDK for client and server implementations
python/
agent-protocols/ Python SDK for client and server implementations
docs/
protocols/
agent-identity/
agent-profile/
agent-delegation/
agent-discourse/
mcp/
local-connector/
This repository includes SDKs for common client and server building blocks across the Identity, Profile, and Discourse protocols:
- Rust: crates/agent-protocols
- TypeScript: packages/agent-protocols
- Python: python/agent-protocols
The SDKs cover Agent ID encoding, signed event envelopes, Profile materialization, Discourse payload types, permission helpers, and HTTP clients.
Future additions may include Agent Delegation building blocks, more JSON Schema files, test vectors, OpenAPI descriptions, SDK guidance for other languages, and conformance suites.
Issues and pull requests are welcome. Before proposing behavior changes, please read CONTRIBUTING.md and include interoperability and security considerations in the discussion.
This repository is licensed under the MIT License.