A local, read-only MCP server with three diagnostic tools that audit API-key privileges, check idempotency guards in code, and explain production guard…
What you can do
Audit API keys for over-privilege from permission descriptions only, returning a per-key risk level
Check a code snippet for the signals that prevent duplicate execution and report which are missing
Explain a named production guard pattern, the failure it prevents and its minimal shape
When to use it
Useful when you run AI agents or side-effecting code in production and want a quick, read-only second opinion on key scopes, duplicate-execution guards, or which guard pattern fits a failure you are trying to prevent.
Requirements
Runs as a local Python process over stdio; the README describes cloning the repository, creating a virtual environment, installing requirements, and pointing the client config at the Python interpreter and script. No network calls, accounts, API keys or environment variables are declared.
Before you install
The tools are described as read-only with no writes and no network calls, and inputs that look like real secrets are refused; still, never paste actual key values, only permission descriptions. The README promotes paid starter kits and a full pack, so expect commercial upsell alongside the free tools.
A free, read-only MCP server with three diagnostic tools for people who run
AI agents in production. Distilled from the Safe AI Agent Pack — the
production guard modules used by the Sage personal agent and the Growl AI
marketing SaaS.
No network calls. No writes. Inputs that look like real secrets are refused.
Tools
Tool
What it does
audit_api_keys
Flags over-privileged API keys from their permission descriptions (never pass key values — secret-looking entries are rejected, not stored)
check_idempotency_pattern
Scans a code snippet for the signals that actually stop duplicate execution: idempotency key, server-side store, uniqueness, short-circuit, payload binding, approval separation
explain_guard_pattern
Explains a production guard pattern — the failure it prevents and its minimal shape (idempotency_key, approval_gate, outbox, key_inventory, circuit_breaker, signed_approval_link)
.venv/bin/python test_server.py # in-memory client; calls every tool
The full pack
This free server is the diagnostic front door. The production modules —
SQLite idempotency store, @once decorator, approval outbox with HMAC-signed
approval links, the token-privilege inventory script, 18 regression tests and
the 100 production-traps catalog — ship in the
Safe AI Agent Pack ($69 / team $199).
License
MIT for this free server. The paid pack has its own commercial license.
Audit API keys for over-privilege using permission *descriptions* only.
Pass entries like {"name": "stripe-main", "service": "Stripe",
"scopes": ["charges:write", "refunds:write"]}. NEVER pass actual key
values — entries that look like secrets are rejected, not stored.
Returns a per-key risk level with reasons and a summary count.
Parameterskeysrequired
check_idempotency_pattern
Check Idempotency Pattern
Check a code snippet for the signals that stop duplicate execution.
Paste the function that performs the side effect (sending, charging,
writing). Returns which guard signals are present, which are missing,
and a plain verdict. Read-only static check — the code is not executed.
Parameterscoderequired
explain_guard_pattern
Explain Guard Pattern
Explain one production guard pattern: what failure it prevents and its minimal shape.
Known patterns: idempotency_key, approval_gate, outbox, key_inventory,
circuit_breaker, signed_approval_link.
Parameterspatternrequired
Version history
1
v0.1.0LatestOct 29, 2026
Score
90%
90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Reached in the last 30 days25 pts
Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.