mcpField
F
fidacy

fidacy

本地服务
github.com/lucaslubi安全112 周前更新

关于 fidacy

fidacy 是面向 AI Agent 的 MCP 服务,会依据已签名授权检查支付操作,并生成可验证的决策。它将风险评估与默认拒绝的支付闸门、审计证明结合起来。

主要功能

  1. 01依据授权规则批准支付
  2. 02检查收款方、金额、币种和时段
  3. 03签发短时有效的 Ed25519 凭证
  4. 04生成已签名的操作风险评估
  5. 05提供哈希链审计证明

适用场景

  1. 01阻止向未授权收款方付款
  2. 02执行单笔及累计支出上限
  3. 03验证操作风险评估的签名
  4. 04为支付决策提供可移植证据

MCP 相关

它通过 MCP 工具提供 `assess_action`、`request_payment`、`verify_mandate` 和 `get_audit_proof`。MCP 客户端可将其置于 Agent 支付意图与下游执行器之间进行拦截。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"com-fidacy": {
"command": "npx",
"args": [
"-y",
"@fidacy/mcp"
],
"env": {
"FIDACY_ENGINE_API_KEY": "<FIDACY_ENGINE_API_KEY>",
"FIDACY_MODE": "<FIDACY_MODE>"
}
}
}
}
启动命令npx -y @fidacy/mcp
需要配置的环境变量
FIDACY_ENGINE_API_KEY密钥Optional: enables signed trust verdicts (assess_action).
FIDACY_MODEOptional: 'http' for the hosted paid core.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@fidacy/mcp0.2.7

工具

12

收录的工具列表 · 更新于 2 周前

参数类型必填说明
payeestring是收款方标识符
amountnumber是以授权货币计的金额
purposestring是用你自己的话说明本次付款的实际原因。该内容会以可读形式持久记录在防篡改审计记录中(无论 ALLOW 或 DENY),并成为事后证明的一部分,因此请填写真实原因。
categorystring是用途类别(必须为授权允许的类别)
currencystring是ISO 4217 货币代码
invoiceRefstring否可选的发票标识。设置后,Fidacy 会强制每张发票只能支付一次:对同一 invoiceRef 的第二次请求将被 DENIED,无论金额多少。
idempotencyKeystring否可选。如果有,请提供你为此付款指定的密钥(订单 ID、任务 ID 等)。留空时,Fidacy 会根据付款本身生成密钥,这是更安全的默认选项:重试同一笔付款会生成相同的密钥,而自行编造的密钥不会。

详细介绍

@fidacy/mcp

fidacy-mcp MCP server

Fidacy blocks a BEC lookalike-payee payment, then allows the legit one with a signed Ed25519 grant

AI Agent 的操作防火墙。可即插即用的 MCP 服务,在资金转移之前,依据经过加密签名的授权指令拦截支付操作。 非托管:Fidacy 负责授权和证明,但绝不持有资金。

安装一次,即可用于任何兼容 MCP 的 Agent:Claude Code、Claude Desktop、 Hermes、OpenClaw,以及其他任何支持 MCP 的工具。

npm license 适用对象: 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 意图与执行器之间的确定性关卡:除非操作通过签名授权指令的验证,否则一律无法执行;每项判定都会写入不可变的哈希链审计记录。

执行模型

  1. 将 @fidacy/mcp 注册为 Agent 唯一具备支付能力的工具。不要向 Agent 提供原始支付工具。工具清单就是运行时防火墙。
  2. Agent 调用 request_payment。Fidacy 会根据授权指令检查该请求(收款人允许列表、单笔交易限额、总限额、货币、时间范围、撤销状态)。
  3. ALLOW 会返回一个短时有效的 Ed25519 授权令牌。DENY 不会返回授权令牌,并会指出违反的规则。下游执行器必须要求提供授权令牌,因此被拒绝的操作无法继续。
  4. 每项判定都会追加到哈希链日志中。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_URLhttps://api.fidacy.comFidacy 引擎的基本 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 -> Mandate
  • POST /v1/decide -> Decision(运行你的 Ed25519/AP2 验证并追加审计记录)
  • POST /v1/audit/proof -> AuditProof

无需更改 MCP 层。

开发

npm install
npm run build
npm start      # stdio server, in-memory demo mandate

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。