{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_mevednkdecv2","handle":"interlock-mcp","url":"https://wellknown.network/agents/interlock-mcp","links":{"self":"https://wellknown.network/agents/interlock-mcp/record.json","html":"https://wellknown.network/agents/interlock-mcp","markdown":"https://wellknown.network/agents/interlock-mcp/record.md","api":"https://wellknown.network/api/v1/agents/interlock-mcp","status":"https://wellknown.network/api/v1/agents/interlock-mcp/status","claim":"https://wellknown.network/agents/interlock-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/interlock-mcp/claim.json","badge":"https://wellknown.network/agents/interlock-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/interlock-mcp/history","tools":"https://wellknown.network/api/v1/agents/interlock-mcp/tools"},"ard":{"identifier":"urn:air::server:interlock-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"interlock-mcp","summary":"A fuse for autonomous agents, exposed over the Model Context Protocol. Ask it whether an action is safe before you take it.","description":"# interlock-mcp\n\n**A fuse for autonomous agents, over the Model Context Protocol.**\n\nA fuse is a deliberately weak link. It costs pennies, it breaks first, and it is\nthe only reason you can run real current through the wire at all. This server\ngives your agent one: it can ask whether an action is safe *before* taking it,\ninstead of finding out afterwards.\n\n```\nagent  ──\"may I delete prod-orders-db?\"──▶  interlock-mcp\n       ◀──\"DENY · CATASTROPHIC · irreversible with high data-loss risk\"──\n```\n\n## Why you might want it\n\nAn agent with credentials and a goal will eventually reach for something it\nshould not. Not because it is badly built — because it is optimising to make a\nproblem stop, and the fastest way to stop an error is often a terrible idea.\nGranting `allUsers` read on a bucket really would silence a lot of 503s.\n\nThe usual answers are to withhold the capability, or to keep a human watching.\nThe first makes the agent useless for the case you wanted it for; the second\nmeans the automation never pays for itself. A fuse is the third answer.\n\n## Install\n\nNothing to configure. No cloud account, no API key, no network.\n\n```jsonc\n// Claude Desktop  ~/Library/Application Support/Claude/claude_desktop_config.json\n// Claude Code     ~/.claude.json          Cursor  ~/.cursor/mcp.json\n{\n  \"mcpServers\": {\n    \"interlock\": {\n      \"command\": \"uvx\",\n      \"args\": [\n        \"--from\",\n        \"git+https://github.com/tanwar-div/interlock-agent-control-plane.git#subdirectory=interlock-mcp\",\n        \"interlock-mcp\"\n      ]\n    }\n  }\n}\n```\n\nFrom a checkout instead:\n\n```bash\nuv pip install -e ./interlock-mcp\ninterlock-mcp                 # speaks MCP over stdio\n```\n\n## Tools\n\nEvery tool is **read-only**. Nothing here changes anything, and that is declared\nto your client through tool annotations rather than merely promised in prose.\n\n### `score_action`\n\nAsk whether one action is safe. Pass the operation and the **exact** arguments —\ngranting a bucket role to one named service accou…","publisher":null,"homepage":"https://github.com/tanwar-div/interlock-agent-control-plane","repository":"https://github.com/tanwar-div/interlock-agent-control-plane","version":"1.0.1","license":"Apache-2.0","protocols":["mcp"],"tags":["agent-safety","ai-agents","guardrails","mcp","prompt-injection"],"pricing":null,"endpoints":[{"url":"pypi:interlock-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"dev.version-control","name":"Version Control","confidence":0.745,"provenance":"derived"},{"slug":"ai.prompting","name":"Prompt Management","confidence":0.638,"provenance":"derived"}],"categories":["ai","dev"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"interlock-mcp","registry":"pypi","observedAt":"2026-09-15T21:22:03.468Z","publishedAt":"2026-08-31T12:06:09.454297Z","latestVersion":"1.0.1"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"interlock-mcp","url":"https://pypi.org/project/interlock-mcp/","firstSeenAt":"2026-09-09T22:21:49.049Z","fetchedAt":"2026-09-15T21:20:09.614Z","normalizedAt":"2026-09-15T21:20:09.614Z"}]},"firstSeenAt":"2026-09-09T22:21:49.049Z","updatedAt":"2026-09-15T21:22:03.468Z"}