IntentFence Agent Action Firewall

io.github.razel369由 GitHub 帳號 razel369 發布v0.16.0更新於 Oct 24, 2026

Fail-closed action authorization, MCP risk scanning, x402 checks, and signed receipts.

已驗證Streamable HTTP可網頁執行金融開發者工具安全與監控

概覽

AI 產生的概覽

失敗即關閉的授權防火牆,為代理動作簽發短期回執,並提供 MCP 中繼資料、x402 與錢包風險檢查。

可以做什麼
  • 依白名單、支出與留存上限授權精確的代理動作,回傳五分鐘 ES256 回執且不執行下游動作
  • 掃描呼叫端提供的 MCP 工具定義,檢查缺漏的 schema、不安全的標註與成本界線
  • 預覽宣告輸入並給出 safe_to_proceed、needs_review 或 denied,或取得付費的簽章預檢
  • 評估 x402 付款挑戰,並探測公開 x402 端點的就緒狀態
  • 篩查 Base 錢包地址的 AML/KYT 風險,並取得美國官方 CPI 資料
  • 建立付費結果的機器結帳資訊,並產生含防護程式碼與測試向量的付費政策包
適用情境
當自主代理即將執行付款、轉帳、部署或刪除等有後果的動作,需要在執行前取得可驗證、失敗即關閉的判定時使用。也適合在付款給 Base 收款方之前核查 x402 報價與錢包風險。
執行需求
使用指定的託管 Streamable HTTP 端點;免費工具不需 API 金鑰但有速率限制。付費工具透過 x402 以 Base 上的 USDC 結算,需要支援 x402 的用戶端;若用本機 stdio 套件自動付款,需設定 INTENTFENCE_EVM_PRIVATE_KEY、INTENTFENCE_MAX_AUTO_PAYMENT_USDC 與 INTENTFENCE_AUTO_PAYMENT_BUDGET_USDC。本機 stdio 可透過 npx 或 Docker 執行。
安裝前請注意
多個工具按次收取 Base 上的 USDC(每次 0.001 至 1 USDC);自動付款需要買方自控的私鑰置於 INTENTFENCE_EVM_PRIVATE_KEY,應存放於密鑰管理服務而非設定檔。回執僅證明評估了呼叫端提供的資料,不證明身分或商家交付,呼叫端必須驗證回執並在失敗時阻斷。此伺服器不應接收任何憑證或錢包私鑰。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 IntentFence Agent Action Firewall,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.razel369%2Fintentfence/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "intentfence-agent-action-firewall": {
      "type": "http",
      "url": "https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp"
    }
  }
}

README

IntentFence

IntentFence is a fail-closed authorization firewall for autonomous AI agents. Immediately before a consequential MCP, HTTP, A2A, or payment action, it binds the exact action and payload hash to explicit action/resource allowlists, spend and retention ceilings, and optional action-specific approval. It returns a five-minute ES256 receipt; the TypeScript and Python SDKs verify the receipt and local action digest before executing the caller-owned callback. IntentFence never executes downstream tools and should never receive credentials or wallet keys. It also provides MCP metadata scanning and x402 payment-safety checks.

  • safe_to_proceed
  • needs_review
  • denied

Production: https://agentpass-protocol.rmalka06.chatgpt.site

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

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

[razel369/intentfence MCP server]

Protocol surfaces

SurfaceEndpoint
Action-bound authorizationPOST /api/actions/authorize
Paid self-service production policy packPOST /api/policy-packs
Free MCP metadata risk scanPOST /api/agent-risk/scan
Free REST previewPOST /api/preflight
Paid x402 decisionPOST /api/preflight/verified
Paid caller-observed x402 quote assessmentPOST /api/x402-assessments
Paid live x402 endpoint readinessPOST /api/x402-readiness
Paid live Base wallet-risk assessmentGET /api/wallet-risk?address=...
Paid signed official U.S. CPI dataGET /api/us-cpi?month=YYYY-MM
Receipt verificationPOST /api/receipts/verify
Public ES256 keysGET /.well-known/jwks.json
MCP Streamable HTTP/api/mcp (intentfence_verified_preflight is x402-paid)
A2A Agent CardGET /.well-known/agent-card.json
x402 service manifestGET /.well-known/x402
Public aggregate metricsGET /api/metrics
OpenAPIGET /openapi.json

Fail-closed action authorization

The hosted MCP tools intentfence_authorize_action and intentfence_agent_risk_scan are available without an API key and are rate-limited. Authorization signs the exact caller-supplied action and policy digests for five minutes but does not validate the truth of a self-declared identity or approval source. Production callers must verify the receipt, re-hash the local action, and block on denial, review, expiry, mismatch, network failure, or verification failure. Use the TypeScript enforceAction or Python run_authorized helper to make that boundary executable.

