mcpField
I
IntentFence Agent Action Firewall

IntentFence Agent Action Firewall

远程服务
github.com/razel369安全213 周前更新
代码仓库

关于 IntentFence Agent Action Firewall

IntentFence 是为自主 AI Agent 设计的默认拒绝授权防火墙,在关键操作执行前将具体动作与策略绑定并签发短期回执。它还可扫描 MCP 元数据并进行 x402 支付安全检查,但不会执行下游工具。

主要功能

  1. 01按动作与策略授权并签发签名回执
  2. 02提供 safe、review、denied 决策
  3. 03扫描 MCP 元数据风险
  4. 04检查 x402 报价与端点安全
  5. 05TypeScript 和 Python SDK 验证回执

适用场景

  1. 01执行 MCP 或 HTTP 操作前核验授权
  2. 02支付 x402 费用前评估报价与收款方
  3. 03审查 MCP 工具元数据中的风险缺项
  4. 04在本地验证回执及动作摘要后执行操作

MCP 相关

提供托管的 MCP Streamable HTTP 端点和本地 stdio 包,包含动作授权及 MCP 风险扫描工具;部分 x402 相关工具需要付费。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

10
参数类型必填说明
actionobject是
action.typestring是
action.methodstring否
action.protocolenum是mcp | http | a2a | payment | other
action.resourcestring是
action.payload_sha256string否
policyobject是
policy.max_costobject否
policy.max_cost.amountnumber是
policy.max_cost.currencystring是
policy.allowed_resourcesarray是
policy.allowed_action_typesarray是
policy.max_data_retention_hoursnumber否
policy.require_human_approval_forarray否
contextobject否
context.currencystring否
context.quoted_costnumber否
context.data_retention_hoursnumber否
subjectstring是
approvalobject否
approval.proof_idstring是
approval.expires_atstring是
approval.approved_atstring是
approval.approved_bystring是
approval.action_digeststring是

详细介绍

IntentFence

IntentFence 是面向自主 AI Agent 的故障时默认拒绝授权防火墙。 在执行具有重大影响的 MCP、HTTP、A2A 或支付操作前,它会将确切的操作和负载哈希绑定到明确的操作/资源允许列表、支出和保留期限上限,以及可选的操作专属审批。它会返回有效期为五分钟的 ES256 收据;TypeScript 和 Python SDK 会在执行由调用方拥有的回调前验证收据和本地操作摘要。 IntentFence 从不执行下游工具,也绝不应接收凭据或钱包密钥。它还提供 MCP 元数据扫描和 x402 支付安全检查。

  • safe_to_proceed
  • needs_review
  • denied

生产环境:https://agentpass-protocol.rmalka06.chatgpt.site

x402scan:https://www.x402scan.com/server/c495c104-dba4-4764-86b1-96b8b0cda48b

官方 MCP Registry:https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.razel369%2Fintentfence

razel369/intentfence MCP 服务

协议接口

接口端点
操作绑定授权POST /api/actions/authorize
付费自助生产策略包POST /api/policy-packs
免费 MCP 元数据风险扫描POST /api/agent-risk/scan
免费 REST 预览POST /api/preflight
付费 x402 决策POST /api/preflight/verified
付费调用方观测到的 x402 报价评估POST /api/x402-assessments
付费实时 x402 端点就绪状态POST /api/x402-readiness
付费实时 Base 钱包风险评估GET /api/wallet-risk?address=...
付费签名官方美国 CPI 数据GET /api/us-cpi?month=YYYY-MM
收据验证POST /api/receipts/verify
公开 ES256 密钥GET /.well-known/jwks.json
MCP Streamable HTTP/api/mcp(intentfence_verified_preflight 需付费使用 x402)
A2A Agent CardGET /.well-known/agent-card.json
x402 服务清单GET /.well-known/x402
公开汇总指标GET /api/metrics
OpenAPIGET /openapi.json

失败即关闭的操作授权

托管的 MCP 工具 intentfence_authorize_action 和 intentfence_agent_risk_scan 无需 API 密钥即可使用,并设有速率限制。授权会为调用方提供的确切操作和策略摘要签名,有效期为五分钟,但不会验证自我声明的身份或审批来源是否属实。生产环境调用方必须验证回执、重新计算本地操作的哈希,并在遭拒、需审核、过期、不匹配、网络故障或验证失败时阻止操作。使用 TypeScript 的 enforceAction 或 Python 的 run_authorized 辅助函数,可将这一边界落实为可执行逻辑。

扫描器仅评估调用方提供的 MCP 元数据。它会标出缺失的架构、注释、与操作绑定的审批以及财务限额,但不会执行工具、检查源代码,也不会认证安全性或合规性。

