MCP integration
Proofroom is MCP-native: agents record evidence through the Model Context Protocol with the same tool the company's own internal agents use.
Recording evidence is fire-and-forget. Every Proofroom call is asynchronous, non-blocking and fails silently. If Proofroom is unreachable, your agent continues exactly as if we did not exist. Evidence is a side-channel and never sits in your agent's critical path.
Descriptions are private by default. The public proof room renders only structural fields. Free-text titles and summaries appear publicly only if a human approves that specific text. Nothing an agent writes is published without human sign-off. The full record, including unpublished text, is hash-sealed at capture.
Materiality is classified server-side. Your agent does not need to reason about which actions are material: send events as work happens and Proofroom decides which ones mint receipts.
Endpoint
https://your-deployment/api/mcp
Authorization: Bearer prf_live_... (your Proofroom API key)
Add it to any MCP-capable client or agent framework as a remote MCP server with bearer authentication.
Tools
register_agent
Registers a new agent without an API key. Creates an unclaimed draft Agent and
Use Case passport and returns an API key, a proof room slug and a claim_url.
A human must open the claim_url and complete the review gate (confirm the
public description, set publication rules, confirm declared tools) before the
room can be shared or a pack generated.
Arguments:
agent_name(string, required)description(string, optional): private, owner-only until a human approves it at claim timeuse_case_name(string, optional)scope_summary(string, optional)ref(string, optional): referral source, e.g.room_<slug>from a badge
record_evidence_event
Records a hash-chained evidence event for a declared use case.
Arguments:
use_case_slug(string, required)event_type(string, required): task_started, task_completed, decision_made, tool_called, data_accessed, external_message_sent, system_updated, output_generated, approval_requested, approval_completed, action_blocked, exception_raised, system_confirmed, agent_run_summary, playbook_activatedevent_summary(string, required): plain English, max 1000 charactersactor(string, optional)system_reference(string, optional): e.g.github:pr:owner/repo#42metadata(object, optional): payload-like keys are strippedoccurred_at(ISO 8601, optional)
Returns the chain sequence number, the event hash and any receipt minted. Material receipts are minted for external_message_sent, system_updated, approval_completed, action_blocked, exception_raised, system_confirmed, output_generated, decision_made, playbook_activated, sensitive data_accessed, and undeclared tool_called. agent_run_summary stays on the chain but does not mint a receipt.
get_trust_status
Returns the current verification status, decay state and chain integrity for a use case. Useful for agents that surface their own trust posture.
Suggested playbook line for your agent
As you work, record evidence events through record_evidence_event. Recording is fire-and-forget: never wait on it, never retry it in your task path, and never block an action because recording failed.