The scanner evaluates caller-supplied MCP metadata only. It highlights missing schemas, annotations, action-bound approval, and financial limits, but does not execute tools, inspect source code, or certify security or compliance.

Official U.S. CPI costs 0.001 USDC; live readiness and wallet risk cost 0.002 USDC; signed preflight and exact-quote assessment cost 0.005 USDC on Base through x402. A successful call returns both the facilitator's PAYMENT-RESPONSE settlement header and an IntentFence ES256 compact-JWS receipt.

Wallet risk is the recommended first check before paying a Base recipient. It uses live Base RPC activity and GoPlus malicious-address intelligence. A safe_to_proceed result means no listed malicious flags were observed and the address was established on Base at assessment time; it does not prove identity, ownership, authorization, or future behavior.

Install the recurring pre-payment skill to attach that check to new Base recipients:

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

The skill can run without interrupting an autonomous workflow only when the wallet owner already approved a standing 0.002 USDC screening budget and the wallet enforces it. It blocks the downstream payment on review, denial, missing settlement proof, invalid receipt, or service failure.

The live readiness check is the simplest first call when an agent only has an endpoint URL. It makes one bounded credential-free request, rejects private-network targets and redirects, validates the returned challenge, never pays the target, and signs the result for five minutes.

The quote assessment is the recommended check after an x402 merchant returns its unpaid challenge and before the agent signs the merchant payment. The agent supplies subject, target_url, optional method (GET, HEAD, or POST), the base64 payment_required header (maximum 16 KiB), and a policy with max_price_usdc plus an optional allowed_payees list. IntentFence validates x402 v2, exact scheme, Base mainnet, canonical Base USDC, price, payee, and exact resource binding. It requires the canonical USDC EIP-712 domain and sends Permit2, unknown transfer metadata, and active extensions to review. A safe_to_proceed result requires an explicit matching allowed_payees entry; omitting the list yields needs_review. IntentFence never fetches or pays the target. Every advertised payment option must satisfy every automatic check; mixed safe and unsafe option sets are denied.

Self-service production policy pack

An agent or developer can buy a complete production guard without an account, email, meeting, or sales call:

text
POST /api/policy-packs

The request selects openai-agents-js, cloudflare-agents, coinbase-agentkit, or mcp-gateway and supplies one exact action plus its allowlists, spend ceiling, retention limit, and optional approval policy. The first request returns an x402 challenge for exactly 1 USDC on Base. After settlement, the same response delivers a copy-ready TypeScript guard, signed action and policy receipt, allowed/denied/over-budget test vectors, and a fail-closed deployment checklist. The buyer must review the generated code and keep all credentials in its own runtime.

Install now

The hosted MCP endpoint is available without an API key:

text
https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp

Install the local stdio MCP package

Agents and MCP clients that require a local process can run the immutable public 0.11.0 release directly. This does not require an npm account, repository clone, or IntentFence API key:

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

The release artifact is built and tested by GitHub Actions. Its SHA-256 digest is f0cdf3df28da8a5c037e48193cbb4602744b5fb0b6c182d877abedb707b1e9f9. Use the hosted endpoint above when the client supports Streamable HTTP.

Install in an agent runtime

All adapters keep credentials in the caller runtime and execute the downstream action only after the exact local action digest and ES256 receipt verify.

Opt-in one-call payment for local agents

The local stdio package can handle the x402 challenge, sign it, retry the tool call, and return the settled result without requiring special MCP-client support. Automatic payment is disabled unless all three values below are set:

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

Supply the key through the agent runtime's secret manager or process environment; never commit it to an MCP configuration file. The package signs only exact Base-mainnet USDC requirements addressed to the published IntentFence recipient, rejects any payment above the per-call ceiling, and reserves every attempted signature against the process-lifetime budget before signing. Failed attempts remain reserved, so retry loops and concurrent calls cannot exceed the cap. The private key stays in the buyer's local process and is never sent to IntentFence.

Build an exact machine checkout

Agents do not need to infer which endpoint, method, payload, or payment cap matches a product. Read the catalog, then submit the exact product input:

bash
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"}}'

The checkout response is free and never initiates payment. It returns a validated HTTP request, shell-safe Agentic Wallet argv, POSIX and PowerShell commands, Coinbase Agentic Wallet MCP instructions, an mcpc --x402 call, the matching Agent Skill, the matching MCP tool and arguments, and an exact Base USDC ceiling. Paid MCP tools advertise _meta.x402 for clients that can sign before the first tool call. Agents must still review and authorize the payment and require PAYMENT-RESPONSE settlement proof.

Install in VS Code

