关于 AgentGuard
AgentGuard 是面向需要控制 AI Agent 模型调用支出并验证来源的团队与运营者的本地 MCP 服务。它按配置的限额拦截调用并生成签名收据,不处理提示词或补全内容。
主要功能
- 01单次与每日支出上限
- 02允许或拦截模型调用
- 03Ed25519 签名与哈希链收据
- 04收据验证与账本导出
- 05模型成本与来源查询工具
- 06仅处理元数据
适用场景
- 01拦截超出支出限额的调用
- 02审计模型与端点来源
- 03独立验证签名决策
MCP 相关
AgentGuard 通过 MCP 工具提供支出决策、收据验证与导出、成本登记、来源预览和支出状态查询。它可供 Claude Desktop、Claude Code、Cursor 和 Cline 等 MCP 主机使用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @agentguard-run/mcpAGENTGUARD_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_KEY密钥Optional 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.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
6收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型名称,例如 llama-3.1-8b-instruct 或 gpt-5-mini |
| task_id | any | 否 | 可选的任务标识符;在 spend_decide 中签名为 actor.taskId |
| agent_id | string | 否 | 可选的 Agent 标识符;在 spend_decide 中签名为 actor.agentId |
| workflow_id | any | 否 | 可选的工作流标识符;在 spend_decide 上签名为 actor.workflowId |
| endpoint_url | string | 否 | 端点 URL。无法识别的端点将按可自托管方式路由(零保留,遵循您所在的司法管辖区)。 |
| input_tokens | integer | 是 | 预计输入 Token 数 |
| output_tokens | integer | 是 | 预计输出 Token 数 |
详细介绍
@agentguard-run/mcp
AgentGuard® 作为 MCP 服务:为 AI Agent 操作设置本地支出上限,并生成 Ed25519 签名的溯源凭证,可在任何 Model Context Protocol 宿主中使用(Claude Desktop、Claude Code、Cursor、Cline 或你自己的 Agent 运行时)。
零数据平面。 工具只接受元数据:模型名称、令牌数量、端点 URL。提示词和补全内容绝不会经过此服务,并且会保留在你的设备上。凭证不包含内容。
已配置的许可证会使用许可证和席位服务。可选的激活遥测需要获得同意,并可通过 AGENTGUARD_NO_BEACON=1 禁用。这两种方式都不会发送提示词、工具内容或凭证。
安装
{
"mcpServers": {
"agentguard": {
"command": "npx",
"args": ["-y", "@agentguard-run/mcp"]
}
}
}
可选环境变量:
| 变量 | 默认值 | 含义 |
|---|---|---|
AGENTGUARD_MCP_DAILY_CAP_CENTS | 500 | 每日支出硬性上限(超限时拦截) |
AGENTGUARD_MCP_PER_CALL_CAP_CENTS | 100 | 单次调用支出硬性上限(超限时拦截) |
AGENTGUARD_MCP_TENANT | mcp-local | 写入凭证的租户范围 |
AGENTGUARD_HOME | ~/.agentguard | 签名密钥和决策账本目录 |
AGENTGUARD_MCP_LEDGER | ndjson | 持久化已签名的决策;memory 使用仅限进程的存储 |
AGENTGUARD_MCP_DISABLE_COST_OVERRIDE | unset | 1 丢弃并阻止价格覆盖 |
AGENTGUARD_ACTOR_DIGEST | unset | 1 存储 Actor ID 的 SHA-256 摘要;提供方仍可读 |
首次运行时会生成密钥对,并持久化至 <AGENTGUARD_HOME>/mcp-signing.json(0600)。已签名的决策会追加到 <AGENTGUARD_HOME>/<tenant>/decisions.ndjson,其中包含公钥。导出内容包含此前进程运行产生的记录,新决策会延续现有链。租户目录名称使用支出存储的文件名规范化规则。支出计数器仍为进程本地存储,与早期版本相同。
所有工具都接受可选的 agent_id、task_id 和 workflow_id 标识符参数。spend_decide 会将这些参数传递给调用上下文,并将其签名为 actor.agentId、actor.taskId 和 actor.workflowId;已配置的租户会成为 actor.tenantId。其他工具接受这些元数据字段,但不会记录支出决策。提示词、任意内容、凭据和文件系统路径不能用作 ID。不带这些参数的现有调用仍可正常工作。
工具
spend_decide:在模型调用运行前进行把关。返回允许/拦截结果,以及一份经过签名并采用哈希链的凭证,记录模型身份、权重来源国家(GLM、DeepSeek、Qwen 和 Kimi 等中国来源系列会自动标记)、托管司法辖区和数据保留策略。无法识别的端点(vLLM、Ollama、TGI 或你自己的集群)会按self-hosted处理:零数据保留,使用你的司法辖区。verify_receipt:独立验证任意凭证。只要更改一个已签名字节,验证就会失败。export_receipts:将租户决策账本导出为经过验证的哈希链,其中包含更早进程运行产生的记录。内存模式只导出当前进程的记录。set_model_cost:为可自托管模型登记价格(AgentGuard 遇到未知成本时会默认拒绝)。provenance_preview:在不产生支出的情况下,查看模型/端点将会被证明的信息。spend_status:查看生效中的上限、租户、决策数量和签名者指纹。
原因
当 Agent 从托管 API 转向可自托管模型时,提供方的支出仪表板、速率限制和审计日志也会随提供方一同消失。AgentGuard 会在本地将它们恢复,并增加一项托管提供方从未提供过的功能:生成加密凭证,让外部人员无需信任你或我们也能进行验证。
更多信息:https://agentguard.run/sovereign/ 和 https://agentguard.run/sovereign/guide/
独立验证
任何收据都可以在站外通过 https://agentguard.run/verify 验证,也可以使用 verify_receipt 和 spend_status 中的签名者公钥进行验证。
本地发布验证
需要 Node.js 20.19 或更高版本。在此软件包或其公共镜像中运行 npm ci、npm test 和 npm run scan:release。锁文件使用已发布的 spend 0.19.0 软件包;无需私有的同级检出。
发布检查清单:确保 package.json、src/index.ts 中的服务版本以及 server.json 中的两个版本保持一致;运行测试和发布扫描;先发布到 npm,再通过 mcp-publisher 发布,最后验证注册表中的有效条目。确切命令和公共镜像许可名单请参阅注册表发布指南。
官方注册表名称为 io.github.MerchantGuard/agentguard。其软件包条目通过 npx 和 stdio 在本地运行 @agentguard-run/mcp。
AgentGuard® 是 Dunecrest Ventures Inc. 的注册商标。美国专利申请正在审理中。本软件包属于治理软件,不构成法律或合规建议。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。