Koskamo

IntentFence MCP

IntentFence provides fail-closed action authorization for autonomous AI agents by binding exact tool actions to allowlists, spend ceilings, and approval policies. It returns a five-minute signed ES256 receipt that the SDK verifies locally, blocking execution on any mismatch, expiry, or denial. It also offers MCP risk scanning for metadata gaps and x402 payment screening.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

IntentFence MCP logo, by razel369Community listingStreamable HTTPNo sign-inEndpoint checked 2026-11-07Published by razel369
You need:The free policy preview works without an API keypaid tools still require an x402-capable wallet flow controlled by the caller
MCP endpoint (Streamable HTTP)
https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp
Vendor documentation

What its tools do

10 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

10 of 10 have a description · 10 of 10 declare behavior hints · 3 of 10 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Authorize exact AI agent actions before tool execution
  • Scan MCP tool metadata for security gaps
  • Screen Base wallet recipients for risk
  • Inspect x402 payment endpoints

Source and maintenance

Community listingRegistry 0.16.0
Maintenance checked

Protocol and capabilities

Server
IntentFence 0.16.0
MCP protocol negotiated in check
2025-11-25
Tools
10 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Use intentfence_checkout to choose a paid outcome and receive an exact, budget-capped machine checkout without initiating payment. Use intentfence_authorize_action immediately before a consequential tool call and execute only when its short-lived, action-bound receipt verifies. Use intentfence_agent_risk_scan to inspect MCP metadata. The authorization service never executes the downstream action. Production policy packs, x402 readiness, wallet risk, quote assessment, verified preflight, and official data remain paid tools.

Tools

10 advertised

intentfence_authorize_action — IntentFence Action Authorization
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

intentfence_authorize_action input schema
{
  "type": "object",
  "required": [
    "subject",
    "action",
    "policy"
  ],
  "properties": {
    "action": {
      "type": "object",
      "required": [
        "type",
        "resource",
        "protocol"
      ],
      "properties": {
        "type": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1
        },
        "method": {
          "type": "string",
          "maxLength": 20,
          "minLength": 1
        },
        "protocol": {
          "enum": [
            "mcp",
            "http",
            "a2a",
            "payment",
            "other"
          ],
          "type": "string"
        },
        "resource": {
          "type": "string",
          "maxLength": 1000,
          "minLength": 1
        },
        "payload_sha256": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$"
        }
      },
      "additionalProperties": false
    },
    "policy": {
      "type": "object",
      "required": [
        "allowed_action_types",
        "allowed_resources"
      ],
      "properties": {
        "max_cost": {
          "type": "object",
          "required": [
            "amount",
            "currency"
          ],
          "properties": {
            "amount": {
              "type": "number",
              "minimum": 0
            },
            "currency": {
              "type": "string",
              "maxLength": 12,
              "minLength": 1
            }
          },
          "additionalProperties": false
        },
        "allowed_resources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 50,
          "minItems": 1,
          "uniqueItems": true
        },
        "allowed_action_types": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 50,
          "minItems": 1,
          "uniqueItems": true
        },
        "max_data_retention_hours": {
          "type": "number",
          "minimum": 0
        },
        "require_human_approval_for": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 50,
          "uniqueItems": true
        }
      },
      "additionalProperties": false
    },
    "context": {
      "type": "object",
      "properties": {
        "currency": {
          "type": "string",
          "maxLength": 12,
          "minLength": 1
        },
        "quoted_cost": {
          "type": "number",
          "minimum": 0
        },
        "data_retention_hours": {
          "type": "number",
          "minimum": 0
        }
      },
      "additionalProperties": false
    },
    "subject": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    },
    "approval": {
      "type": "object",
      "required": [
        "approved_by",
        "approved_at",
        "expires_at",
        "action_digest",
        "proof_id"
      ],
      "properties": {
        "proof_id": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1
        },
        "expires_at": {
          "type": "string",
          "format": "date-time"
        },
        "approved_at": {
          "type": "string",
          "format": "date-time"
        },
        "approved_by": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1
        },
        "action_digest": {
          "type": "string",
          "pattern": "^[0-9a-f]{64}$"
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
intentfence_authorize_action annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
intentfence_agent_risk_scan — IntentFence MCP Agent Risk Scan
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

intentfence_agent_risk_scan input schema
{
  "type": "object",
  "required": [
    "server_name",
    "tools"
  ],
  "properties": {
    "tools": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 120,
            "minLength": 1
          },
          "annotations": {
            "type": "object"
          },
          "description": {
            "type": "string",
            "maxLength": 2000
          },
          "inputSchema": {
            "type": "object"
          }
        }
      },
      "maxItems": 100,
      "minItems": 1
    },
    "server_name": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    }
  },
  "additionalProperties": false
}
intentfence_agent_risk_scan annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": false,
  "destructiveHint": false
}
intentfence_checkout — IntentFence Agent Checkout
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

