关于 fidacy
fidacy 是面向 AI Agent 的 MCP 服务,会依据已签名授权检查支付操作,并生成可验证的决策。它将风险评估与默认拒绝的支付闸门、审计证明结合起来。
主要功能
- 01依据授权规则批准支付
- 02检查收款方、金额、币种和时段
- 03签发短时有效的 Ed25519 凭证
- 04生成已签名的操作风险评估
- 05提供哈希链审计证明
适用场景
- 01阻止向未授权收款方付款
- 02执行单笔及累计支出上限
- 03验证操作风险评估的签名
- 04为支付决策提供可移植证据
MCP 相关
它通过 MCP 工具提供 `assess_action`、`request_payment`、`verify_mandate` 和 `get_audit_proof`。MCP 客户端可将其置于 Agent 支付意图与下游执行器之间进行拦截。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
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 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。