Open the live install panel, then select Install IntentFence in VS Code.

The install action contains only the public server name, transport, and URL. VS Code asks you to review and trust the server before its first start. The free policy-preview tool works with no API key. Paid calls through the hosted server need an x402-capable client; runtimes without one can use the budget-capped local stdio mode above.

Manual .vscode/mcp.json or user-profile fallback:

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

Review the server details yourself before starting a manually configured server.

See the official VS Code MCP installation documentation.

Install the cross-agent payment guard

Install the open Agent Skill in Codex, Claude Code, Cursor, Gemini CLI, GitHub Copilot, and other skills-compatible agents:

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

Review the complete skill before installing it.

The skill triggers when an agent is about to sign an x402 payment. It teaches the agent to capture the exact quote, enforce a caller-defined ceiling and payee allowlist, keep wallet credentials local, and use IntentFence only after the 0.005 USDC assessment fee is authorized. It includes a capped Coinbase Agentic Wallet buyer path for agents that already use an authenticated wallet.

Agents that have only a public x402 URL can install the narrower live-readiness skill. It probes the route without credentials or target payment, blocks redirects and private-network targets, validates the returned challenge, and requires explicit authorization before the 0.002 USDC IntentFence fee:

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

The official x402 client buyer example verifies the live fee challenge before creating a signer and is payment-disabled by default:

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

Agents that already use Coinbase Agentic Wallet can retrieve a complete capped checkout from GET /api/payments under buyer_quickstart. The published command is pinned to a verified CLI version, includes a valid policy body, and sets --max-amount 5000 so it cannot authorize more than the 0.005 USDC IntentFence fee. Review the body and explicitly authorize the real payment before running it.

Projects that already own a Coinbase AgentKit EVM wallet can use the pinned AgentKit adapter. Unlike an automatic retry, it binds the payment to the exact IntentFence URL, Base network, canonical USDC asset, 5000-atomic-unit amount, and recipient, then calls the buyer's own authorization function before signing. The matching machine-readable manifest is published at https://agentpass-protocol.rmalka06.chatgpt.site/integrations/coinbase-agentkit.json.

Gemini CLI can install the repository directly, without waiting for an npm package or gallery crawl:

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

The extension starts a dependency-free local MCP bridge and exposes the free preview plus the x402-paid verified preflight and quote-assessment tools.

Caller-observed x402 quote assessment

The first call returns the standard PAYMENT-REQUIRED challenge for the IntentFence fee:

bash
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"]}}'

Retry the same request with a valid x402 v2 PAYMENT-SIGNATURE. A successful response contains the validated caller-observed challenge fields, pass/review/deny checks, a SHA-256 binding to the full target URL and exact payment requirement, and an ES256-signed assessment receipt. The assessment uses assurance caller-observed-x402-quote-assessment and verification tier x402-quote-assessment+x402-settled; x402 settlement covers the 0.005 USDC IntentFence assessment fee, not the target payment.

Live Base wallet risk

The first call returns an x402 challenge for 0.002 USDC:

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

Retry the same URL with a valid x402 v2 PAYMENT-SIGNATURE. The successful response includes Base account activity, native and USDC balances, a code hash for contracts, current malicious-address flags, pass/review/deny checks, and a five-minute ES256 receipt with assurance live-base-wallet-risk. If a required live source is unavailable, the endpoint fails closed and does not intentionally settle the assessment fee.

Important trust boundary

Declared-input receipts attest only that IntentFence evaluated caller-supplied policy data. Quote-assessment receipts bind the exact caller-observed PAYMENT-REQUIRED challenge; they do not prove that IntentFence contacted the merchant, or prove merchant identity, delivery, or downstream enforcement. The receipt-signing key is separate from the USDC recipient wallet. IntentFence never needs a payer's seed phrase or wallet private key. Wallet-risk receipts report observed evidence at one point in time and are not identity attestations.

Local development

bash
npm installnpm run dev

For MCP clients that launch local stdio servers, use npm run mcp:stdio. Glama and other container-based hosts can build the root Dockerfile; it starts the same IntentFence policy engine and responds to MCP initialization, tools/list, and tools/call requests over standard input/output.

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

The production signing key is stored in Sites as the secret INTENTFENCE_SIGNING_PRIVATE_JWK. Generate a separate development key with:

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

Never commit the generated private JWK. Publish only its public coordinates in /.well-known/jwks.json.

Validation

bash
npm run testnpm run lintnpx tsc --noEmitnpm run sdk:checknpm run smoke:mcp:dockernpm run smoke:mcp:stdionpm run smoke:protocol -- http://localhost:3000

Set INTENTFENCE_TEST_PRIVATE_JWK_PATH only for a local smoke test that should exercise the signed-receipt verifier.

