GU

Guardian MCP

Routes agent tool calls through Guardian for ALLOW / ASK / DENY before execution.

Grade A Local · stdio API key 3 tools v0.3.2 · 5 Nov 2026 Apache-2.0
No reviews yet by andrebyrd-odingardnpm 1,192 Runs on your machine, nothing hosted
99/100
trust score
199
downloads a day
local
runs on your machine
1k
downloads in 30d

What it does

Guardian is the human authority layer for AI agents. Put it in front of any MCP server and every tool call is decided before it runs:

  • ALLOW runs it.
  • ASK holds the exact call until a person approves it on their phone or in the console.
  • DENY never runs it.

The decision is deterministic, with no model in the decision path, and every outcome carries a signed receipt you can verify offline.

Install: npx -y @odingard/guardian-mcp proxy -- <your MCP server command>

What's new in 0.3.2:

  • guardian-mcp tools -- <server> lists any MCP server's tools with a suggested mode for each. It uses the server's own read-only and destructive annotations first. It also flags tool names Guardian would reject. No account needed.
  • Receipt verification accepts the key-fetch result as returned.
  • No automatic first-use registration by default (since 0.3.1). Register tools once in the console instead.

Also for Claude Code: Guardian Hook (@odingard/guardian-hook)

A Claude Code PreToolUse hook that sends shell commands, file writes, web fetches and MCP calls to Guardian before they run. Commands are routed by consequence:

  • npm test runs under Allow.
  • terraform apply, kubectl apply, rm -rf and git push wait for a human approval.

The hook fails closed: if Guardian can't confirm a call, the call is blocked. Every allowed call carries a signed receipt.

Proven on production: Claude Code's terraform apply was held, approved on a phone, executed, and its receipt verified offline. A read-only ls in the same session ran with no approval.

Setup in the Guardian console takes one button: Agents → your agent → "Set up for Claude Code". Or add a PreToolUse hook to .claude/settings.json with matcher Bash|Write|Edit|MultiEdit|NotebookEdit|WebFetch|mcp__.*, command npx -y @odingard/guardian-hook and timeout 600.

Honest limits:

  • The hook is Claude Code only for now.
  • Decision-gated: the receipt proves Guardian authorized the exact call, not the command's own outcome.

Links:

  • npm: https://www.npmjs.com/package/@odingard/guardian-mcp
  • Source: https://github.com/Odingard/guardian-sdk/tree/main/packages/mcp
  • MCP registry: io.github.Odingard/guardian-mcp
  • Hook on npm: https://www.npmjs.com/package/@odingard/guardian-hook
  • Hook source: https://github.com/Odingard/guardian-sdk/tree/main/packages/hook

Quickstart

# 1 — add it to Claude Code claude mcp add --scope user --env 'GUARDIAN_BASE_URL=${GUARDIAN_BASE_URL}' --env 'GUARDIAN_AGENT_CREDENTIAL=${GUARDIAN_AGENT_CREDENTIAL}' --env 'GUARDIAN_CONNECTION_ID=${GUARDIAN_CONNECTION_ID}' --transport stdio odingard-guardian-mcp '--' npx -y @odingard/guardian-mcp # 2 — ask your agent for something these tools do # guardian_invoke_tool, guardian_claim, guardian_receipt

It needs GUARDIAN_BASE_URL, GUARDIAN_AGENT_CREDENTIAL, GUARDIAN_CONNECTION_ID: this reads them from your environment, so export them first.

Guardian MCP costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.

Publisher
AO
andrebyrd-odingard1 server
1 category
All 1 server
More in this category

See also

See all