intentfence_checkout input schema
{
  "type": "object",
  "required": [
    "product"
  ],
  "properties": {
    "input": {
      "type": "object",
      "description": "The exact product input. Omit only to receive a non-executable example recipe."
    },
    "product": {
      "enum": [
        "us-cpi",
        "wallet-risk",
        "x402-readiness",
        "x402-assessment",
        "verified-preflight",
        "policy-pack"
      ],
      "type": "string",
      "description": "The paid outcome the agent wants to buy."
    }
  },
  "additionalProperties": false
}
intentfence_checkout annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
intentfence_preflight — IntentFence Preview
Advertised by the server during the last successful anonymous check.
Advertised read-only

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

intentfence_preflight input schema
{
  "type": "object",
  "required": [
    "subject",
    "action"
  ],
  "properties": {
    "action": {
      "type": "object",
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1
        },
        "resource": {
          "type": "string",
          "maxLength": 500
        }
      }
    },
    "proofs": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 20
    },
    "subject": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Agent or principal identifier."
    },
    "constraints": {
      "type": "object",
      "properties": {
        "currency": {
          "type": "string",
          "maxLength": 12
        },
        "quoted_cost": {
          "type": "number",
          "minimum": 0
        },
        "cost_ceiling": {
          "type": "number",
          "minimum": 0
        },
        "human_approval": {
          "enum": [
            "required",
            "optional",
            "not_required"
          ],
          "type": "string"
        },
        "data_retention_hours": {
          "type": "number",
          "minimum": 0
        }
      }
    }
  }
}
intentfence_preflight annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
intentfence_policy_pack — IntentFence Production Policy Pack
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

