npm @proof-layer/mcpstdioMITupdated 4mo ago
Cryptographic governance receipts for AI agents. Issued before the agent acts. Ed25519-signed. Hash-chained. Verifiable offline.
What can you do with proof layer?
Proof Layer
Cryptographic governance receipts for AI agents. Issued before the agent acts. Ed25519-signed. Hash-chained. Verifiable offline.
Built by WORLD999_LABS. Published on npm under
@proof-layer/*. The legacy@veridocs/*package names continue to resolve and forward to the new ones.
What this repo contains
This is the public half of Proof Layer — the parts you install and run on your own machine:
| Package | What it does | npm |
|---|---|---|
@proof-layer/mcp |
MCP server for Claude Desktop, Cursor, Cline, and any MCP-aware host | |
@proof-layer/verify |
Standalone offline verifier — zero dependencies, audits any receipt bundle with just our public key |
The kernel (governance engine, Gauntlet adversary/judge pipeline, billing, dashboard) is closed-source and runs at prooflayer.world999labs.com. Open-source clients + closed-source server is the same pattern Stripe, Resend, and Vercel use — you get full transparency on what runs locally and what data leaves your machine, while the proprietary server logic stays protected.
Quick start
npx -y @proof-layer/mcp@latest
Drop into Claude Desktop's claude_desktop_config.json:
{
"mcpServers": {
"proof-layer": {
"command": "npx",
"args": ["-y", "@proof-layer/mcp@latest"],
"env": {
"PROOF_LAYER_API_KEY": "pl_live_...",
"PROOF_LAYER_API_URL": "https://prooflayer.world999labs.com"
}
}
}
}
Restart Claude. Eight pl_* tools appear in the picker. Get an API key at prooflayer.world999labs.com.
Migrating from
@veridocs/mcp? No code changes required. The legacy package name continues to resolve, the legacyvd_*tool names continue to work alongsidepl_*, and existingVERIDOCS_API_KEY/VERIDOCS_API_URLenvironment variables are still accepted. You can switch the package name and env-var names on your own schedule.
Why pre-execution governance?
Most "AI safety" tools run after the model has acted — toxicity filters, output classifiers, post-hoc audit logs. By the time the alarm fires, the agent has already sent the email, merged the PR, or executed the trade.
Proof Layer flips this:
- Agent proposes an action (e.g. "send wire transfer for $50,000")
- Proof Layer evaluates → returns signed verdict:
EXECUTE/BLOCK/REVIEW/SHADOW - Receipt is written to a hash-chained, Ed25519-signed audit trail
- Anyone with our public key can verify the entire chain offline — no trust in our infra required
A broken hash chain = tampering, immediately visible. A missing receipt = the agent acted without permission.
Verifying receipts offline
Receipts are designed to outlive us. Here's how to verify a bundle without ever calling our API:
import { verifyBundle } from "@proof-layer/verify";
import fs from "fs";
const bundle = fs.readFileSync("./receipts.ndjson", "utf8");
const publicKey = fs.readFileSync("./prooflayer-public-key.pem", "utf8");
const result = verifyBundle(bundle, publicKey);
console.log(result);
// { pass: 147, fail: 0, total: 147, chainBroken: false }
Public key is published at prooflayer.world999labs.com/v1/public-key and rotates on a published schedule.
Resources
- 🌐 Homepage: https://prooflayer.world999labs.com
- 🎬 Live demo (no signup): https://prooflayer.world999labs.com/demo
- 📖 MCP docs: packages/mcp/README.md
- 🔒 Privacy policy: PRIVACY.md
- 🐛 Report issues: GitHub Issues
- 💬 Support: support@world999labs.com
License
MIT — see LICENSE.
The kernel and dashboard are proprietary and not included in this repo. The MCP server, verifier, and all client SDKs published under @proof-layer/* (and the legacy @veridocs/* names) are MIT-licensed.
Contributing
Pull requests, issues, and feedback welcome. See CONTRIBUTING.md.
Install
Add proof layer to your client. Pick the one you use.
claude mcp add mcp -- npx -y @proof-layer/mcpcodex mcp add mcp -- npx -y @proof-layer/mcpamp mcp add mcp -- npx -y @proof-layer/mcp{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@proof-layer/mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@proof-layer/mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"mcp","command":"npx","args":["-y","@proof-layer/mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@proof-layer/mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@proof-layer/mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"-y",
"@proof-layer/mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@proof-layer/mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp": {
"command": {
"path": "npx",
"args": [
"-y",
"@proof-layer/mcp"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @proof-layer/mcpRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Score
69 / 100
Good
- Documentation25/25
- Maintenance13/25
- Trust16/20
- Capability3/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 120 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 1.0.1Latest | May 3, 2026 |