关于 ai-agent-firewall
ai-agent-firewall 是在支付执行前按签名授权书检查支付请求的 MCP 服务,为 AI Agent 及其运营者提供支付授权、签名信任判定和可验证的审计证明。
主要功能
- 01检查操作并返回签名判定
- 02依据授权书批准支付
- 03执行收款方与支出限额
- 04生成哈希链式审计证明
适用场景
- 01阻止向未批准的收款方付款
- 02执行单笔或总支出限额
- 03核查支付判定的证明
MCP 相关
提供操作评估、授权书验证、支付授权和审计证明等 MCP 工具。可在本地以默认拒绝模式运行,也可通过 HTTP 连接核心服务。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @fidacy/mcpFIDACY_ENGINE_API_KEY密钥Optional: enables signed trust verdicts (assess_action) and anchors session digests.FIDACY_OPERATOR_EMAILOptional and opt-in: registers this install so the operator can claim its history.FIDACY_MODEOptional: 'http' for the hosted core.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
12收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| payee | string | 是 | 收款方标识符 |
| amount | number | 是 | 以授权货币计的金额 |
| purpose | string | 是 | 用你自己的话说明本次付款的实际原因。该内容会以可读形式持久记录在防篡改审计记录中(无论 ALLOW 或 DENY),并成为事后证明的一部分,因此请填写真实原因。 |
| category | string | 是 | 用途类别(必须为授权允许的类别) |
| currency | string | 是 | ISO 4217 货币代码 |
| invoiceRef | string | 否 | 可选的发票标识。设置后,Fidacy 会强制每张发票只能支付一次:对同一 invoiceRef 的第二次请求将被 DENIED,无论金额多少。 |
| idempotencyKey | string | 否 | 可选。如果有,请提供你为此付款指定的密钥(订单 ID、任务 ID 等)。留空时,Fidacy 会根据付款本身生成密钥,这是更安全的默认选项:重试同一笔付款会生成相同的密钥,而自行编造的密钥不会。 |
详细介绍
@fidacy/mcp
AI Agent 的操作防火墙。可即插即用的 MCP 服务,在资金转移之前,依据经过加密签名的授权指令拦截支付操作。 非托管:Fidacy 负责授权和证明,但绝不持有资金。
安装一次,即可用于任何兼容 MCP 的 Agent:Claude Code、Claude Desktop、 Hermes、OpenClaw,以及其他任何支持 MCP 的工具。
适用对象: Claude Code · Claude Desktop · OpenClaw · Hermes · Brex CrabTrap
你的 Agent 现在可能正在给骗子付款。 它可能因提示词注入而付给错误的收款人、支付虚高金额,或对同一张发票重复付款——而你的日志并非证据。Fidacy 会在资金转移之前拦截,并提供经过签名的判定,任何人都可以使用公钥验证。你不必信任我们——检查签名即可。
快速开始(免费、本地优先、无需账户)
{
"mcpServers": {
"fidacy": { "command": "npx", "args": ["-y", "@fidacy/mcp"] }
}
}
在你的设备上运行,支持离线,默认拒绝。在
~/.fidacy/config.json 中添加可信收款人和限额。你可以使用
/.well-known/jwks.json 中的公钥自行验证任何判定。
为什么
Agent 可能产生幻觉,或因提示词注入而发起错误支付:收款人错误、金额错误、发票伪造。提示词级防护具有概率性,也可能被绕过。@fidacy/mcp 是一个位于 Agent 意图与执行器之间的确定性关卡:除非操作通过签名授权指令的验证,否则一律无法执行;每项判定都会写入不可变的哈希链审计记录。
执行模型
- 将
@fidacy/mcp注册为 Agent 唯一具备支付能力的工具。不要向 Agent 提供原始支付工具。工具清单就是运行时防火墙。 - Agent 调用
request_payment。Fidacy 会根据授权指令检查该请求(收款人允许列表、单笔交易限额、总限额、货币、时间范围、撤销状态)。 - ALLOW 会返回一个短时有效的 Ed25519 授权令牌。DENY 不会返回授权令牌,并会指出违反的规则。下游执行器必须要求提供授权令牌,因此被拒绝的操作无法继续。
- 每项判定都会追加到哈希链日志中。
get_audit_proof会返回可移植、可验证的证明。
一次安装,两种后端
@fidacy/mcp 在一次安装中提供两种互补能力:
- 判定层(建议性):
assess_action调用 Fidacy 实时引擎,并返回签名的信任判定。它不会转移资金;只会给出判定,其证明(riskPayloadJws+signingKeyId)可由任何人通过@fidacy/verify,使用引擎的 JWKS(位于/.well-known/jwks.json)进行验证。 - 支付防火墙(强制执行):
request_payment/verify_mandate/get_audit_proof通过核心功能,根据签名授权指令拦截并证明支付操作,同时返回短时有效的 Ed25519 授权令牌。
概念模型:assess_action -> 引擎(签名判定);
request_payment 及相关工具 -> 核心功能(支付防火墙)。
工具
| 工具 | 后端 | 用途 |
|---|---|---|
assess_action | 引擎 | 对拟议操作给出签名的 Fidacy 信任判定。仅供参考。 |
request_payment | 核心功能 | 授权支付操作。返回 ALLOW + 授权令牌,或 DENY + 规则。 |
verify_mandate | 核心功能 | 读取授权指令信封和 Fidacy 公钥。 |
get_audit_proof | 核心功能 | 返回针对判定 ID 的哈希链证明。 |
assess_action
返回实时引擎针对拟议操作签发的 Fidacy 信任判定。签名证明为 riskPayloadJws + signingKeyId,任何人都可以通过 @fidacy/verify,使用 {engineUrl}/.well-known/jwks.json 进行验证。
输入:
kind(可选,默认为ap2_payment):可选值为ap2_payment、message_send、voice_call、custom、claim_document。mandate(必填):该kind对应的操作/授权对象。mandateType、spendingMandate、idempotencyKey、a2a.task_id(可选)。
环境变量:
| 变量 | 默认值 | 用途 |
|---|---|---|
FIDACY_ENGINE_URL | https://api.fidacy.com | Fidacy 引擎的基本 URL。 |
FIDACY_ENGINE_API_KEY | (无) | 具有 assess:write 作用域的 fky_live_/fky_test_ 密钥。 |
即使没有 FIDACY_ENGINE_API_KEY,服务也会启动;工具始终会注册。只有在没有密钥时调用 assess_action,才会返回一条实用错误提示,告知你需要设置该密钥。密钥绝不会被记录、回显或附加到任何错误中。
安装
npm install -g @fidacy/mcp # or run via npx, no install
Claude Code
claude mcp add fidacy -- npx -y @fidacy/mcp
Claude Desktop(claude_desktop_config.json)
{
"mcpServers": {
"fidacy": { "command": "npx", "args": ["-y", "@fidacy/mcp"] }
}
}
Hermes(config.yaml)
mcp_servers:
fidacy:
command: npx
args: ["-y", "@fidacy/mcp"]
OpenClaw
通过 Tools 面板或 Agent 配置中的 mcpServers 块添加同一服务。任何兼容 MCP 的宿主都使用相同的命令。
接入真实核心(生产环境)
MCP 层通过一个接口(FidacyCore)与核心交互。你的代码仓库仍保持私有。设置 FIDACY_MODE=http 并实现以下三个端点:
POST /v1/mandate/get->MandatePOST /v1/decide->Decision(运行你的 Ed25519/AP2 验证并追加审计记录)POST /v1/audit/proof->AuditProof
无需更改 MCP 层。
开发
npm install
npm run build
npm start # stdio server, in-memory demo mandate
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。