intentfence_policy_pack input schema
{
  "type": "object",
  "required": [
    "project_name",
    "runtime",
    "authorization"
  ],
  "properties": {
    "runtime": {
      "enum": [
        "cloudflare-agents",
        "coinbase-agentkit",
        "mcp-gateway",
        "openai-agents-js"
      ],
      "type": "string"
    },
    "project_name": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1,
      "description": "A public-safe project label. Do not include credentials or secrets."
    },
    "authorization": {
      "type": "object",
      "required": [
        "subject",
        "action",
        "policy"
      ],
      "properties": {
        "action": {
          "type": "object",
          "required": [
            "type",
            "resource",
            "protocol"
          ],
          "properties": {
            "type": {
              "type": "string",
              "maxLength": 120,
              "minLength": 1
            },
            "method": {
              "type": "string",
              "maxLength": 20,
              "minLength": 1
            },
            "protocol": {
              "enum": [
                "mcp",
                "http",
                "a2a",
                "payment",
                "other"
              ],
              "type": "string"
            },
            "resource": {
              "type": "string",
              "maxLength": 1000,
              "minLength": 1
            },
            "payload_sha256": {
              "type": "string",
              "pattern": "^[0-9a-f]{64}$"
            }
          },
          "additionalProperties": false
        },
        "policy": {
          "type": "object",
          "required": [
            "allowed_action_types",
            "allowed_resources"
          ],
          "properties": {
            "max_cost": {
              "type": "object",
              "required": [
                "amount",
                "currency"
              ],
              "properties": {
                "amount": {
                  "type": "number",
                  "minimum": 0
                },
                "currency": {
                  "type": "string",
                  "maxLength": 12,
                  "minLength": 1
                }
              },
              "additionalProperties": false
            },
            "allowed_resources": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 50,
              "minItems": 1,
              "uniqueItems": true
            },
            "allowed_action_types": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 50,
              "minItems": 1,
              "uniqueItems": true
            },
            "max_data_retention_hours": {
              "type": "number",
              "minimum": 0
            },
            "require_human_approval_for": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 50,
              "uniqueItems": true
            }
          },
          "additionalProperties": false
        },
        "context": {
          "type": "object",
          "properties": {
            "currency": {
              "type": "string",
              "maxLength": 12,
              "minLength": 1
            },
            "quoted_cost": {
              "type": "number",
              "minimum": 0
            },
            "data_retention_hours": {
              "type": "number",
              "minimum": 0
            }
          },
          "additionalProperties": false
        },
        "subject": {
          "type": "string",
          "maxLength": 200,
          "minLength": 1
        },
        "approval": {
          "type": "object",
          "required": [
            "approved_by",
            "approved_at",
            "expires_at",
            "action_digest",
            "proof_id"
          ],
          "properties": {
            "proof_id": {
              "type": "string",
              "maxLength": 200,
              "minLength": 1
            },
            "expires_at": {
              "type": "string",
              "format": "date-time"
            },
            "approved_at": {
              "type": "string",
              "format": "date-time"
            },
            "approved_by": {
              "type": "string",
              "maxLength": 200,
              "minLength": 1
            },
            "action_digest": {
              "type": "string",
              "pattern": "^[0-9a-f]{64}$"
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
intentfence_policy_pack annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
intentfence_verified_preflight — IntentFence Verified Preflight
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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

intentfence_verified_preflight input schema
{
  "type": "object",
  "required": [
    "subject",
    "action"
  ],
  "properties": {
    "action": {
      "type": "object",
      "required": [
        "type"
      ],
      "properties": {
        "type": {
          "type": "string",
          "maxLength": 120,
          "minLength": 1
        },
        "resource": {
          "type": "string",
          "maxLength": 500
        }
      }
    },
    "proofs": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 20
    },
    "subject": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Agent or principal identifier."
    },
    "constraints": {
      "type": "object",
      "properties": {
        "currency": {
          "type": "string",
          "maxLength": 12
        },
        "quoted_cost": {
          "type": "number",
          "minimum": 0
        },
        "cost_ceiling": {
          "type": "number",
          "minimum": 0
        },
        "human_approval": {
          "enum": [
            "required",
            "optional",
            "not_required"
          ],
          "type": "string"
        },
        "data_retention_hours": {
          "type": "number",
          "minimum": 0
        }
      }
    }
  }
}
intentfence_verified_preflight annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
intentfence_x402_assessment — IntentFence x402 Quote Assessment
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

intentfence_x402_assessment input schema
{
  "type": "object",
  "required": [
    "subject",
    "target_url",
    "payment_required",
    "policy"
  ],
  "properties": {
    "method": {
      "enum": [
        "GET",
        "HEAD",
        "POST"
      ],
      "type": "string",
      "default": "GET"
    },
    "policy": {
      "type": "object",
      "required": [
        "max_price_usdc"
      ],
      "properties": {
        "allowed_payees": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^0x[0-9a-fA-F]{40}$"
          },
          "maxItems": 20,
          "minItems": 1,
          "description": "Explicit payee allowlist. Without it, the result cannot be safe_to_proceed.",
          "uniqueItems": true
        },
        "max_price_usdc": {
          "type": "string",
          "pattern": "^(?:0|[1-9][0-9]{0,11})(?:\\.[0-9]{1,6})?$",
          "description": "Exact USDC ceiling as a decimal string."
        }
      },
      "additionalProperties": false
    },
    "subject": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Agent or principal identifier."
    },
    "target_url": {
      "type": "string",
      "format": "uri",
      "maxLength": 2048,
      "description": "Exact public HTTPS resource URL from the caller-observed x402 challenge."
    },
    "payment_required": {
      "type": "string",
      "maxLength": 16384,
      "minLength": 1,
      "description": "Exact base64 or base64url PAYMENT-REQUIRED header value observed by the caller."
    }
  },
  "additionalProperties": false
}
intentfence_x402_assessment annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
intentfence_x402_readiness — IntentFence Live x402 Readiness
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