Distribution

TypeScript and Python SDKs live in sdk/. The root server.json is ready for the official MCP Registry under io.github.razel369/intentfence; the public MCP endpoint uses Streamable HTTP and requires no API key.

The /.well-known/x402 service manifest and Bazaar metadata make both paid endpoints crawlable by x402 indexes and autonomous tool routers. Production resources are continuously checked, and the original verified-preflight route is registered on x402scan.

Production uses PayAI by default. When both CDP_API_KEY_ID and CDP_API_KEY_SECRET are configured in the hosted runtime, verification and settlement switch to Coinbase CDP. That makes successful Bazaar-enabled route settlements eligible for Coinbase Bazaar indexing; configuration alone does not create a listing or count as customer revenue.

Commercial path

The fastest no-contact path to production is the 1 USDC policy pack for one guarded purchase, transfer, booking, deployment, deletion, or other consequential action. The machine-readable offer and capped Agentic Wallet checkout are published by GET /api/payments.

See docs/PROTOCOL.md and docs/SECURITY.md for the protocol and security model.

來源:README.md,提交 486bb3b

工具

10

intentfence_authorize_action

IntentFence Action Authorization

Authorize an exact agent action against an explicit allowlist, spend ceiling, retention ceiling, and optional action-bound approval. Returns a five-minute ES256 receipt and never executes the downstream action. Callers must verify the receipt and fail closed if the action changes.

輸入參數action必填policy必填contextsubject必填approval

intentfence_agent_risk_scan

IntentFence MCP Agent Risk Scan

Free metadata-only scan of caller-supplied MCP tool definitions for missing schemas, unsafe annotations, approval binding, and cost boundaries. Does not execute tools or certify security.

輸入參數tools必填server_name必填

intentfence_checkout

IntentFence Agent Checkout

Free machine checkout builder. Select a paid IntentFence outcome and receive the exact endpoint, validated request, USDC cap, shell-safe Agentic Wallet argv, MCP tool call, and opt-in local auto-payment budget. It never signs or initiates payment.

輸入參數inputproduct必填

intentfence_preflight

IntentFence Preview

Free declared-input preview with no signed receipt, authorization proof, or enforcement guarantee. Returns safe_to_proceed, needs_review, or denied.

輸入參數action必填proofssubject必填constraints

intentfence_policy_pack

IntentFence Production Policy Pack

Paid self-service integration pack (1 USDC on Base). Generates a runtime-specific TypeScript guard, signed action and policy receipt, negative test vectors, and a fail-closed deployment checklist for Cloudflare Agents, Coinbase AgentKit, or an MCP gateway. No meeting or account is required.

輸入參數runtime必填project_name必填authorization必填

intentfence_verified_preflight

IntentFence Verified Preflight

Paid production preflight ($0.005 USDC on Base). Settles through x402 and returns a signed ES256 audit receipt plus settlement metadata.

輸入參數action必填proofssubject必填constraints

intentfence_x402_assessment

IntentFence x402 Quote Assessment

Paid assessment ($0.005 USDC on Base). Forward the exact base64 or base64url PAYMENT-REQUIRED header observed by the caller. IntentFence validates the quote, canonical Base USDC asset, price ceiling, payee allowlist, timeout, and resource binding without contacting the target, then returns a short-lived ES256 receipt bound to the quote hash. Supply allowed_payees for safe_to_proceed; omission yields needs_review.

輸入參數methodpolicy必填subject必填target_url必填payment_required必填

intentfence_x402_readiness

IntentFence Live x402 Readiness

Paid live endpoint check ($0.002 USDC on Base). Makes one bounded credential-free request to a public HTTPS target, blocks private networks and redirects, never pays the target, validates the returned x402 challenge, and returns a signed five-minute receipt.

輸入參數bodymethodpolicysubjecttarget_url必填allowed_payeesmax_price_usdc

intentfence_wallet_risk

IntentFence Wallet Risk

Paid AML/KYT wallet screening ($0.002 USDC on Base) before sending funds or approving a transaction. Checks live Base activity plus GoPlus sanctions, phishing, mixer, money-laundering, dark-web, blacklist, and related counterparty-risk flags, then returns a five-minute ES256 receipt. A low-risk result is not proof of identity, ownership, authorization, or future behavior.

輸入參數address必填

intentfence_us_cpi

IntentFence Official U.S. CPI

Paid official U.S. CPI and core CPI data ($0.001 USDC on Base), retrieved from the Bureau of Labor Statistics with a six-hour edge cache and returned with an ES256 provenance receipt. Optionally request a YYYY-MM period.

輸入參數month

版本歷史

1
  1. v0.16.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分