agentguard — policy proxy for agent tool calls

Free spend report from an agent log, no key. Hosted proxies: caps, audit export, buy calls.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
90%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,520token 数(工具定义)
~1.2 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.19%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "agentguard-cloud": {
      "url": "https://agentwares-agentguard.vercel.app/api/mcp"
    }
  }
}

远程端点

https://agentwares-agentguard.vercel.app/api/mcpstreamable-http

它能做什么

工具清单

工具(7)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢agentguard_get_pricing

Machine-readable pricing for agentguard hosted: bands (Starter/Pro/Team) with included tool calls per month, the 80% soft alert and 150% hard stop, features, the free trial allowance, and `per_call` — buying tool calls outright at POST /api/v1/calls from a prepaid balance, which is the one purchase here an unattended agent can complete. Same data as /pricing.json.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢agentguard_spend_report(log, detail)

Read an agent log and report what it spent: totals, calls by tool and by class, estimated dollars by rail, loops, the largest single run, and — for every overspend — the agentguard band whose cap would have stopped it, the exact cap, and the call that would have tripped it. Needs no account and no key. The log is read in the request and discarded; nothing is stored. Accepts an agentwares audit export (`agentwares.audit/v1`), a Claude Code session `.jsonl`, or a CSV/JSONL of tool calls with any of `tool`, `ts`, `class`, `amount_usd`, `rail`, `run_id`, `model`, `input_tokens`, `output_tokens`. Caps come from the proxy's own default policy, so a band named here refuses exactly what it says it refuses. Buying that band is a checkout a person completes; the calls-only purchase an unattended agent can complete is in `agentguard_get_pricing` instead.

输入模式

{
  "type": "object",
  "properties": {
    "log": {
      "type": "string",
      "minLength": 1,
      "description": "The log itself, verbatim — JSON, JSONL or CSV. Not a path and not a URL: this server does not fetch anything."
    },
    "detail": {
      "description": "`concise` (default) returns the totals, the top ten tools, the rails, the loops and every overspend. `full` adds the complete per-tool breakdown and the window. Ask for `full` only when you are going to read it.",
      "type": "string",
      "enum": [
        "concise",
        "full"
      ]
    }
  },
  "required": [
    "log"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡agentguard_create_proxy(slug, upstreamUrl, upstreamName, mode)

Create a hosted agentguard proxy in front of an MCP server. Returns the proxy id, the per-customer MCP URL and the proxy key (shown once). Point your agent's MCP client at the URL with `Authorization: Bearer <key>`. Requires an account key.

输入模式

{
  "type": "object",
  "properties": {
    "slug": {
      "type": "string",
      "minLength": 2,
      "maxLength": 40,
      "description": "short name, a-z 0-9 -"
    },
    "upstreamUrl": {
      "type": "string",
      "format": "uri",
      "description": "Streamable HTTP URL of the MCP server to protect"
    },
    "upstreamName": {
      "description": "name used to namespace tools when you add more upstreams later",
      "type": "string",
      "minLength": 1,
      "maxLength": 32
    },
    "mode": {
      "default": "dry-run",
      "description": "dry-run records what the policy would have blocked and lets every call through; enforce actually blocks. Start in dry-run.",
      "type": "string",
      "enum": [
        "dry-run",
        "enforce"
      ]
    }
  },
  "required": [
    "slug",
    "upstreamUrl"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡agentguard_set_policy(proxyId, policyYaml)

Replace a proxy's policy (YAML: mode, upstreams, classify, caps, loop, dry_run, approvals, alerts, chaos, drift). Validated before saving; takes effect within 30 seconds. Requires an account key.

输入模式

{
  "type": "object",
  "properties": {
    "proxyId": {
      "type": "string",
      "minLength": 6,
      "description": "the proxy id returned by agentguard_create_proxy"
    },
    "policyYaml": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64000,
      "description": "the complete policy document; it replaces the current one rather than merging"
    }
  },
  "required": [
    "proxyId",
    "policyYaml"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢agentguard_get_run(proxyId, runId)

The incident-shaped report for one run: counts (calls, reads, writes, faked, blocked, spend), the call timeline with decisions, dry-run mutations (what would have changed), ledger entries and the audit-chain verification. Requires an account key.

输入模式

{
  "type": "object",
  "properties": {
    "proxyId": {
      "type": "string",
      "minLength": 6,
      "description": "the proxy id returned by agentguard_create_proxy"
    },
    "runId": {
      "type": "string",
      "minLength": 1,
      "description": "the X-Run-Id your agent sent with the calls; one run is one agent session"
    }
  },
  "required": [
    "proxyId",
    "runId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢agentguard_export_audit(proxyId, runId)

Export a run's hash-chained audit entries (prev_hash, hash, redacted args) with the Merkle root, for disputes and questionnaires. Verify offline with sha256(prev_hash + canonical(entry)). Requires an account key.

输入模式

{
  "type": "object",
  "properties": {
    "proxyId": {
      "type": "string",
      "minLength": 6,
      "description": "the proxy id returned by agentguard_create_proxy"
    },
    "runId": {
      "type": "string",
      "minLength": 1,
      "description": "the X-Run-Id your agent sent with the calls; one run is one agent session"
    }
  },
  "required": [
    "proxyId",
    "runId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢agentguard_recommend_allowlist(proxyId)

Least-privilege recommendation from the proxy's recorded calls: the minimal tool allowlist, argument keys used per tool, and the upstream tools never used (remove them first). No LLM call here; apply it in the dashboard. Requires an account key.

输入模式

{
  "type": "object",
  "properties": {
    "proxyId": {
      "type": "string",
      "minLength": 6,
      "description": "the proxy id returned by agentguard_create_proxy"
    }
  },
  "required": [
    "proxyId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

社区

评价此服务器

证据

最近观测

已验证未记录版本7 个工具
已验证未记录版本7 个工具
已验证未记录版本7 个工具