MCP Tool Run Records
PEAC records evidence for MCP tool invocations. When an AI agent calls a tool via the Model Context Protocol, PEAC can issue a signed record proving what was invoked, with what parameters (or a digest of them), and what the outcome was.
MCP server (5 built-in tools)
Install the PEAC MCP server for Claude Desktop, Cursor, VS Code, or any MCP client:
npm install -g @peac/mcp-server
Tools available:
peac_verify-- verify a record offline given a JWS and public keypeac_inspect-- decode and inspect a record's claimspeac_decode-- decode without signature verificationpeac_issue-- issue a new signed record (requires signing key)peac_create_bundle-- bundle multiple records into a portable archive
Carrying records in tool responses
Use @peac/mappings-mcp to attach records to MCP tool responses via _meta:
import { attachReceiptToMeta } from '@peac/mappings-mcp';
import { computeReceiptRef } from '@peac/schema';
import { issue } from '@peac/protocol';
const { jws } = await issue({
iss: 'https://issuer.example',
kind: 'evidence',
type: 'org.example/mcp-tool-run',
privateKey,
kid: 'peac-2026-03',
});
const receipt_ref = await computeReceiptRef(jws);
const meta = attachReceiptToMeta({}, { receipt_jws: jws, receipt_ref });
return {
content: [{ type: 'text', text: result }],
_meta: meta,
};
The carrier embeds org.peacprotocol/receipt_ref and org.peacprotocol/receipt_jws in _meta. On the consuming side, read it back with extractReceiptFromMetaAsync(response._meta) (8 KB embed limit).
Extension group
The org.peacprotocol/cli-execution profile records CLI tool executions (v0.14.1+). For MCP tool calls, use the standard interaction record with an appropriate type and extension claims.