通过 x402,官方美国 CPI 的费用为 0.001 USDC;实时就绪性检查和钱包风险检查的费用为 0.002 USDC;签名预检和精确报价评估在 Base 上的费用为 0.005 USDC。调用成功后会同时返回 facilitator 的 PAYMENT-RESPONSE 结算标头和 IntentFence ES256 compact-JWS 回执。

向 Base 收款方付款前,建议先检查钱包风险。该检查会使用实时 Base RPC 活动数据和 GoPlus 恶意地址情报。safe_to_proceed 结果表示未发现已列出的恶意标记,并且评估时确认该地址已在 Base 上建立;但这不能证明其身份、所有权、授权或未来行为。

安装定期付款前检查技能,以便对新的 Base 收款方执行该检查:

npx skills add razel369/intentfence --skill screen-base-wallets

只有在钱包所有者已批准 0.002 USDC 的持续筛查预算,且钱包会强制执行该预算时,该技能才可在不中断自主工作流的情况下运行。如果需审核、遭拒、缺少结算证明、回执无效或服务故障,该技能会阻止后续付款。

如果 Agent 只有端点 URL,实时就绪性检查是最简单的首次调用方式。它会发出一次范围受限且无需凭据的请求,拒绝指向私有网络的目标和重定向,验证返回的质询,绝不会向目标付款,并为结果签名,签名有效期为五分钟。

x402 商户返回未付款的质询后、Agent 为商户付款签名前,建议先进行报价评估。 Agent 提供 subject、target_url、可选的 method(GET、HEAD 或 POST)、base64 编码的 payment_required 标头(最大 16 KiB),以及包含 max_price_usdc 和可选 allowed_payees 列表的策略。IntentFence 会验证 x402 v2、精确的方案、Base 主网、规范的 Base USDC、价格、收款方和精确的资源绑定。它要求使用规范的 USDC EIP-712 域,并将 Permit2、未知的转账元数据和启用的扩展送交审核。只有明确列出匹配的 allowed_payees 条目,safe_to_proceed 结果才会成立;省略该列表会得到 needs_review。IntentFence 绝不会获取目标内容或向目标付款。每个公布的付款选项都必须通过所有自动检查;同时包含安全和不安全选项的集合将被拒绝。

自助式生产策略包

Agent 或开发者无需账户、电子邮件、会议或销售洽谈,即可购买完整的生产防护方案:

POST /api/policy-packs

请求会选择 openai-agents-js、cloudflare-agents、 coinbase-agentkit 或 mcp-gateway,并提供一项确切操作及其允许列表、支出上限、保留期限和可选的审批策略。首次请求会返回一个 x402 质询,要求在 Base 上支付恰好 1 USDC。结算后,同一响应会提供可直接复制的 TypeScript 防护代码、已签名的操作和策略回执、允许/拒绝/超出预算的测试向量,以及失败即关闭的部署检查清单。购买方必须审核生成的代码,并将所有凭据保留在自己的运行时环境中。

立即安装

托管的 MCP 端点无需 API 密钥即可使用:

https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp
安装本地 stdio MCP 包

需要本地进程的 Agent 和 MCP 客户端可以直接运行不可变的公开版本 0.11.0。无需 npm 账号、克隆代码仓库或 IntentFence API 密钥:

npx --yes --package https://github.com/razel369/intentfence/releases/download/mcp-v0.11.0/razel369-intentfence-mcp-0.11.0.tgz intentfence-mcp

该版本构建产物由 GitHub Actions 构建并测试。其 SHA-256 摘要为 f0cdf3df28da8a5c037e48193cbb4602744b5fb0b6c182d877abedb707b1e9f9。 如果客户端支持 Streamable HTTP,请使用上方的托管端点。

在 Agent 运行时中安装

所有适配器都会将凭据保留在调用方运行时中,并且仅在精确的本地操作摘要和 ES256 回执通过验证后,才执行下游操作。

为本地 Agent 启用单次调用付款

本地 stdio 包可以处理 x402 挑战、为其签名、重试工具调用并返回结算结果,无需 MCP 客户端提供特殊支持。除非设置了以下全部三个值,否则自动付款功能处于禁用状态:

INTENTFENCE_EVM_PRIVATE_KEY=<buyer-controlled 0x-prefixed key>
INTENTFENCE_MAX_AUTO_PAYMENT_USDC=0.005
INTENTFENCE_AUTO_PAYMENT_BUDGET_USDC=0.05

