Koskamo

x402-tools MCP

Wraps agent-audit and page-read x402 APIs to provide tools for reading public pages, checking quotes, auditing link health, and verifying x402 seller readiness. It uses a pay-per-call model in USDC on Base via x402, requiring no signup or API keys, and handles payment settlement through the PayAI facilitator.

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.

x402-tools MCP logo, by agent-audit-pbCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by agent-audit-pb
MCP endpoint (Streamable HTTP)
https://mcp.agent-audit.workers.dev/mcp
Vendor documentation

What you can do with it

  • Read a public webpage as markdown or text
  • Check if a specific quote exists on a page
  • Audit the health of up to 25 URLs
  • Verify x402 seller and agent readiness

Source and maintenance

Community listingRegistry 0.1.1
Maintenance checked

Protocol and capabilities

Server
x402-tools 0.1.2
MCP protocol
2025-06-18
Tools
7 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.

Pay-per-call web tools paid in USDC on Base via x402: read_page ($0.001), quote_check ($0.005), check_links ($0.01), audit_x402_seller ($0.02). Call a paid tool without payment to get its x402 PaymentRequired, then retry with params._meta["x402/payment"]. preview_page and preview_audit are free (10/hour). list_services is free.

Tools

7 advertised

list_services — List services and prices
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Free. Lists the paid tools, their USDC prices on Base, the upstream x402 HTTP endpoints, and how to pay.

list_services input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
list_services annotations
{
  "title": "List services and prices",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
read_page — Read a web page as markdown
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Paid, $0.001 USDC on Base via x402 (page-read). Fetches one public web page now and returns clean markdown or text with title, canonical URL, published time and sha256. No JavaScript execution. Fetch failures and unreadable pages are not charged. Call without payment to get the x402 requirements.

read_page input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http(s) URL"
    },
    "links": {
      "type": "boolean",
      "description": "include absolute link list"
    },
    "format": {
      "enum": [
        "markdown",
        "text"
      ],
      "type": "string"
    },
    "payment": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "object"
        }
      ],
      "description": "Optional. A signed x402 v2 PaymentPayload for this tool's PaymentRequired (as an object, or base64 as in the PAYMENT-SIGNATURE HTTP header). Prefer params._meta[\"x402/payment\"]. Omit it to get the exact payment requirements first."
    },
    "maxChars": {
      "type": "integer",
      "maximum": 50000,
      "minimum": 500,
      "description": "default 10000"
    }
  }
}
read_page annotations
{
  "title": "Read a web page as markdown",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
audit_x402_seller — Audit an x402 seller
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Paid, $0.02 USDC on Base via x402 (agent-audit). Read-only x402 seller and agent-readiness audit of one origin: live 402 challenge per paid route, price vs catalog, llms.txt, /.well-known/x402, openapi.json, dead doc links. JSON score, findings and fixes. Grades measure protocol conformance, not legitimacy. Call without payment to get the x402 requirements.

audit_x402_seller input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Origin or paid endpoint URL"
    },
    "payment": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "object"
        }
      ],
      "description": "Optional. A signed x402 v2 PaymentPayload for this tool's PaymentRequired (as an object, or base64 as in the PAYMENT-SIGNATURE HTTP header). Prefer params._meta[\"x402/payment\"]. Omit it to get the exact payment requirements first."
    }
  }
}
audit_x402_seller annotations
{
  "title": "Audit an x402 seller",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
check_links — Check link health
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Paid, $0.01 USDC on Base via x402 (agent-audit). Checks up to 25 URLs now: status, final URL, redirects, latency, verdict ok/broken/paid(402). Call without payment to get the x402 requirements.

check_links input schema
{
  "type": "object",
  "required": [
    "urls"
  ],
  "properties": {
    "urls": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 25,
      "minItems": 1
    },
    "payment": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "object"
        }
      ],
      "description": "Optional. A signed x402 v2 PaymentPayload for this tool's PaymentRequired (as an object, or base64 as in the PAYMENT-SIGNATURE HTTP header). Prefer params._meta[\"x402/payment\"]. Omit it to get the exact payment requirements first."
    }
  }
}
check_links annotations
{
  "title": "Check link health",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
quote_check — Is this quote on that page?
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Paid, $0.005 USDC on Base via x402 (agent-audit). Fetches the page now and reports whether the quote is really there: found_exact/found_near/partial/not_found/page_unavailable, similarity, context and page sha256. Call without payment to get the x402 requirements.

quote_check input schema
{
  "type": "object",
  "required": [
    "url",
    "quote"
  ],
  "properties": {
    "url": {
      "type": "string"
    },
    "quote": {
      "type": "string",
      "maxLength": 2000,
      "minLength": 8
    },
    "payment": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "object"
        }
      ],
      "description": "Optional. A signed x402 v2 PaymentPayload for this tool's PaymentRequired (as an object, or base64 as in the PAYMENT-SIGNATURE HTTP header). Prefer params._meta[\"x402/payment\"]. Omit it to get the exact payment requirements first."
    }
  }
}
quote_check annotations
{
  "title": "Is this quote on that page?",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
preview_page — Free page preview
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Free, rate-limited (10 per hour). Title and the first 300 characters of a public page, from page-read's free preview.

preview_page input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string"
    }
  }
}
preview_page annotations
{
  "title": "Free page preview",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}
preview_audit — Free audit score
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Free, rate-limited (10 per hour). Audit score, grade and fail/warn counts for one origin (no findings), from agent-audit's free preview.

preview_audit input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string"
    }
  }
}
preview_audit annotations
{
  "title": "Free audit score",
  "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
198 ms
95th percentile latency
198 ms

Maintenance history

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

  • · probe · passed · 198 ms · metadata changed · 7 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 x402-tools-mcp-workers https://mcp.agent-audit.workers.dev/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 x402-tools-mcp-workers --url https://mcp.agent-audit.workers.dev/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable x402-tools-mcp-workers in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "x402-tools-mcp-workers": {
      "url": "https://mcp.agent-audit.workers.dev/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "x402-tools-mcp-workers": {
      "type": "streamableHttp",
      "url": "https://mcp.agent-audit.workers.dev/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start x402-tools-mcp-workers and inspect its tools.
VS Code configuration
{
  "servers": {
    "x402-tools-mcp-workers": {
      "type": "http",
      "url": "https://mcp.agent-audit.workers.dev/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 x402-tools-mcp-workers https://mcp.agent-audit.workers.dev/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "x402-tools-mcp-workers": {
      "url": "https://mcp.agent-audit.workers.dev/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": {
    "x402-tools-mcp-workers": {
      "serverUrl": "https://mcp.agent-audit.workers.dev/mcp"
    }
  }
}

Let your agent find its tools

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