mcpField
A
AgentGuard

AgentGuard

Local
agentguard.runAI & Agents0Updated 3w ago

About AgentGuard

AgentGuard is a local MCP server for teams and operators that need spend controls and verifiable provenance for AI agent model calls. It gates calls with configurable caps and creates signed, content-free receipts without handling prompts or completions.

Key features

  1. 01Per-call and daily spend caps
  2. 02Allow or block model calls
  3. 03Ed25519-signed, hash-chained receipts
  4. 04Receipt verification and ledger export
  5. 05Model cost and provenance tools
  6. 06Metadata-only processing

Use cases

  1. 01Block calls that exceed a spend limit
  2. 02Audit model and endpoint provenance
  3. 03Verify signed decisions independently

MCP support

AgentGuard exposes spend decisions, receipt verification and export, cost registration, provenance previews, and spend status as MCP tools. It can be used by MCP hosts including Claude Desktop, Claude Code, Cursor, and Cline.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"merchantguard-agentguard": {
"command": "npx",
"args": [
"-y",
"@agentguard-run/mcp"
],
"env": {
"AGENTGUARD_MCP_DAILY_CAP_CENTS": "<AGENTGUARD_MCP_DAILY_CAP_CENTS>",
"AGENTGUARD_MCP_PER_CALL_CAP_CENTS": "<AGENTGUARD_MCP_PER_CALL_CAP_CENTS>",
"AGENTGUARD_MCP_TENANT": "<AGENTGUARD_MCP_TENANT>",
"AGENTGUARD_HOME": "<AGENTGUARD_HOME>",
"AGENTGUARD_MCP_LEDGER": "<AGENTGUARD_MCP_LEDGER>",
"AGENTGUARD_MCP_DISABLE_COST_OVERRIDE": "<AGENTGUARD_MCP_DISABLE_COST_OVERRIDE>",
"AGENTGUARD_LOCK_COST_OVERRIDES": "<AGENTGUARD_LOCK_COST_OVERRIDES>",
"AGENTGUARD_ACTOR_DIGEST": "<AGENTGUARD_ACTOR_DIGEST>",
"AGENTGUARD_LICENSE_KEY": "<AGENTGUARD_LICENSE_KEY>",
"AGENTGUARD_LICENSE_ENDPOINT": "<AGENTGUARD_LICENSE_ENDPOINT>",
"AGENTGUARD_NO_BEACON": "<AGENTGUARD_NO_BEACON>",
"AGENTGUARD_TELEMETRY": "<AGENTGUARD_TELEMETRY>",
"AGENTGUARD_INSTALL_ID": "<AGENTGUARD_INSTALL_ID>",
"AGENTGUARD_ANONYMOUS_INSTALL_ID": "<AGENTGUARD_ANONYMOUS_INSTALL_ID>",
"CI": "<CI>",
"GITHUB_ACTIONS": "<GITHUB_ACTIONS>",
"GITLAB_CI": "<GITLAB_CI>",
"CIRCLECI": "<CIRCLECI>",
"BUILDKITE": "<BUILDKITE>",
"VERCEL": "<VERCEL>",
"NETLIFY": "<NETLIFY>"
}
}
}
}
Run commandnpx -y @agentguard-run/mcp
Environment variables to set
AGENTGUARD_MCP_DAILY_CAP_CENTSLocal daily spend cap in cents. A nonnegative integer.
AGENTGUARD_MCP_PER_CALL_CAP_CENTSLocal per-call spend cap in cents. A nonnegative integer.
AGENTGUARD_MCP_TENANTTenant identifier stamped into local receipts.
AGENTGUARD_HOMELocal signing-key, configuration and ledger directory. Defaults to .agentguard in the operating system home directory.
AGENTGUARD_MCP_LEDGERLocal decision storage. ndjson persists receipts across restarts; memory retains this process only.
AGENTGUARD_MCP_DISABLE_COST_OVERRIDESet to 1 to discard and prevent model pricing overrides for this server.
AGENTGUARD_LOCK_COST_OVERRIDESSpend SDK startup lock. Set to 1 to prevent model pricing overrides.
AGENTGUARD_ACTOR_DIGESTSet to 1 to hash actor identifiers before they enter local receipts.
AGENTGUARD_LICENSE_KEYSecretOptional AgentGuard license key for license validation and seat registration. Otherwise read from local configuration.
AGENTGUARD_LICENSE_ENDPOINTLicense and seat service base URL. No prompts, tool content or receipts are sent.
AGENTGUARD_NO_BEACONSet to 1 to disable optional activation telemetry regardless of saved consent.
AGENTGUARD_TELEMETRYSet to 1 to opt in to content-free activation telemetry. Otherwise saved consent applies, default off.
AGENTGUARD_INSTALL_IDOptional identifier used only by opted-in activation telemetry when no saved install identifier exists.
AGENTGUARD_ANONYMOUS_INSTALL_IDLegacy fallback for AGENTGUARD_INSTALL_ID in opted-in activation telemetry.
CIExisting runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry.
GITHUB_ACTIONSExisting runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry.
GITLAB_CIExisting runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry.
CIRCLECIExisting runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry.
BUILDKITEExisting runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry.
VERCELExisting runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry.
NETLIFYExisting runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@agentguard-run/mcp0.3.1

Tools

6

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
modelstringYesModel name, e.g. llama-3.1-8b-instruct or gpt-5-mini
task_idanyNoOptional task identifier; signed as actor.taskId on spend_decide
agent_idstringNoOptional agent identifier; signed as actor.agentId on spend_decide
workflow_idanyNoOptional workflow identifier; signed as actor.workflowId on spend_decide
endpoint_urlstringNoEndpoint URL. Unrecognized endpoints route as self-hosted (zero retention, your jurisdiction).
input_tokensintegerYesProjected input tokens
output_tokensintegerYesProjected output tokens

Details

From the project 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

{
  "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.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.