请通过 Agent 运行时的密钥管理器或进程环境提供密钥;切勿将其提交到 MCP 配置文件。该包仅对发送至已公布的 IntentFence 收款方的 exact Base 主网 USDC 要求进行签名;任何超过单次调用上限的付款都会被拒绝,并且每次签名尝试都会在签名前计入进程生命周期预算。失败的尝试仍会计入预算,因此重试循环和并发调用都无法超出上限。私钥始终保留在买方的本地进程中,绝不会发送给 IntentFence。

构建精确的机器可读结账信息

Agent 无需推断哪个端点、方法、负载或付款上限适用于某个产品。先读取目录,再提交精确的产品输入:

curl https://agentpass-protocol.rmalka06.chatgpt.site/api/checkout

curl -X POST https://agentpass-protocol.rmalka06.chatgpt.site/api/checkout \
  -H "Content-Type: application/json" \
  -d '{"product":"wallet-risk","input":{"address":"0x1111111111111111111111111111111111111111"}}'

结账响应免费,且绝不会发起付款。它会返回经过验证的 HTTP 请求、shell 安全的 Agentic Wallet argv、POSIX 和 PowerShell 命令、Coinbase Agentic Wallet MCP 说明、mcpc --x402 调用、相应的 Agent Skill、相应的 MCP 工具和参数,以及精确的 Base USDC 上限。对于能够在首次工具调用前签名的客户端,付费 MCP 工具会公布 _meta.x402。 Agent 仍须审核并授权付款,并要求提供 PAYMENT-RESPONSE 结算证明。

在 VS Code 中安装

打开实时安装面板, 然后选择 在 VS Code 中安装 IntentFence。

安装操作仅包含公开的服务名称、传输方式和 URL。VS Code 会要求你在服务首次启动前审核并信任它。免费策略预览工具无需 API 密钥即可使用。通过托管服务进行付费调用需要支持 x402 的客户端;不支持此功能的运行时可以使用上文预算封顶的本地 stdio 模式。

手动配置 .vscode/mcp.json 或用户配置文件的备用方案:

{
  "servers": {
    "IntentFence": {
      "type": "http",
      "url": "https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp"
    }
  }
}

启动手动配置的服务前,请自行审核服务详情。

请参阅官方 VS Code MCP 安装文档。

安装跨 Agent 支付防护技能

在 Codex、Claude Code、Cursor、Gemini CLI、GitHub Copilot 和其他兼容技能的 Agent 中安装这个开源 Agent Skill:

npx skills add razel369/intentfence --skill guard-x402-payments

安装前查看完整技能内容。

当 Agent 即将签署 x402 付款时,此技能会触发。它会指导 Agent 捕获准确的报价、执行调用方定义的上限和收款方允许列表、将钱包凭据保留在本地,并且仅在获准支付 0.005 USDC 评估费用后使用 IntentFence。它还包含一条 Coinbase Agentic Wallet 买方流程,适用于已使用经身份验证钱包的 Agent,并设有金额上限。

只有公开 x402 URL 的 Agent 可以安装范围更窄的实时就绪性技能。它会在不使用凭据或支付目标费用的情况下探测路由、阻止重定向和私有网络目标、验证返回的挑战,并要求在支付 0.002 USDC IntentFence 费用前获得明确授权:

npx skills add razel369/intentfence --skill inspect-x402-endpoints

官方 x402 客户端买方示例会在创建签名器前验证实时费用挑战,且默认禁用付款:

https://github.com/razel369/intentfence/tree/main/examples/x402-buyer

已使用 Coinbase Agentic Wallet 的 Agent 可以通过 GET /api/payments 中的 buyer_quickstart 获取完整的限额结账流程。发布的命令固定到经过验证的 CLI 版本,包含有效的策略正文,并设置 --max-amount 5000,因此无法授权超过 0.005 USDC 的 IntentFence 费用。运行前请查看正文,并明确授权实际付款。

已拥有 Coinbase AgentKit EVM 钱包的项目可以使用固定版本的 AgentKit 适配器。与自动重试不同,它会将付款绑定到准确的 IntentFence URL、Base 网络、规范的 USDC 资产、5000 个原子单位的金额和收款方,然后在签名前调用买方自己的授权函数。对应的机器可读清单发布于 https://agentpass-protocol.rmalka06.chatgpt.site/integrations/coinbase-agentkit.json。

Gemini CLI 可以直接安装此代码库,无需等待 npm 软件包或图库抓取:

gemini extensions install https://github.com/razel369/intentfence

此扩展会启动一个无依赖的本地 MCP 桥接,并提供免费预览,以及需通过 x402 付费的验证预检和报价评估工具。

调用方观察到的 x402 报价评估

