Docs navigation

MCP & tool verification

Your project keeps a registry of the tools and MCP servers agents are allowed to touch. Every tool call is resolved against it: unknown tools are auto-registered as unapproved (and blocked by default policy), unapproved MCP servers raise warnings, and each entry tracks usage and risk.

Registering tools

# Approve the tools your agents are supposed to use:
curl -X POST https://www.proofledger.dev/api/tools \
  -H "authorization: Bearer $PROOFLEDGER_API_KEY" \
  -H "content-type: application/json" \
  -d '{ "name": "refund_lookup", "type": "function",
        "provider": "internal", "approved": true, "riskLevel": "low" }'

# MCP servers carry their URL:
curl -X POST https://www.proofledger.dev/api/tools \
  -H "authorization: Bearer $PROOFLEDGER_API_KEY" \
  -H "content-type: application/json" \
  -d '{ "name": "github_mcp", "type": "mcp",
        "mcpServerUrl": "mcp://github-mcp.internal",
        "approved": true, "riskLevel": "medium" }'

Or use the dashboard's Tools & MCP page — one-click approve/revoke, risk levels, and per-tool usage counts. Restrict a tool to specific agents with allowedAgents.

What happens to unknown tools

await ProofLedger.logToolCall({ toolName: "crypto_wallet_tool" });

// Pipeline response:
// policy.decision  = "block"          (default "Block unknown tools" policy)
// security events  = unknown_tool (high) + blocked_action + policy_violation
// trust            = 100 → 77
// registry         = crypto_wallet_tool auto-registered, approved: false,
//                    riskLevel: "high" — visible in the dashboard for review

The call is never silently dropped — it is recorded, blocked, scored, and surfaced. An operator can then approve the tool (turning future calls into allow) or leave it blocked.

MCP calls

await ProofLedger.logToolCall({
  toolName: "market_data_mcp",
  toolType: "mcp",
  mcpServer: "mcp://data-scraper.example.net",
  workflowId,
});

// Registered but NOT approved MCP server → decision "warn" +
// an unknown_tool security event. Approved → "allow".

Production

Before switching to enforce mode, register and approve every tool your agents legitimately use — the quickest way is to run in monitor mode for a day and approve what shows up under Tools & MCP.