Search / io.github.MerchantGuard/agentguard
AgentGuard
L0· runs locallyLocal spend caps, kill-switch blocking and Ed25519-signed receipts for AI agent tool calls.
v0.3.1 · active · repository · website · descriptor JSON · versions
Search / io.github.MerchantGuard/agentguard
L0· runs locallyLocal spend caps, kill-switch blocking and Ed25519-signed receipts for AI agent tool calls.
v0.3.1 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"agentguard": {
"command": "npx",
"args": [
"-y",
"@agentguard-run/[email protected]"
],
"env": {
"AGENTGUARD_MCP_DAILY_CAP_CENTS": "500",
"AGENTGUARD_MCP_PER_CALL_CAP_CENTS": "100",
"AGENTGUARD_MCP_TENANT": "mcp-local",
"AGENTGUARD_MCP_LEDGER": "ndjson",
"AGENTGUARD_MCP_DISABLE_COST_OVERRIDE": "0",
"AGENTGUARD_LOCK_COST_OVERRIDES": "0",
"AGENTGUARD_ACTOR_DIGEST": "0",
"AGENTGUARD_LICENSE_KEY": "${AGENTGUARD_LICENSE_KEY}",
"AGENTGUARD_LICENSE_ENDPOINT": "https://agentguard.run",
"AGENTGUARD_NO_BEACON": "0",
"AGENTGUARD_TELEMETRY": "0"
}
}
}
}claude mcp add agentguard -e "AGENTGUARD_MCP_DAILY_CAP_CENTS=500" -e "AGENTGUARD_MCP_PER_CALL_CAP_CENTS=100" -e "AGENTGUARD_MCP_TENANT=mcp-local" -e "AGENTGUARD_MCP_LEDGER=ndjson" -e "AGENTGUARD_MCP_DISABLE_COST_OVERRIDE=0" -e "AGENTGUARD_LOCK_COST_OVERRIDES=0" -e "AGENTGUARD_ACTOR_DIGEST=0" -e "AGENTGUARD_LICENSE_KEY=${AGENTGUARD_LICENSE_KEY}" -e "AGENTGUARD_LICENSE_ENDPOINT=https://agentguard.run" -e "AGENTGUARD_NO_BEACON=0" -e "AGENTGUARD_TELEMETRY=0" -- npx -y @agentguard-run/[email protected][mcp_servers.agentguard]
command = "npx"
args = ["-y", "@agentguard-run/[email protected]"]
env = { "AGENTGUARD_MCP_DAILY_CAP_CENTS" = "500", "AGENTGUARD_MCP_PER_CALL_CAP_CENTS" = "100", "AGENTGUARD_MCP_TENANT" = "mcp-local", "AGENTGUARD_MCP_LEDGER" = "ndjson", "AGENTGUARD_MCP_DISABLE_COST_OVERRIDE" = "0", "AGENTGUARD_LOCK_COST_OVERRIDES" = "0", "AGENTGUARD_ACTOR_DIGEST" = "0", "AGENTGUARD_LICENSE_KEY" = "${AGENTGUARD_LICENSE_KEY}", "AGENTGUARD_LICENSE_ENDPOINT" = "https://agentguard.run", "AGENTGUARD_NO_BEACON" = "0", "AGENTGUARD_TELEMETRY" = "0" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"agentguard": {
"type": "local",
"command": [
"npx",
"-y",
"@agentguard-run/[email protected]"
],
"enabled": true,
"environment": {
"AGENTGUARD_MCP_DAILY_CAP_CENTS": "500",
"AGENTGUARD_MCP_PER_CALL_CAP_CENTS": "100",
"AGENTGUARD_MCP_TENANT": "mcp-local",
"AGENTGUARD_MCP_LEDGER": "ndjson",
"AGENTGUARD_MCP_DISABLE_COST_OVERRIDE": "0",
"AGENTGUARD_LOCK_COST_OVERRIDES": "0",
"AGENTGUARD_ACTOR_DIGEST": "0",
"AGENTGUARD_LICENSE_KEY": "{env:AGENTGUARD_LICENSE_KEY}",
"AGENTGUARD_LICENSE_ENDPOINT": "https://agentguard.run",
"AGENTGUARD_NO_BEACON": "0",
"AGENTGUARD_TELEMETRY": "0"
}
}
}
}{
"mcpServers": {
"agentguard": {
"command": "npx",
"args": [
"-y",
"@agentguard-run/[email protected]"
],
"env": {
"AGENTGUARD_MCP_DAILY_CAP_CENTS": "500",
"AGENTGUARD_MCP_PER_CALL_CAP_CENTS": "100",
"AGENTGUARD_MCP_TENANT": "mcp-local",
"AGENTGUARD_MCP_LEDGER": "ndjson",
"AGENTGUARD_MCP_DISABLE_COST_OVERRIDE": "0",
"AGENTGUARD_LOCK_COST_OVERRIDES": "0",
"AGENTGUARD_ACTOR_DIGEST": "0",
"AGENTGUARD_LICENSE_KEY": "${AGENTGUARD_LICENSE_KEY}",
"AGENTGUARD_LICENSE_ENDPOINT": "https://agentguard.run",
"AGENTGUARD_NO_BEACON": "0",
"AGENTGUARD_TELEMETRY": "0"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=agentguard&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBhZ2VudGd1YXJkLXJ1bi9tY3BAMC4zLjEiXSwiZW52Ijp7IkFHRU5UR1VBUkRfTUNQX0RBSUxZX0NBUF9DRU5UUyI6IjUwMCIsIkFHRU5UR1VBUkRfTUNQX1BFUl9DQUxMX0NBUF9DRU5UUyI6IjEwMCIsIkFHRU5UR1VBUkRfTUNQX1RFTkFOVCI6Im1jcC1sb2NhbCIsIkFHRU5UR1VBUkRfTUNQX0xFREdFUiI6Im5kanNvbiIsIkFHRU5UR1VBUkRfTUNQX0RJU0FCTEVfQ09TVF9PVkVSUklERSI6IjAiLCJBR0VOVEdVQVJEX0xPQ0tfQ09TVF9PVkVSUklERVMiOiIwIiwiQUdFTlRHVUFSRF9BQ1RPUl9ESUdFU1QiOiIwIiwiQUdFTlRHVUFSRF9MSUNFTlNFX0tFWSI6IiR7QUdFTlRHVUFSRF9MSUNFTlNFX0tFWX0iLCJBR0VOVEdVQVJEX0xJQ0VOU0VfRU5EUE9JTlQiOiJodHRwczovL2FnZW50Z3VhcmQucnVuIiwiQUdFTlRHVUFSRF9OT19CRUFDT04iOiIwIiwiQUdFTlRHVUFSRF9URUxFTUVUUlkiOiIwIn19"
}{
"servers": {
"agentguard": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@agentguard-run/[email protected]"
],
"env": {
"AGENTGUARD_MCP_DAILY_CAP_CENTS": "500",
"AGENTGUARD_MCP_PER_CALL_CAP_CENTS": "100",
"AGENTGUARD_MCP_TENANT": "mcp-local",
"AGENTGUARD_MCP_LEDGER": "ndjson",
"AGENTGUARD_MCP_DISABLE_COST_OVERRIDE": "0",
"AGENTGUARD_LOCK_COST_OVERRIDES": "0",
"AGENTGUARD_ACTOR_DIGEST": "0",
"AGENTGUARD_LICENSE_KEY": "${AGENTGUARD_LICENSE_KEY}",
"AGENTGUARD_LICENSE_ENDPOINT": "https://agentguard.run",
"AGENTGUARD_NO_BEACON": "0",
"AGENTGUARD_TELEMETRY": "0"
}
}
}
}{
"mcpServers": {
"agentguard": {
"command": "npx",
"args": [
"-y",
"@agentguard-run/[email protected]"
],
"env": {
"AGENTGUARD_MCP_DAILY_CAP_CENTS": "500",
"AGENTGUARD_MCP_PER_CALL_CAP_CENTS": "100",
"AGENTGUARD_MCP_TENANT": "mcp-local",
"AGENTGUARD_MCP_LEDGER": "ndjson",
"AGENTGUARD_MCP_DISABLE_COST_OVERRIDE": "0",
"AGENTGUARD_LOCK_COST_OVERRIDES": "0",
"AGENTGUARD_ACTOR_DIGEST": "0",
"AGENTGUARD_LICENSE_KEY": "${AGENTGUARD_LICENSE_KEY}",
"AGENTGUARD_LICENSE_ENDPOINT": "https://agentguard.run",
"AGENTGUARD_NO_BEACON": "0",
"AGENTGUARD_TELEMETRY": "0"
}
}
}
}extensions:
"agentguard":
enabled: true
name: "agentguard"
type: stdio
cmd: "npx"
args:
- "-y"
- "@agentguard-run/[email protected]"
envs:
"AGENTGUARD_MCP_DAILY_CAP_CENTS": "500"
"AGENTGUARD_MCP_PER_CALL_CAP_CENTS": "100"
"AGENTGUARD_MCP_TENANT": "mcp-local"
"AGENTGUARD_MCP_LEDGER": "ndjson"
"AGENTGUARD_MCP_DISABLE_COST_OVERRIDE": "0"
"AGENTGUARD_LOCK_COST_OVERRIDES": "0"
"AGENTGUARD_ACTOR_DIGEST": "0"
"AGENTGUARD_LICENSE_KEY": "${AGENTGUARD_LICENSE_KEY}"
"AGENTGUARD_LICENSE_ENDPOINT": "https://agentguard.run"
"AGENTGUARD_NO_BEACON": "0"
"AGENTGUARD_TELEMETRY": "0"
timeout: 300
Placeholders to fill from your own secret store: ${AGENTGUARD_LICENSE_KEY}. The registry never accepts secret values.
This is a local package: the command runs on your machine.
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulnsno known advisory in 102 resolved packagesdeps.mcp_sdk_version@modelcontextprotocol/sdk 1.30.1 has 1 known advisory (GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/sdk to 1.31.0 or laterdeps.resolvable@agentguard-run/[email protected] resolved: 102 packagesNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website ~liveness-unmeasured +updated-28d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
@agentguard-run/[email protected] npm101 dependencies, resolved · MCP SDK @modelcontextprotocol/sdk 1.30.1 · advisories checked 2026-10-19
| advisory | severity | package | fixed in |
|---|---|---|---|
| GHSA-6qxp-vccf-f47hMCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP server | high | @modelcontextprotocol/[email protected]MCP SDK, direct | fixed in 1.31.0 |
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
@agentguard-run/mcp | npm | 0.3.1 | npx | AGENTGUARD_LICENSE_KEY |
No tools observed. Local packages are never executed by the registry.
Schemas: list_tools.
{
"name": "io.github.MerchantGuard/agentguard",
"_meta": {
"io.modelcontextprotocol.registry/publisher-provided": {
"description": "Local spend caps, kill-switch blocking and Ed25519-signed receipts for AI agent tool calls. Runs on the developer's machine. Zero data plane: prompts and tool calls never pass through this server."
}
},
"title": "AgentGuard",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "0.3.1",
"packages": [
{
"version": "0.3.1",
"transport": {
"type": "stdio"
},
"identifier": "@agentguard-run/mcp",
"runtimeHint": "npx",
"registryType": "npm",
"environmentVariables": [
{
"name": "AGENTGUARD_MCP_DAILY_CAP_CENTS",
"format": "number",
"default": "500",
"description": "Local daily spend cap in cents. A nonnegative integer."
},
{
"name": "AGENTGUARD_MCP_PER_CALL_CAP_CENTS",
"format": "number",
"default": "100",
"description": "Local per-call spend cap in cents. A nonnegative integer."
},
{
"name": "AGENTGUARD_MCP_TENANT",
"format": "string",
"default": "mcp-local",
"description": "Tenant identifier stamped into local receipts."
},
{
"name": "AGENTGUARD_HOME",
"format": "filepath",
"description": "Local signing-key, configuration and ledger directory. Defaults to .agentguard in the operating system home directory."
},
{
"name": "AGENTGUARD_MCP_LEDGER",
"format": "string",
"choices": [
"ndjson",
"memory"
],
"default": "ndjson",
"description": "Local decision storage. ndjson persists receipts across restarts; memory retains this process only."
},
{
"name": "AGENTGUARD_MCP_DISABLE_COST_OVERRIDE",
"format": "string",
"choices": [
"0",
"1"
],
"default": "0",
"description": "Set to 1 to discard and prevent model pricing overrides for this server."
},
{
"name": "AGENTGUARD_LOCK_COST_OVERRIDES",
"format": "string",
"choices": [
"0",
"1"
],
"default": "0",
"description": "Spend SDK startup lock. Set to 1 to prevent model pricing overrides."
},
{
"name": "AGENTGUARD_ACTOR_DIGEST",
"format": "string",
"choices": [
"0",
"1"
],
"default": "0",
"description": "Set to 1 to hash actor identifiers before they enter local receipts."
},
{
"name": "AGENTGUARD_LICENSE_KEY",
"format": "string",
"isSecret": true,
"description": "Optional AgentGuard license key for license validation and seat registration. Otherwise read from local configuration."
},
{
"name": "AGENTGUARD_LICENSE_ENDPOINT",
"format": "string",
"default": "https://agentguard.run",
"description": "License and seat service base URL. No prompts, tool content or receipts are sent."
},
{
"name": "AGENTGUARD_NO_BEACON",
"format": "string",
"choices": [
"0",
"1"
],
"default": "0",
"description": "Set to 1 to disable optional activation telemetry regardless of saved consent."
},
{
"name": "AGENTGUARD_TELEMETRY",
"format": "string",
"choices": [
"0",
"1"
],
"default": "0",
"description": "Set to 1 to opt in to content-free activation telemetry. Otherwise saved consent applies, default off."
},
{
"name": "AGENTGUARD_INSTALL_ID",
"format": "string",
"description": "Optional identifier used only by opted-in activation telemetry when no saved install identifier exists."
},
{
"name": "AGENTGUARD_ANONYMOUS_INSTALL_ID",
"format": "string",
"description": "Legacy fallback for AGENTGUARD_INSTALL_ID in opted-in activation telemetry."
},
{
"name": "CI",
"format": "string",
"description": "Existing runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry."
},
{
"name": "GITHUB_ACTIONS",
"format": "string",
"description": "Existing runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry."
},
{
"name": "GITLAB_CI",
"format": "string",
"description": "Existing runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry."
},
{
"name": "CIRCLECI",
"format": "string",
"description": "Existing runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry."
},
{
"name": "BUILDKITE",
"format": "string",
"description": "Existing runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry."
},
{
"name": "VERCEL",
"format": "string",
"description": "Existing runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry."
},
{
"name": "NETLIFY",
"format": "string",
"description": "Existing runtime marker. A nonempty value marks opted-in activation telemetry as CI; it does not enable telemetry."
}
]
}
],
"repository": {
"url": "https://github.com/MerchantGuard/agentguard-mcp",
"source": "github"
},
"websiteUrl": "https://agentguard.run",
"description": "Local spend caps, kill-switch blocking and Ed25519-signed receipts for AI agent tool calls."
}