
Vouch Mcp
io.github.vouch-protocolPublished by GitHub account vouch-protocolv2.0.1Updated Oct 25, 2026
Sign and verify W3C Verifiable Credentials so AI agents can cryptographically authorize actions.
Overview
A local MCP server that lets an assistant create agent identities, sign and verify W3C Verifiable Credentials, scan for leaked keys, and decode DIDs.
- What you can do
- Create and manage agent identities (DIDs and keypairs) and decode DIDs to inspect them. Sign intents and payloads as W3C Verifiable Credentials with Data Integrity proofs, and verify credentials presented by other agents. Scan code and configuration for leaked Vouch key material before it ships. Serve over stdio by default, or optionally over HTTP or SSE on a configurable host and port.
- When to use it
- Use it when an agent needs cryptographic proof of who it is and what it intended to do, for example signing actions before calling an API, verifying another agent's credential, or checking a repository for exposed signing keys.
- Requirements
- Runs as a local Python package (vouch-mcp) over stdio. Requires the VOUCH_DID environment variable and the VOUCH_PRIVATE_KEY secret, a JWK JSON signing key held in the server process. Optional VOUCH_MCP_TRANSPORT, VOUCH_MCP_HOST and VOUCH_MCP_PORT control HTTP or SSE serving. Desktop only; no web executable.
Installation
In SourceWeft
- Open Vouch Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Vouch Protocol™
Vouch Protocol™ is a common-law trademark.
The Open Standard for Identity & Provenance of AI Agents
[C2PA Member] [CAI Member] [DIF Member] [Linux Foundation Member]
[Protected by Vouch] [OpenSSF Silver] [Code Coverage] [Discord]
Quick Start
Prefer to do it by hand? It is three commands:
Setting up an agent instead of git signing? vouch onboard --quick generates a working identity, allow-list, verifier, and heartbeat config in one command.
What's New in v1.0
Vouch Protocol v1.0 aligns directly with the open standard:
- Verifiable Credentials as the credential format (replacing v0.x JWS tokens).
- Data Integrity proofs with the
eddsa-jcs-2022cryptosuite (no JOSE, no Base64-wrapped payload, the credential remains human-readable JSON). - Multikey verification methods in DID Documents (algorithm-agnostic, ML-DSA-44 ready).
- Post-quantum profile as a Data Integrity proof set: the credential carries two independent proofs,
eddsa-jcs-2022andmldsa44-jcs-2024, an optional add-on for regulated deployments aligning with NIST CNSA 2.0 / NSM-10 timelines. - Three-way cross-implementation interop verified across Python, TypeScript, and Go.
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.
On the command line
vouch initgenerate an agent identity (a DID and keypair).vouch sign/vouch verifysign a payload and verify it.vouch gitsign every git commit cryptographically, set up in one command, with a verified badge for your README.vouch scanfind 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 attributeseparate 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 mediasign images, with C2PA support.
For your agents
- MCP server (
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. - Identity Sidecar keeps signing keys out of the model's context, so a prompt injection cannot read them.
- Vouch Shield a runtime check that inspects every tool call against your rules, like a customs officer at the door.
- Continuous trust heartbeats and session vouchers, so trust is a live signal that has to be renewed, not a badge that is issued once and trusted forever.
- Authority freshness a signed authority state with a counter that only goes up, so a state change (a fraud signal, a suspended mandate) collapses the acceptable freshness window to now for a high-consequence action, even when time-decay trust still passes. See docs/authority-freshness.md.
Framework integrations
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-langchaina LangChain tool that signs each tool call before it leaves the agent.vouch-langgraphsigns LangGraph tool calls and graph nodes, so a signed trail runs across the whole graph.vouch-crewaia CrewAI tool, with supervisor-to-worker delegation that can only narrow authority, never widen it.vouch-a2abinds an A2A (Agent2Agent) Agent Card to a Vouch identity, so two agents can verify each other before they collaborate.vouch-gooseregisters the Vouch MCP server as an extension for Block's Goose agent, so a Goose session can sign and verify out of the box.vouch-mlflowsigns an MLflow model artifact at registration time, bound to a content digest so any change to the weights breaks the signature.vouch-safetensorsembeds a credential in a.safetensorsheader, complementary to OpenSSF Model Signing, so a model carries who produced it.
The standalone vouch-mcp package above ships alongside these.
SDKs, in the language you use
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.
Robots and embodied agents
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. Fifteen 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 carry a proof set with an Ed25519 proof and an ML-DSA-44 proof, 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), 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), wear and degradation attestation (a robot signs its own wear level bound to its identity and hash-linked over time, and a deterministic rule narrows its physical capability scope as it degrades, so a worn robot operates inside a tighter, verifiable envelope than the static limit it shipped with), and bystander-consent evidence (a robot binds the basis for capturing people, an explicit token, posted notice, a legitimate interest, or a redaction it applied, to the capture itself by its hash, holding only hashes and never anyone's identifying data, and a bystander can sign consent bound to one capture so it cannot be replayed to another), 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-094.
Inside your AI tools
- Claude Skill, OpenAI Custom GPT, and Gemini Gem packages that teach your AI assistant how to add Vouch to your code, running on your own AI subscription.
Media and the web
- C2PA Content Credentials for images.
- Vouch Sonic an audio watermark that carries provenance through sound.
- Browser extension for Chrome and Edge that signs and verifies content on the page.
For your repositories
- Gatekeeper GitHub App verifies commit signatures on every pull request and blocks leaked Vouch keys before they merge.
For the ecosystem
- Agent Trust Index an open benchmark that scans agents in the wild and measures how many can actually prove who they are. (Spoiler: today, almost none.)
Read the spec → | Join Discord →
The Problem
AI agents are making real-world API calls with ZERO cryptographic proof of:
- WHO they are
- WHAT they intended to do
- WHEN they did it
Examples of the risk:
- Healthcare AI accesses patient data → HIPAA violation risk
- Financial AI makes unauthorized trades → Liability nightmare
- Customer service AI leaks data → Compliance failure
Current solutions:
- DIY JWT signing → No agent-specific features, security mistakes easy
- Nothing → Most people just YOLO it and hope for the best
The Solution
Vouch Protocol provides cryptographic identity for AI agents, modeled after SSL/TLS:
- Verifiable Credentials (VC Data Model 2.0)
- Data Integrity proofs (
eddsa-jcs-2022cryptosuite, no JOSE/JWS dependency) - Decentralized Identifiers (
did:web,did:key) - Multikey verification methods (algorithm-agnostic, post-quantum ready)
- Post-quantum profile (optional proof set:
eddsa-jcs-2022+mldsa44-jcs-2024) - Human-readable JSON (proof attaches as a sibling object, no Base64-wrapped opaque payload)
- Framework-agnostic (works with MCP, LangChain, CrewAI, AutoGPT, AutoGen, Vertex AI)
- Cross-language interop (Python, TypeScript, Go, byte-identical canonical form)
- Open source (Apache 2.0 license, CC0 prior-art portfolio)
Think of it as:
- SSL certificate = Proves website identity
- Vouch Protocol = Proves AI agent identity
How It Works
The Workflow
4 Simple Steps:
- Generate Identity: Create an Ed25519 keypair and a DID, publish a DID Document with a Multikey verification method.
- Sign Action: Agent's sidecar issues a Verifiable Credential carrying
action,target, andresource, secured by aneddsa-jcs-2022Data Integrity proof. - Send to API: Transmit the credential as the HTTP request body with
Content-Type: application/vc+vouch(or via the legacyVouch-Tokenheader for v0.x compatibility; the priorapplication/vouch+credential+jsonContent-Type is retained as a transitional alias). - Verify: API resolves the issuer's DID, validates the Data Integrity proof, checks temporal claims and the resource binding, returns a
CredentialPassport.
The Trust Model
Trust = Verifiable Credentials + Data Integrity + Decentralized Identifiers + Multikey, with an optional post-quantum proof set. The same math that secures SSL/TLS, plus the standardized primitives that secure verifiable credentials elsewhere on the web, applied to AI agents.
Why Vouch Protocol?
vs. DIY JWT
Quick Start
1. Install
2. Generate Identity
3. Sign an Action (Agent Side)
v1.0 path (VC + Data Integrity, recommended):
4. Verify (API Side)
v1.0 path:
That's it. A few lines to sign, a few to verify, on either path.
Integrations
Works with all major AI frameworks out-of-the-box:
- Model Context Protocol (MCP): native integration for Claude Desktop and Cursor
- LangChain: sign tool calls automatically
- CrewAI: multi-agent identity management
- AutoGPT: autonomous agent signing
- AutoGen: Microsoft multi-agent framework
- Google Vertex AI: sign function calls
- Google ADK: native ADK tool integration
- n8n: low-code agent workflows
Enterprise Features
- Key Rotation: automatic rotating keys for production
- Voice AI Signing: sign audio frames in real-time
- Cloud KMS: AWS KMS, GCP Cloud KMS, Azure Key Vault
- Reputation Scoring: track agent behavior over time
- Revocation Registry: blacklist compromised keys
- Redis Caching: production-scale verification
- Post-Quantum Profile: an optional proof set carrying an
eddsa-jcs-2022proof and anmldsa44-jcs-2024proof for regulated deployments aligning with NIST CNSA 2.0 / NSM-10 migration timelines
Post-Quantum Example
Use Cases
Financial Services
Customer Service
Healthcare AI
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.
Use cases
- Financial services. A signed, accountable record of every trade or transfer an agent makes.
- Healthcare. An auditable trail for every access to patient data.
- Customer service. Proof of which agent touched which customer record, and on whose authority.
- Agent to agent. When one organization's agent calls another's, each can verify the other before acting.
Documentation
- Quick Start
- Vouch Specification (v1.6 normative)
- Post-Quantum Implementation Guide
- Protocol Specification (developer guide)
- Integration Guides
- Threat Model and Security Considerations
- Defensive Prior Art Disclosures (61 PADs, CC0)
- FAQ and Discussions
Community
- Discord - Ask questions, share use cases → Join now
- GitHub Discussions - Technical discussions → Start a discussion
- Twitter/X - Updates and announcements → @Vouch_Protocol
Roadmap
v1.6 (current release)
- Verifiable Credentials + Data Integrity (
eddsa-jcs-2022cryptosuite) - Multikey verification methods (algorithm-agnostic, multibase + multicodec)
- Post-quantum profile (
eddsa-jcs-2022+mldsa44-jcs-2024proof set, NIST CNSA 2.0 / NSM-10 aligned) - Three-language reference implementation (Python, TypeScript, Go) with byte-identical canonical form via RFC 8785 JCS, verified against shared test vectors
- Specification drafted and submitted to the open standards group for incubation
- 55 Prior Art Disclosures (CC0 defensive publications)
- Identity Sidecar architecture (LLM-isolated keys)
- Heartbeat Protocol with adaptive Trust Entropy
- Resource-bound delegation chains with capability narrowing
- MCP integration (Claude Desktop, Cursor)
- Framework adapters (LangChain, CrewAI, AutoGPT, AutoGen, Vertex AI, Google ADK, n8n)
- C2PA Content Credentials integration
- Audio watermarking (Vouch Sonic, sub-band steganography)
- DID-linked voice biometric enrollment
- Browser extension (Chrome / Edge content signing)
- GitHub App and Cloudflare Workers verification gateway
Next (v1.7 and beyond)
- Independent third-party cryptographic security audit (Trail of Bits / NCC Group / Cure53)
- Specification stabilization and external review
- Algorithm Quorum verification (M-of-N cryptosuite diversity, per PAD-046)
- Verifiable Delay Function rate-limiting for high-stakes agent actions (per PAD-047)
- Cryptographic Weight Binding for model-intrinsic AI identity (per PAD-043)
- Ephemeral ZK-State Channels for high-frequency agent-to-agent negotiation (per PAD-044)
- Retrieval-anchored proof of non-hallucination (per PAD-045)
- Standardized agent ledger metadata schema (per PAD-042)
- Edge-first WASM + ONNX client-side processing
- Hardware key support (YubiKey, TPM, Secure Enclave)
- Native Rust implementation for edge and embedded deployments
View full roadmap and issue tracker →
License
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.
Acknowledgments
Inspired by:
- SSL/TLS (the gold standard for identity)
- OAuth 2.0 (federated identity done right)
- Verifiable Credentials (the future of digital identity)
Built by Ramprasad Gaddam (Twitter/X)
Contributing
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:
- Additional framework integrations (Haystack, Semantic Kernel, LlamaIndex, others)
- Cross-implementation interop test vectors (additional edge cases for JCS, VC, post-quantum proof sets)
- Tutorials and worked examples for regulated-sector deployments
- Independent security review and audit
- Reference implementations in additional languages (Rust, Java, .NET)
Contributors
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
Prior Art Disclosures
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:
Source: README.md at commit 058028c
Tools
0Version history
1- v2.0.1LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.