首次调用会返回 IntentFence 费用的标准 PAYMENT-REQUIRED 挑战:

curl -i -X POST https://agentpass-protocol.rmalka06.chatgpt.site/api/x402-assessments \
  -H "Content-Type: application/json" \
  -d '{"subject":"agent:buyer-07","target_url":"https://merchant.example/api/paid-resource","method":"GET","payment_required":"BASE64_PAYMENT_REQUIRED_HEADER","policy":{"max_price_usdc":"0.10","allowed_payees":["0x1111111111111111111111111111111111111111"]}}'

使用有效的 x402 v2 PAYMENT-SIGNATURE 重试相同请求。成功的响应包含经过验证的调用方观察到的挑战字段、通过/审核/拒绝检查、与完整目标 URL 及准确付款要求绑定的 SHA-256 值,以及 ES256 签名的评估回执。评估采用保证级别 caller-observed-x402-quote-assessment 和验证层级 x402-quote-assessment+x402-settled;x402 结算仅涵盖 0.005 USDC 的 IntentFence 评估费用,不包含目标付款。

Base 钱包实时风险

首次调用会返回一项 0.002 USDC 的 x402 挑战:

curl -i "https://agentpass-protocol.rmalka06.chatgpt.site/api/wallet-risk?address=0x1111111111111111111111111111111111111111"

使用有效的 x402 v2 PAYMENT-SIGNATURE 重试相同 URL。成功的响应包含 Base 账户活动、原生代币和 USDC 余额、合约代码哈希、当前恶意地址标记、通过/审核/拒绝检查,以及一份保证级别为 live-base-wallet-risk、有效期为五分钟的 ES256 回执。如果某个必需的实时数据源不可用,端点会默认拒绝,并且不会主动结算评估费用。

重要信任边界

声明输入回执只能证明 IntentFence 评估了调用方提供的策略数据。报价评估回执绑定调用方实际观察到的 PAYMENT-REQUIRED 挑战;它们不能证明 IntentFence 联系过商家,也不能证明商家身份、交付情况或下游强制执行情况。回执签名密钥与 USDC 收款钱包相互独立。IntentFence 不需要付款人的助记词或钱包私钥。钱包风险回执报告的是某一时点观察到的证据,并非身份认证。

本地开发

npm install
npm run dev

对于启动本地 stdio 服务的 MCP 客户端,请使用 npm run mcp:stdio。 Glama 和其他基于容器的托管平台可以构建根目录下的 Dockerfile;它会启动相同的 IntentFence 策略引擎,并通过标准输入/输出响应 MCP 初始化、tools/list 和 tools/call 请求。

docker build -t intentfence-mcp .
docker run --rm -i intentfence-mcp

生产签名密钥以机密 INTENTFENCE_SIGNING_PRIVATE_JWK 的形式存储在 Sites 中。请使用以下命令生成单独的开发密钥:

node scripts/generate-signing-key.mjs /secure/path/intentfence-private-jwk.json

切勿提交生成的私有 JWK。仅在 /.well-known/jwks.json 中发布其公有坐标。

验证

npm run test
npm run lint
npx tsc --noEmit
npm run sdk:check
npm run smoke:mcp:docker
npm run smoke:mcp:stdio
npm run smoke:protocol -- http://localhost:3000

仅当本地冒烟测试需要验证签名回执时,才设置 INTENTFENCE_TEST_PRIVATE_JWK_PATH。

分发

TypeScript 和 Python SDK 位于 sdk/ 中。根目录下的 server.json 已准备好用于官方 MCP Registry,名称为 io.github.razel369/intentfence;公共 MCP 端点使用 Streamable HTTP,且无需 API 密钥。

/.well-known/x402 服务清单和 Bazaar 元数据使两个付费端点都能被 x402 索引和自主工具路由器抓取。生产资源会持续接受检查,原始的已验证预检路由已在 x402scan 注册。

生产环境默认使用 PayAI。若托管运行时配置了 CDP_API_KEY_ID 和 CDP_API_KEY_SECRET,验证和结算将切换为 Coinbase CDP。这使成功的 Bazaar 启用路由结算符合 Coinbase Bazaar 收录条件;仅配置这些变量不会创建列表,也不代表客户收入。

商业路径

最快的免联系生产使用路径,是购买价值 1 USDC 的策略包,用于一次受保护的购买、转账、预订、部署、删除或其他具有重大影响的操作。机器可读的报价和设有额度上限的 Agentic Wallet 结账流程通过 GET /api/payments 发布。

有关协议和安全模型,请参阅 docs/PROTOCOL.md 和 docs/SECURITY.md。

评论

支持 Markdown

第一次接触 MCP?

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

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