Server data from the Official MCP Registry
Sign and verify W3C Verifiable Credentials so AI agents can cryptographically authorize actions.
Sign and verify W3C Verifiable Credentials so AI agents can cryptographically authorize actions.
Vouch Protocol is a well-architected cryptographic identity framework for AI agents with proper authentication, delegation patterns, and security-conscious design. The codebase demonstrates strong attention to credential handling, uses industry-standard libraries (jwcrypto, pydantic), and includes hybrid post-quantum cryptographic support. Minor code quality observations exist around dependency management and optional dependency structure, but no critical vulnerabilities or malicious patterns detected. Permissions align well with the server's stated purpose of identity and provenance signing. Supply chain analysis found 13 known vulnerabilities in dependencies (0 critical, 4 high severity). Package verification found 1 issue (1 critical, 0 high severity).
4 files analyzed · 19 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Unverified package source
We couldn't verify that the installable package matches the reviewed source code. Proceed with caution.
Set these up before or after installing:
Environment variable: VOUCH_PRIVATE_KEY
Environment variable: VOUCH_DID
Environment variable: VOUCH_MCP_TRANSPORT
Environment variable: VOUCH_MCP_HOST
Environment variable: VOUCH_MCP_PORT
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-vouch-protocol-vouch-mcp": {
"env": {
"VOUCH_DID": "your-vouch-did-here",
"VOUCH_MCP_HOST": "your-vouch-mcp-host-here",
"VOUCH_MCP_PORT": "your-vouch-mcp-port-here",
"VOUCH_PRIVATE_KEY": "your-vouch-private-key-here",
"VOUCH_MCP_TRANSPORT": "your-vouch-mcp-transport-here"
},
"args": [
"vouch-protocol"
],
"command": "uvx"
}
}
}From the project's GitHub README.
Vouch Protocol™ — common-law trademark.
# Install (Linux and macOS). On Windows, use: pip install vouch-protocol
curl -fsSL https://vouch-protocol.com/install.sh | sh
# Run vouch with no arguments and pick what you want to do
vouch
Prefer to do it by hand? It is three commands:
pip install vouch-protocol
# One command to configure SSH signing + Vouch branding
vouch git init
# All future commits are now signed and show ✅ Verified on GitHub
git commit -m "Secure commit"
Setting up an agent instead of git signing? vouch onboard --quick generates a working identity, allow-list, verifier, and heartbeat config in one command.
Vouch Protocol v1.0 aligns directly with the open standard:
eddsa-jcs-2022 cryptosuite (no JOSE, no Base64-wrapped payload, the credential remains human-readable JSON).hybrid-eddsa-mldsa44-jcs-2026) as an optional add-on for regulated deployments aligning with NIST CNSA 2.0 / NSM-10 timelines.Credentials are issued with Signer.sign() and checked with Verifier.verify(). See the Specification at vouch-protocol.com/specs/SPEC/ for the full specification.
The Open Standard for AI Agent Identity & Accountability
When Anthropic launched MCP, they solved "how agents call tools." They didn't solve "how we TRUST those agents."
Vouch Protocol is the SSL certificate for AI agents.
Vouch is not one tool, it is a set of them. Here is the whole map.
vouch init generate an agent identity (a DID and keypair).vouch sign / vouch verify sign a payload and verify it.vouch git sign every git commit cryptographically, set up in one command, with a verified badge for your README.vouch scan find leaked Vouch key material in your code before it ships (a private key in a file, a seed in an env var, a DID document that accidentally carries a private key).vouch attribute separate who wrote which line. When an AI assistant and a human both edit a file, this records the AI's lines under the AI's own key and your lines under yours, so when a line causes an incident you can prove which of you wrote it. See the Claude Code integration.vouch media sign images, with C2PA support.vouch-mcp) a standalone Model Context Protocol server so any MCP client (Claude Desktop, Cursor, any agent) can create an identity, sign and verify credentials, scan for leaked keys, and decode DIDs, out of the box.Standalone packages that drop Vouch into the agent framework you already use. Each one issues a verifiable credential for a tool call, with optional delegation back to a human principal.
vouch-langchain a LangChain tool that signs each tool call before it leaves the agent.vouch-crewai a CrewAI tool, with supervisor-to-worker delegation that can only narrow authority, never widen it.vouch-a2a binds an A2A (Agent2Agent) Agent Card to a Vouch identity, so two agents can verify each other before they collaborate.vouch-mlflow signs an MLflow model artifact at registration time, bound to a content digest so any change to the weights breaks the signature.vouch-safetensors embeds a credential in a .safetensors header, complementary to OpenSSF Model Signing, so a model carries who produced it.The standalone vouch-mcp package above ships alongside these in v1.6.2.
Python, TypeScript, and Go are the full reference implementations. A Rust core with idiomatic Swift, JVM (Java and Kotlin), .NET, and C wrappers shares one codebase, so every language produces byte-identical output, verified against shared test vectors. A WebAssembly build is included for the browser and the edge. See the table further down for status per language.
A robot is an agent with a body, so identity and accountability matter even more once it can cause physical harm. The vouch.robotics module ships six capabilities on the same eddsa-jcs-2022 credentials as the rest of Vouch: hardware-rooted identity (bound to a TPM or secure element, so it cannot be cloned to other hardware), model and config provenance (re-signable on every OTA update), physical capability scope (force, speed, a tighter cap near humans, allowed zones, and shift windows, checked before each actuation, with narrow-only delegation), a robot-to-robot trust handshake, an encrypted tamper-evident black box with a verifiable kill switch, and a scannable offline passport. All six are implemented in Python, TypeScript, Go, and the Rust core, which flows to the Swift, Kotlin/JVM, .NET, C/C++, and WebAssembly wrappers, so a robotics credential signed in one language verifies in every other. Thirteen further capabilities round out the set: a living-trust heartbeat (a signed per-interval motion summary whose trust decays unless it is renewed in-envelope), two-level credential revocation (per-credential status lists and whole-DID kill), an accountable safety record (a tamper-evident incident ledger summarized into a portable signed record), signed perception provenance (each captured sensor frame's hash bound to the robot's key and hash-linked, so a robot can prove what its sensors saw and a substituted frame is detectable), an offline delegation lease (a short-lived, scope-bounded grant a disconnected robot verifies and acts on with no network call, nesting across vendors), a physical quorum (a cryptographic two-person rule requiring M of N attested approvers for a high-consequence action), lifecycle credentials (ownership transfer that chains into a verifiable chain of custody, key rotation that forms a key history, and a signed decommission that retires the robot), a regulatory conformance profile (a machine-checkable mapping from a robot's credentials to the clauses of ISO 10218 and 15066, the EU Machinery Regulation, the EU AI Act, and UL 3300, with a deterministic checker and a signed conformance attestation), post-quantum signing by default (robot credentials sign with the hybrid classical-plus-ML-DSA-44 cryptosuite, with backward-compatible verification, so a robot stays unforgeable across its decade-long life), and cross-embodiment identity continuity (an agent identity that moves between robot bodies, with an embodiment credential re-binding to each body's hardware root and a continuity chain that proves the same accountable agent persisted, plus a fork check), a physical custody handoff chain (a signed record of who accepted custody of a task or object at each hop across human and robot actors, so an incident traces to the exact hop and an attested condition localizes damage to the holder responsible), bounded infrastructure access (an operator-signed grant naming a resource, its permitted operations, an optional zone, and a time window, which a robot pairs with a signed request the resource authorizes offline, so a robot can open a door or dock at a charger with a tamper-evident, attributable, shrink-only record), and fused-sensor provenance (a signed attestation binding a robot's fused world model to the exact set of input frame hashes and the fusion method that produced it, so a manipulated fusion result or a dropped input is detectable and every fused input traces to a frame the robot recorded), implemented across the same languages and pinned by the shared interop vector. See docs/robotics.md and the defensive disclosures PAD-064 through PAD-070, PAD-076 through PAD-084, and PAD-087 through PAD-090.
Read the spec → | Join Discord →
AI agents are making real-world API calls with ZERO cryptographic proof of:
Examples of the risk:
Current solutions:
Vouch Protocol provides cryptographic identity for AI agents, modeled after SSL/TLS:
eddsa-jcs-2022 cryptosuite, no JOSE/JWS dependency)did:web, did:key)hybrid-eddsa-mldsa44-jcs-2026)Think of it as:
flowchart LR
P["👤 Principal<br/>did:web:user.example.com"]
A["🤖 AI Agent<br/>did:web:agent.example.com<br/>+ Identity Sidecar"]
C["📄 Vouch Credential<br/>VC + Data Integrity<br/>(eddsa-jcs-2022)"]
API["🔐 API Endpoint"]
V{"✅ Verified"}
P -->|"Delegation VC"| A
A -->|"sign(intent)"| C
C -->|"HTTP body<br/>application/vc+vouch"| API
API -->|"verify()"| V
4 Simple Steps:
action, target, and resource, secured by an eddsa-jcs-2022 Data Integrity proof.Content-Type: application/vc+vouch (or via the legacy Vouch-Token header for v0.x compatibility; the prior application/vouch+credential+json Content-Type is retained as a transitional alias).CredentialPassport.flowchart TB
subgraph IDENTITY["Identity Layer"]
DID["DID<br/>did:web / did:key"]
MK["Multikey<br/>algorithm-agnostic key encoding"]
end
subgraph FORMAT["Credential Layer"]
VC["Verifiable Credential<br/>(VC Data Model 2.0)"]
INTENT["Intent payload<br/>action · target · resource"]
end
subgraph CRYPTO["Cryptographic Proof"]
JCS["JCS canonicalization (RFC 8785)"]
DEFAULT["eddsa-jcs-2022<br/>(Ed25519, default)"]
HYBRID["hybrid-eddsa-mldsa44-jcs-2026<br/>(Ed25519 + ML-DSA-44, optional)"]
end
IDENTITY --> FORMAT
FORMAT --> CRYPTO
JCS --> DEFAULT
JCS --> HYBRID
Trust = Verifiable Credentials + Data Integrity + Decentralized Identifiers + Multikey, with optional hybrid post-quantum signatures. The same math that secures SSL/TLS, plus the standardized primitives that secure verifiable credentials elsewhere on the web, applied to AI agents.
| Feature | Vouch Protocol | DIY JWT |
|---|---|---|
| Agent-specific | ✅ (designed for agents) | ❌ (generic) |
| MCP integration | ✅ (native) | ❌ (manual) |
| Framework integrations | ✅ (LangChain, CrewAI, etc.) | ❌ |
| Audit trail format | ✅ (VC standardized) | ❌ (custom) |
| standards-aligned | ✅ (eddsa-jcs-2022 Data Integrity) | ❌ |
| Multikey verification methods | ✅ (algorithm-agnostic) | ❌ |
| Hybrid post-quantum signatures | ✅ (hybrid-eddsa-mldsa44-jcs-2026) | ❌ |
| Cross-implementation interop tests | ✅ (Python, TypeScript, Go) | ❌ |
| Security best practices | ✅ (built-in) | ⚠️ (easy to mess up) |
# Linux and macOS: one line
curl -fsSL https://vouch-protocol.com/install.sh | sh
# Or with pip (any platform)
pip install vouch-protocol
vouch init --domain your-agent.com
v1.0 path (VC + Data Integrity, recommended):
from vouch import Signer
import os
signer = Signer(
private_key=os.environ['VOUCH_PRIVATE_KEY'],
did=os.environ['VOUCH_DID']
)
credential = signer.sign(intent={
'action': 'read_database',
'target': 'users_table',
'resource': 'https://api.example.com/v1/users',
})
# Send credential as the JSON body of the API request, content-type
# application/vc+vouch
v1.0 path:
from fastapi import FastAPI, Request, HTTPException
from vouch import Verifier
app = FastAPI()
@app.post("/api/resource")
async def protected_route(request: Request):
credential = await request.json()
public_key = '{"kty":"OKP", ...}' # Resolved from did:web or trusted root
is_valid, passport = Verifier.verify(credential, public_key=public_key)
if not is_valid:
raise HTTPException(status_code=401, detail="Untrusted Agent")
return {
"status": "Verified",
"agent": passport.sub,
"intent": passport.intent,
}
That's it. A few lines to sign, a few to verify, on either path.
Works with all major AI frameworks out-of-the-box:
hybrid-eddsa-mldsa44-jcs-2026) for regulated deployments aligning with NIST CNSA 2.0 / NSM-10 migration timelines# Optional v1.0 profile, requires `pip install pqcrypto`
credential = signer.sign_hybrid(intent={
'action': 'submit_clinical_finding',
'target': 'trial:NCT00000001',
'resource': 'https://fda-submissions.example.com/api/findings',
})
# Carries both Ed25519 and ML-DSA-44 signatures over the same JCS canonical form.
# Verification REQUIRES both to validate.
# SEC-compliant trade logging
agent.sign({'action': 'execute_trade', 'amount': 10000, 'symbol': 'AAPL'})
# Data access accountability
agent.sign({'action': 'read_customer_data', 'customer_id': 'cust_abc'})
# HIPAA-compliant audit trail
agent.sign({'action': 'access_phi', 'patient_id': '12345'})
To keep this space free from patent capture, the project publishes 61 defensive prior-art disclosures under CC0, covering cryptographic identity, media provenance, voice biometrics, AI safety, post-quantum cryptography, AI coding governance, and per-region human-or-AI code authorship. See docs/disclosures.
eddsa-jcs-2022 cryptosuite)hybrid-eddsa-mldsa44-jcs-2026, NIST CNSA 2.0 / NSM-10 aligned)View full roadmap and issue tracker →
Apache License 2.0: See LICENSE
You can use this freely in commercial and open-source projects.
The 61 defensive prior-art disclosures are released under CC0 1.0 Universal to ensure ecosystem freedom from patent capture.
The Vouch Protocol specification is being developed as a open standard submission via the open standards group. The implementation is also being proposed to the Linux Foundation's AI & Data Foundation.
Inspired by:
Built by Ramprasad Gaddam (Twitter/X)
Contributions welcome. See CONTRIBUTING.md. Looking for a place to start? Browse our good first issues, and open a ready-made dev environment with one click using the Open in GitHub Codespaces badge above.
Areas where help is most useful:
Thanks goes to these wonderful people. This section is maintained automatically by the all-contributors bot.
Star this repo if you find it useful.
Star on GitHub | Join Discord | Follow on X
To ensure ecosystem freedom, we publish 55 defensive prior art disclosures (CC0 public domain) covering novel methods across cryptographic identity, media provenance, voice biometrics, AI safety, post-quantum cryptography, AI coding assistant governance, and content authenticity:
| ID | Title | Category |
|---|---|---|
| PAD-001 | Cryptographic Agent Identity | Identity |
| PAD-002 | Chain of Custody Delegation | Identity |
| PAD-003 | Identity Sidecar Pattern | Architecture |
| PAD-004 | DOM-Traversing Signature Matching | Verification |
| PAD-005 | Detached Signature Recovery | Verification |
| PAD-006 | URL-Based Credential Chaining | Trust |
| PAD-007 | Automated Provenance via Input Telemetry | Provenance |
| PAD-008 | Hybrid Identity Bootstrapping | Identity |
| PAD-009 | Unified Local Identity via Localhost Bridge | Architecture |
| PAD-010 | Context-Adaptive Semantic Consent | Privacy |
| PAD-011 | Hierarchical Discovery Protocol | Discovery |
| PAD-012 | Executable Usage Covenants in Media Manifests | Media / Rights |
| PAD-013 | Air-Gapped Identity via Psychoacoustic Steganography | Audio |
| PAD-014 | Robust Acoustic Provenance via Steganography | Audio |
| PAD-015 | Ambient Witness Protocol (BLE Crowdsourcing) | IoT / Provenance |
| PAD-016 | Dynamic Credential Renewal ("Heartbeat Protocol") | Identity |
| PAD-017 | Cryptographic Proof of Reasoning | AI Safety |
| PAD-018 | Model Lineage Provenance ("Birth Certificate Protocol") | AI Safety |
| PAD-019 | Transparent Agent Communication | AI Safety |
| PAD-020 | Capability Acquisition Containment | AI Safety |
| PAD-021 | Graduated Autonomy via Inverse Capability Scaling | AI Safety |
| PAD-022 | Agent Population Governance | AI Safety |
| PAD-023 | Machine-Readable Content Usage Policies in Audio Watermarks | Audio / Rights |
| PAD-024 | Temporal Perceptual Hashing for Video Provenance | Video |
| PAD-025 | Edge-First Content Provenance via Client-Side WASM | Architecture |
| PAD-026 | DID-Linked Voice Biometric Enrollment | Voice / Biometrics |
| PAD-027 | Shamir Secret Sharing of Biometric Enrollment Data | Recovery / Biometrics |
| PAD-028 | Unified Cross-Modal Identity-Bound Provenance | Multi-Modal / Identity |
| PAD-029 | Identity-Verified Communication Shield | Elder Safety / Voice |
| PAD-030 | Zero-Knowledge Reputation Portability | Privacy / Trust |
| PAD-031 | Adversarial Provenance Honeypots | Adversarial Detection |
| PAD-032 | Cryptographic Mortality Protocol | Identity Lifecycle |
| PAD-033 | ZK Proof Compression for Post-Quantum Signatures | Post-Quantum / ZKP |
| PAD-034 | Composite Threshold Aggregation for Swarm Consensus | Post-Quantum / Swarm |
| PAD-035 | Asynchronous Chunked Verification and Edge PQ Signatures | Post-Quantum / Edge |
| PAD-036 | Aggregated Reputation Scoring via Verifiable State Receipts | Trust / Enterprise |
| PAD-037 | Cross-Protocol Agent Credential Federation | Identity / Enterprise |
| PAD-038 | Decentralized Agent Capability Discovery | Discovery / Multi-Agent |
| PAD-039 | Cross-Implementation Deterministic Multi-Party Trust State via JCS | Cross-Impl Determinism |
| PAD-040 | Hybrid Composite Signature Bound to Same Canonical Bytes (Ed25519 + ML-DSA-44) | Post-Quantum / Hybrid |
| PAD-041 | Algorithm-Agnostic Verification Method Resolution via Multikey Multicodec | Verification / Multikey |
| PAD-042 | Standardized Metadata Schema for AI Agent Ledger Signatures | Metadata / Audit |
| PAD-043 | Cryptographic Weight Binding for Model-Intrinsic AI Identity | AI Identity / Model |
| PAD-044 | Ephemeral ZK-State Channels for Agentic Layer 2 Scalability | Scalability / ZK |
| PAD-045 | Proof of Non-Hallucination via Cryptographic Retrieval Anchoring | AI Safety / RAG |
| PAD-046 | Algorithm Quorum Verification via M-of-N Cryptosuite Diversity | Defense in Depth |
| PAD-047 | Verifiable Delay Functions for Cryptographic Rate-Limiting | Agent Containment |
| PAD-048 | Write-Only Async Context Ledger for LLM Coding Assistants | AI Coding / IP Protection |
| PAD-049 | Decoupled Semantic Policy Extraction via Passive Source Monitoring | AI Coding / IP Protection |
| PAD-050 | Zero-Context Deterministic Egress Interception | AI Coding / Egress Control |
| PAD-051 | Parallel Intent Extraction via Local Shadow Models | AI Coding / Local-First |
| PAD-052 | UI State Sniffing for Closed-Box AI Coding Tools | AI Coding / Compatibility |
| PAD-053 | Time-Bounded Ephemeral Rules with Auto-Expiry | AI Coding / Lifetime |
| PAD-054 | Filesystem-Hierarchy Policy Inheritance for AI Coding Workspaces | AI Coding / Composition |
| PAD-055 | Cross-Session Policy Re-Anchoring via Pre-Flight Context Replay | AI Coding / Continuity |
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.