mcpField
P
proof-layer

proof-layer

Local
prooflayer.world999labs.comSecurity0Updated 26w ago

About proof-layer

proof-layer provides pre-action governance receipts for AI agent actions. Its local MCP server evaluates proposed actions, while signed, hash-chained receipts can be verified offline with a separate verifier.

Key features

  1. 01Pre-execution action evaluation
  2. 02Signed execution verdicts
  3. 03Hash-chained audit receipts
  4. 04Offline receipt verification
  5. 05MCP tools for agent hosts

Use cases

  1. 01Checking an agent action before it runs
  2. 02Recording decisions for an audit trail
  3. 03Verifying receipt bundles without an API call

MCP support

The `@proof-layer/mcp` package is an MCP server for Claude Desktop, Cursor, Cline, and other MCP-aware hosts. It provides eight tools for governance workflows.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"world-999-labs-proof-layer": {
"command": "npx",
"args": [
"-y",
"@proof-layer/mcp"
],
"env": {
"PROOF_LAYER_API_KEY": "<PROOF_LAYER_API_KEY>",
"PROOF_LAYER_API_URL": "<PROOF_LAYER_API_URL>",
"PROOF_LAYER_TELEMETRY": "<PROOF_LAYER_TELEMETRY>"
}
}
}
}
Run commandnpx -y @proof-layer/mcp
Environment variables to set
PROOF_LAYER_API_KEYSecretYour Proof Layer API key from https://prooflayer.world999labs.com/dashboard/keys
PROOF_LAYER_API_URLOverride the default API endpoint (default: https://prooflayer.world999labs.com)
PROOF_LAYER_TELEMETRYSet to 'off' to disable anonymous usage telemetry (default: on)

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@proof-layer/mcp1.0.1

Tools

8

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
agent_idstringYesIdentifier for the AI agent making the proposal
parametersobjectNoAction-specific parameters as a JSON object
action_typestringYesSemantic name for the action (e.g. 'send_email', 'delete_record', 'make_payment')
idempotency_keystringNoOptional unique key — same key returns the cached receipt
guardian_timeout_policyenumNoWhat to do if the Guardian times out. Default: fail_closed (block the action)fail_closed | fail_open

Details

From the project README

Proof Layer

@proof-layer/mcp @proof-layer/verify License: MIT MCP compatible Live deployment

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:

PackageWhat it doesnpm
@proof-layer/mcpMCP server for Claude Desktop, Cursor, Cline, and any MCP-aware hostnpm
@proof-layer/verifyStandalone offline verifier — zero dependencies, audits any receipt bundle with just our public keynpm

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 legacy vd_* tool names continue to work alongside pl_*, and existing VERIDOCS_API_KEY / VERIDOCS_API_URL environment 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:

  1. Agent proposes an action (e.g. "send wire transfer for $50,000")
  2. Proof Layer evaluates → returns signed verdict: EXECUTE / BLOCK / REVIEW / SHADOW
  3. Receipt is written to a hash-chained, Ed25519-signed audit trail
  4. 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


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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.