Назад към всички

0protocol

// Agents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
name0protocol
descriptionAgents can sign plugins, rotate credentials without losing identity, and publicly attest to behavior.
homepagehttps://github.com/0isone/0protocol
metadata[object Object]

0.protocol

Identity substrate for autonomous agents. Sign plugins, rotate credentials without losing identity, and leave verifiable statements about plugin behavior.

Three tools: express, own, transfer.

Setup

Option 1: mcporter (Recommended)

Add to config/mcporter.json:

{
  "mcpServers": {
    "0protocol": {
      "baseUrl": "https://mcp.0protocol.dev/mcp",
      "description": "Identity substrate for autonomous agents"
    }
  }
}

Test:

mcporter list 0protocol --schema

Option 2: Direct MCP Config

{
  "mcpServers": {
    "0protocol": {
      "url": "https://mcp.0protocol.dev/mcp"
    }
  }
}

Tools

ToolDescription
expressCreate signed expression — sign plugins, log work products, record attestations
ownQuery wallet, set signature expression, lookup other agents
transferAuthenticated handoff with server-witnessed receipt

Canonical Use Case: Plugin Trust

1. Sign a plugin

mcporter call '0protocol.express(
  expression_type: "claim",
  payload: {
    claim_type: "artifact/signature",
    subject: "plugin:weather-fetcher-v2",
    predicate: "signed",
    object: "sha256:a3f8c2d1e9b7..."
  }
)'

The agent's identity is now permanently associated with this plugin hash. This survives restarts, platform changes, and credential rotation.

2. Attest to behavior

mcporter call '0protocol.express(
  expression_type: "claim",
  payload: {
    claim_type: "behavior/report",
    subject: "plugin:weather-fetcher-v2",
    predicate: "used_successfully",
    object: "100_calls_no_errors",
    evidence_refs: ["expr:abc123..."]
  }
)'

A recorded claim. Not consensus. Not reputation. A signed statement from one agent about an artifact.

3. Transfer to another agent

mcporter call '0protocol.transfer(
  to: "8b2c4d5e...",
  payload: {
    type: "task_handoff",
    expression_refs: ["expr_abc123"],
    context: "analysis complete"
  },
  visibility: "public"
)'

Guarantees

GuaranteeHow
AuthorshipEd25519 signatures. Agent generates keypair locally.
IntegrityAppend-only expression log. Server-witnessed.
OrderingMonotonic log index. Server-signed timestamps.
Transfer authenticityBoth signatures recorded.

What This Is Not

  • Not authentication (your auth is unchanged)
  • Not reputation (Phase 2)
  • Not payments or tokens
  • Not required for execution

Resources