AgentGuard

io.github.MerchantGuardPublished by GitHub account MerchantGuardv0.3.1Updated Oct 27, 2026

Local spend caps, kill-switch blocking and Ed25519-signed receipts for AI agent tool calls.

VerifiedSTDIODesktop onlySecurity & MonitoringAI & ML

Overview

AI-generated overview

Local MCP server that gates AI agent model calls with spend caps, kill-switch blocking and Ed25519-signed, hash-chained receipts.

What you can do
  • Gate model calls before they run with allow/block decisions under daily and per-call spend caps
  • Verify signed receipts and detect any tampering with a single signed byte
  • Export a tenant's decision ledger as a verified hash chain, including earlier process runs
  • Register pricing for self-hosted models and preview what would be attested for a model or endpoint
  • Report active caps, tenant, decision count and signer fingerprint
When to use it
Useful when agents call models directly, especially self-hosted ones where the provider's spend dashboard, rate limits and audit logs disappear, and you want local budget limits plus verifiable provenance records of each model call.
Requirements
Runs locally via npx over stdio; Node.js 20.19 or later. Optional environment variables set spend caps, tenant, ledger mode and home directory; an optional AGENTGUARD_LICENSE_KEY enables license validation and seat registration. A signing keypair is generated on first run.
Before you install
It writes a signing keypair and a decision ledger to disk under AGENTGUARD_HOME, so protect that directory. A configured license contacts the license and seat service, and activation telemetry is opt-in and content-free; neither sends prompts, tool content or receipts. Receipts record model identity, weights origin country and hosting jurisdiction, so review what metadata you pass. It is governance software, not legal or compliance advice.

Installation

In SourceWeft

  1. Open AgentGuard in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@agentguard-run/mcp

[smithery badge]

AgentGuard® as an MCP server: local spend caps and Ed25519-signed provenance receipts for AI agent actions, usable from any Model Context Protocol host (Claude Desktop, Claude Code, Cursor, Cline, or your own agent runtime).

Zero data plane. Tools accept metadata only: model names, token counts, endpoint URLs. Prompts and completions never pass through this server, and their content stays on your machine. Receipts are content-free.

A configured license uses the license and seat service. Optional activation telemetry requires consent and can be disabled with AGENTGUARD_NO_BEACON=1. Neither path sends prompts, tool content or receipts.

Install

json
{  "mcpServers": {    "agentguard": {      "command": "npx",      "args": ["-y", "@agentguard-run/mcp"]    }  }}

Optional environment variables:

VariableDefaultMeaning
AGENTGUARD_MCP_DAILY_CAP_CENTS500Hard per-day spend cap (block on exceed)
AGENTGUARD_MCP_PER_CALL_CAP_CENTS100Hard per-call spend cap (block on exceed)
AGENTGUARD_MCP_TENANTmcp-localTenant scope stamped into receipts
AGENTGUARD_HOME~/.agentguardSigning key and decision-ledger directory
AGENTGUARD_MCP_LEDGERndjsonPersist signed decisions; memory restores process-only storage
AGENTGUARD_MCP_DISABLE_COST_OVERRIDEunset1 discards and prevents pricing overrides
AGENTGUARD_ACTOR_DIGESTunset1 stores SHA-256 digests of actor IDs; provider stays readable

A signing keypair is generated on first run and persisted to <AGENTGUARD_HOME>/mcp-signing.json (0600). Signed decisions are appended to <AGENTGUARD_HOME>/<tenant>/decisions.ndjson, including the public verification key. Exports include prior process runs and new decisions extend the existing chain. Tenant directory names use the spend store's filename normalization. Spend counters remain process-local, as in earlier versions.

All tools accept optional agent_id, task_id, and workflow_id identifier parameters. spend_decide passes these to the call context, signing them as actor.agentId, actor.taskId, and actor.workflowId; the configured tenant becomes actor.tenantId. Other tools accept these metadata fields without recording a spend decision. Prompts, arbitrary content, credentials, and filesystem paths are rejected as IDs. Existing calls without these parameters keep working.

Tools

  • spend_decide: gate a model call before it runs. Returns allow/block plus a signed, hash-chained receipt recording model identity, weights origin country (China-origin families such as GLM, DeepSeek, Qwen, and Kimi are flagged automatically), hosting jurisdiction, and retention posture. Unrecognized endpoints (vLLM, Ollama, TGI, your own cluster) route as self-hosted: zero retention, your jurisdiction.
  • verify_receipt: independently verify any receipt. Change one signed byte and verification fails.
  • export_receipts: export the tenant decision ledger as a verified hash chain, including earlier process runs. Memory mode exports only the current process.
  • set_model_cost: register pricing for self-hosted models (AgentGuard fails closed on unknown costs).
  • provenance_preview: see what would be attested for a model/endpoint without spending.
  • spend_status: active caps, tenant, decision count, signer fingerprint.

Why

When agents move from hosted APIs to self-hosted models, the provider's spend dashboard, rate limits, and audit logs disappear with the provider. AgentGuard puts them back, locally, and adds something hosted providers never gave you: a cryptographic receipt an outsider can verify without trusting you or us.

More: https://agentguard.run/sovereign/ and https://agentguard.run/sovereign/guide/

Verify independently

Any receipt can be checked off-platform at https://agentguard.run/verify or with verify_receipt and the signer public key from spend_status.

Local release verification

Requires Node.js 20.19 or later. Run npm ci, npm test, and npm run scan:release from this package or its public mirror. The lockfile uses the published spend 0.19.0 package; no private sibling checkout is required.

Release checklist: keep package.json, the server version in src/index.ts, and both versions in server.json aligned; run the tests and release scan; publish npm first, publish with mcp-publisher, then verify the registry's active entry. See the registry release guide for exact commands and the public mirror allowlist.

The official registry name is io.github.MerchantGuard/agentguard. Its package entry runs @agentguard-run/mcp locally through npx and stdio.

AgentGuard® is a registered trademark of Dunecrest Ventures Inc. US patent filings pending. This package is governance software, not legal or compliance advice.

Source: README.md at commit 811f4fa

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.3.1LatestSep 21, 2026

Score

40% 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

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.