intentfence_x402_readiness input schema
{
  "type": "object",
  "required": [
    "target_url"
  ],
  "properties": {
    "body": {
      "description": "Optional JSON request body for POST probes, limited to 4096 encoded bytes."
    },
    "method": {
      "enum": [
        "GET",
        "HEAD",
        "POST"
      ],
      "type": "string",
      "default": "GET"
    },
    "policy": {
      "type": "object",
      "required": [
        "max_price_usdc"
      ],
      "deprecated": true,
      "properties": {
        "allowed_payees": {
          "type": "array",
          "items": {
            "type": "string",
            "pattern": "^0x[0-9a-fA-F]{40}$"
          },
          "maxItems": 20,
          "minItems": 1,
          "description": "Optional explicit payee allowlist. Omission yields ready_with_review for an otherwise valid quote.",
          "uniqueItems": true
        },
        "max_price_usdc": {
          "type": "string",
          "pattern": "^(?:0|[1-9][0-9]{0,11})(?:\\.[0-9]{1,6})?$",
          "description": "Maximum acceptable x402 price in USDC."
        }
      },
      "description": "Legacy nested policy input. New buyers should use the optional top-level fields.",
      "additionalProperties": false
    },
    "subject": {
      "type": "string",
      "default": "agent:anonymous-marketplace-buyer",
      "maxLength": 200,
      "minLength": 1,
      "description": "Optional buyer identifier. Omit for anonymous marketplace delivery."
    },
    "target_url": {
      "type": "string",
      "format": "uri",
      "maxLength": 2048,
      "description": "Public HTTPS x402 resource URL on the standard HTTPS port."
    },
    "allowed_payees": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^0x[0-9a-fA-F]{40}$"
      },
      "maxItems": 20,
      "minItems": 1,
      "description": "Optional explicit payee allowlist. Omission yields ready_with_review for an otherwise valid quote.",
      "uniqueItems": true
    },
    "max_price_usdc": {
      "type": "string",
      "default": "1.00",
      "pattern": "^(?:0|[1-9][0-9]{0,11})(?:\\.[0-9]{1,6})?$",
      "description": "Optional maximum acceptable x402 price in USDC."
    }
  },
  "additionalProperties": false
}
intentfence_x402_readiness annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
intentfence_wallet_risk — IntentFence Wallet Risk
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

intentfence_wallet_risk input schema
{
  "type": "object",
  "required": [
    "address"
  ],
  "properties": {
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$",
      "description": "Base recipient or counterparty address to assess before payment."
    }
  },
  "additionalProperties": false
}
intentfence_wallet_risk annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
intentfence_us_cpi — IntentFence Official U.S. CPI
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

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.

intentfence_us_cpi input schema
{
  "type": "object",
  "properties": {
    "month": {
      "type": "string",
      "pattern": "^20[0-9]{2}-(?:0[1-9]|1[0-2])$",
      "description": "Optional CPI month in YYYY-MM. Omit for the latest complete headline/core period."
    }
  },
  "additionalProperties": false
}
intentfence_us_cpi annotations
{
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
983 ms
95th percentile latency
983 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 983 ms · metadata changed · 10 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http intentfence-mcp https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add intentfence-mcp --url https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable intentfence-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "intentfence-mcp": {
      "url": "https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "intentfence-mcp": {
      "type": "streamableHttp",
      "url": "https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start intentfence-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "intentfence-mcp": {
      "type": "http",
      "url": "https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http intentfence-mcp https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "intentfence-mcp": {
      "serverUrl": "https://agentpass-protocol.rmalka06.chatgpt.site/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like IntentFence MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.