Skip to content

IntentFence Agent Action Firewall

by razel369 · remote · no sign-in to list tools · v0.16.0 · published by GitHub user razel369

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

Final · 1Changes · 9

10 tools: 1 do something that can't be undone and 9 change things.

Scanned Oct 21, 2026

4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http intentfence https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn2 info
  • The server marks "intentfence_authorize_action" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The input carries an amount (input.policy.max_cost.amount) and a currency, so it moves money.

    What this check looks for
  • The server marks "intentfence_checkout" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "intentfence_checkout" says "checkout": a word for a change.

    What this check looks for
  • The input schema at properties.project_name.description mentions "credentials".

    Matched text

    inputSchema.properties.project_name.description: "...blic-safe project label. Do not include credentials or secrets."

    What this check looks for
  • The description mentions "credential".

    Matched text

    description: "...$0.002 USDC on Base). Makes one bounded credential-free request to a public HTTPS target,..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

10 tools

Can't be undone 1Claude Code: ask
  • intentfence_authorize_actionAuthorize an exact agent action against an explicit allowlist, spend ceiling, retention ceiling, and optional action-bound approval.1 finding

    Why it is in this group

    • The input carries an amount (input.policy.max_cost.amount) and a currency, so it moves money.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "intentfence_authorize_action" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The input carries an amount (input.policy.max_cost.amount) and a currency, so it moves money.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
Changes things 9Claude Code: ask
  • intentfence_agent_risk_scanFree metadata-only scan of caller-supplied MCP tool definitions for missing schemas, unsafe annotations, approval binding, and cost boundaries.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • intentfence_checkoutFree machine checkout builder.1 finding

    Why it is in this group

    • The name "intentfence_checkout" says "checkout": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "intentfence_checkout" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "intentfence_checkout" says "checkout": a word for a change.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • intentfence_policy_packPaid self-service integration pack (1 USDC on Base).1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Info

      The input schema at properties.project_name.description mentions "credentials".

      Matched text

      inputSchema.properties.project_name.description: "...blic-safe project label. Do not include credentials or secrets."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • intentfence_preflightFree declared-input preview with no signed receipt, authorization proof, or enforcement guarantee.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Free declared-input preview with no signed receipt, authorization proof, or enforcement guarantee. Returns safe_to_proceed, needs_review, or denied.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • intentfence_us_cpiPaid official U.S.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • intentfence_verified_preflightPaid production preflight ($0.005 USDC on Base).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Paid production preflight ($0.005 USDC on Base). Settles through x402 and returns a signed ES256 audit receipt plus settlement metadata.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • intentfence_wallet_riskPaid AML/KYT wallet screening ($0.002 USDC on Base) before sending funds or approving a transaction.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • intentfence_x402_assessmentPaid assessment ($0.005 USDC on Base).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • intentfence_x402_readinessPaid live endpoint check ($0.002 USDC on Base).1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...$0.002 USDC on Base). Makes one bounded credential-free request to a public HTTPS target,..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.16.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http intentfence https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [],
    "ask": [
      "mcp__intentfence__intentfence_authorize_action",
      "mcp__intentfence__intentfence_agent_risk_scan",
      "mcp__intentfence__intentfence_checkout",
      "mcp__intentfence__intentfence_preflight",
      "mcp__intentfence__intentfence_policy_pack",
      "mcp__intentfence__intentfence_verified_preflight",
      "mcp__intentfence__intentfence_x402_assessment",
      "mcp__intentfence__intentfence_x402_readiness",
      "mcp__intentfence__intentfence_wallet_risk",
      "mcp__intentfence__intentfence_us_cpi"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as intentfence. Review it before you use it.