x402 Micropayments MCP
by kwizzlesurp10-ctrl · remote · no sign-in to list tools · v1.30.0 · published by GitHub user kwizzlesurp10-ctrl
Pay-per-call US city property compliance and Base tx checks, paid in USDC on Base via x402.
20 tools: 2 do something that can't be undone, 10 change things and 8 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone2Claude Code: ask: see these tools
- Changes things10Claude Code: ask: see these tools
- Only reads8Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http x402 https://x402-mcp.onrender.com/mcp/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
20 tools
Can't be undone 2Claude Code: ask
commerce.purchase_creditsVerify an x402 payment and add per-use tool credits to the agent.No findings
Why it is in this group
- The name "commerce.purchase_credits" says "purchase": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Verify an x402 payment and add per-use tool credits to the agent. MCP-native: call without payment for x402 requirements, then retry with _meta['x402/payment']. Legacy: PAYMENT-SIGNATURE + PAYMENT-REQUIRED after commerce.credits_requirements.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
x402.pay_and_fetchPay USDC via x402 and fetch a protected HTTP resource in one call.No findings
Why it is in this group
- The name "x402.pay_and_fetch" says "pay": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Pay USDC via x402 and fetch a protected HTTP resource in one call. Requires EVM_PRIVATE_KEY on this host; otherwise use x402.probe for a no-spend 402.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Changes things 10Claude Code: ask
city.checkPaid US city property compliance check (MCP seller x402).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.
Description, as the server wrote it Paid US city property compliance check (MCP seller x402). Unpaid calls return PaymentRequired with accepts; pay via _meta['x402/payment']. Prefer city.sample first. Price: $0.01 per call (x402, USDC on Base/Solana/Arbitrum).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
commerce.activate_proVerify a Pro-tier x402 payment and unlock Pro quota limits for the agent.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.
Description, as the server wrote it Verify a Pro-tier x402 payment and unlock Pro quota limits for the agent. MCP-native: call without payment to receive x402 requirements in the tool result, then retry with _meta['x402/payment'] (@x402/mcp client). Legacy: pass PAYMENT-SIGNATURE + PAYMENT-REQUIRED after commerce.pro_requirements.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
commerce.credits_requirementsBuild x402 payment requirements to buy a pack of per-use MCP tool credits.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 Build x402 payment requirements to buy a pack of per-use MCP tool credits. Next: pay those terms, then commerce.purchase_credits with the signature.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
commerce.pro_requirementsBuild x402 payment requirements to purchase the Pro quota tier.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 Build x402 payment requirements to purchase the Pro quota tier. Next: pay those terms, then commerce.activate_pro with the signature.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
swarm.researchRun the swarm agency: compose a research product from free inputs and list it for resale.No findings
Why it is in this group
- The description's first verb is "run": a word for a change.
Description, as the server wrote it Run the swarm agency: compose a research product from free inputs and list it for resale. Pass allow_paid_inputs=true only when buying upstream x402 services is intended.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
swarm.settleVerify and settle a buyer's x402 payment for a listed composite product and record revenue.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.
Description, as the server wrote it Verify and settle a buyer's x402 payment for a listed composite product and record revenue. Call with product_id plus PAYMENT-SIGNATURE after the buyer pays.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
x402.build_sellerBuild seller-side x402 payment requirements for your own HTTP resource.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.
Description, as the server wrote it Build seller-side x402 payment requirements for your own HTTP resource. Pass resource_url plus discovery_* fields to catalog the endpoint in Bazaar.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
x402.discoverDiscover paid HTTP APIs in the x402 Bazaar via the facilitator catalog.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 Discover paid HTTP APIs in the x402 Bazaar via the facilitator catalog. Call this first to find a resource URL, then x402.probe and x402.pay_and_fetch.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
x402.probeProbe a URL for HTTP 402 PAYMENT-REQUIRED terms using the x402 client SDK.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 Probe a URL for HTTP 402 PAYMENT-REQUIRED terms using the x402 client SDK. Use before x402.pay_and_fetch to inspect price, network, and payTo without spending.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
x402.verifyVerify an x402 PAYMENT-SIGNATURE against PAYMENT-REQUIRED terms via the facilitator.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.
Description, as the server wrote it Verify an x402 PAYMENT-SIGNATURE against PAYMENT-REQUIRED terms via the facilitator. Call after a buyer presents a signature and before releasing paid content.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
Only reads 8Claude Code: allow
a2a.resolve_cardDiscover and inspect an external Agent-to-Agent (A2A) node by domain or URL.No findings
Why it is in this group
- The name "a2a.resolve_card" says "resolve": a word for reading.
Description, as the server wrote it Discover and inspect an external Agent-to-Agent (A2A) node by domain or URL. Fetches .well-known/agent-card.json, validates protocol compatibility, checks for a2a-x402 and AP2 payment extensions, and extracts callable skills with pricing.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
city.listList US City Open-Data Compliance Network cities with paid_url, sample_url, and price.No findings
Why it is in this group
- The name "city.list" says "list": a word for reading.
Description, as the server wrote it List US City Open-Data Compliance Network cities with paid_url, sample_url, and price. Call first, then city.sample, then city.check for the paid address lookup.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
city.sampleGet a free fixed-address property compliance sample for one US city code.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get a free fixed-address property compliance sample for one US city code. Use before city.check to validate city_code and response shape without paying.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
ops.metricsGet host OS telemetry: CPU, memory, swap, disk, network, and an ok/warn/critical health verdict.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get host OS telemetry: CPU, memory, swap, disk, network, and an ok/warn/critical health verdict. Call to diagnose this MCP host; set include_processes=true for top memory processes.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
pulse.baseGet live Base Network Pulse: base fee, EIP-1559 projection, utilization, USD settlement cost, verdict.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get live Base Network Pulse: base fee, EIP-1559 projection, utilization, USD settlement cost, verdict. Call before settling on Base when you need a settle-now vs hold recommendation.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
swarm.revenueGet swarm composite economics: spend, composite sales, LTV:CAC, margins, per-source scores.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get swarm composite economics: spend, composite sales, LTV:CAC, margins, per-source scores. total_revenue_usdc is swarm listings only; storefront.revenue_usdc is the full settled ledger. Call after swarm.research or swarm.settle to inspect realized economics.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
x402.agent_cardReturn the A2A Protocol v1.0 Agent ID Card and MCP server card.No findings
Why it is in this group
- The description's first verb is "return": a word for reading.
Description, as the server wrote it Return the A2A Protocol v1.0 Agent ID Card and MCP server card. Optional target_id filters to a skill id, name, or tag.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
x402.networksList supported settlement networks, facilitators, and x402 v2 header names.No findings
Why it is in this group
- The description's first verb is "list": a word for reading.
Description, as the server wrote it List supported settlement networks, facilitators, and x402 v2 header names. Call when choosing a preferred_network for x402.pay_and_fetch or x402.build_seller.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
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 1.30.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http x402 https://x402-mcp.onrender.com/mcp/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__x402__x402_agent_card",
"mcp__x402__x402_networks",
"mcp__x402__swarm_revenue",
"mcp__x402__pulse_base",
"mcp__x402__ops_metrics",
"mcp__x402__city_list",
"mcp__x402__city_sample",
"mcp__x402__a2a_resolve_card"
],
"ask": [
"mcp__x402__x402_discover",
"mcp__x402__x402_probe",
"mcp__x402__x402_pay_and_fetch",
"mcp__x402__x402_build_seller",
"mcp__x402__x402_verify",
"mcp__x402__commerce_pro_requirements",
"mcp__x402__commerce_activate_pro",
"mcp__x402__commerce_credits_requirements",
"mcp__x402__commerce_purchase_credits",
"mcp__x402__swarm_research",
"mcp__x402__swarm_settle",
"mcp__x402__city_check"
],
"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 x402. Review it before you use it.
