X402 List Mcp

com.x402-listPublished by x402-list.comOfficial publisherv0.5.3Updated Oct 24, 2026

Find and vet x402 payment APIs before your agent pays one: uptime, price, on-chain volume.

VerifiedStreamable HTTPWeb executableWeb Search & ScrapingFinanceSecurity & Monitoring

Overview

AI-generated overview

A directory of x402 payment APIs that lets an assistant search, compare, health-check and vet services before paying them.

What you can do
Search and filter the x402 service directory by query, category, network, status and signability, with sorting options, and fetch the full record for one service by slug, including endpoints, USD pricing, uptime windows and settlement asset. Get a ranked recommendation for a stated need, optionally with a category, network, price cap or verification requirement. Check live health and uptime windows directory-wide or per service, and read per-facilitator on-chain settlement volume and transaction counts. Review a feed of observed changes to listed services, such as payout address, price and 402-schema changes. Buy a paid AI comparison of a shortlist of two to eight services, optionally with a
When to use it
Use it when an agent is about to call or pay an x402 service and needs to find candidates, compare price and reliability, confirm a service is up, or check whether its payout address or pricing recently changed. Also useful for questions about which x402 facilitators carry real on-chain settlement volume.
Requirements
Either the hosted Streamable HTTP endpoint or the local npm package over stdio, which needs Node.js 20 or newer and npm. No account or API key is declared. Optional environment variables: X402_LIST_BASE_URL, X402_LIST_TIMEOUT_MS, and for self-hosted HTTP mode MCP_HTTP_PORT, MCP_ALLOWED_ORIGINS and MCP_ALLOWED_HOSTS. Network access to the x402-list API.
Before you install
Six tools are free and read-only; x402_assess_services is paid at $0.25 USDC on Base, and adding a probe target raises the price by that endpoint's price and is non-refundable. The package holds no keys and does not sign or settle, so you sign the x402 payment challenge yourself client-side. Directory data, prices and volume figures come from a third party and should not be treated as verified revenue.

Installation

In SourceWeft

  1. Open X402 List Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.x402-list%2Fx402-list-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "x402-list": {
      "type": "http",
      "url": "https://mcp.x402-list.com/mcp"
    }
  }
}

README

x402-list-mcp

[Glama MCP server]

Discover x402 payment APIs, check uptime and pricing, and inspect on-chain-verified settlement volume per facilitator through MCP.

What is x402-list

x402-list is a directory of services that accept x402 (HTTP 402 stablecoin) payments. It monitors listed services for uptime, response time and status, and measures facilitator settlement volume on-chain.

This package is a thin wrapper over the public x402-list HTTP JSON API. It holds no keys, touches no database, and makes no writes to the directory. It exposes the directory to AI agents through the Model Context Protocol as seven tools: six are free and read-only, and the seventh, x402_assess_services, is the only paid one, a pass-through that relays an x402 payment challenge you sign yourself client-side (the package never holds keys, never signs, and never settles).

Install and quick start

Connect to the hosted server at https://mcp.x402-list.com/mcp using Streamable HTTP, or run the npm package locally over stdio. Local use requires Node.js 20 or newer and npm; the hosted connection needs no local Node.js installation.

Claude Code

Connect to the hosted server:

sh
claude mcp add --transport http x402-list https://mcp.x402-list.com/mcp

Or use the local package instead:

sh
claude mcp add --transport stdio x402-list -- npx -y x402-list-mcp

Choose one transport. See the Claude Code MCP documentation for configuration scopes.

Cursor

Add the hosted server to Cursor, then confirm the installation in Cursor.

The install link encodes the same configuration as this manual entry in .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

json
{  "mcpServers": {    "x402-list": {      "url": "https://mcp.x402-list.com/mcp"    }  }}

See the Cursor MCP documentation and install-link format.

VS Code

Add this entry to .vscode/mcp.json in your project, then start the server from the editor and use it in Copilot agent mode:

json
{  "servers": {    "x402-list": {      "type": "http",      "url": "https://mcp.x402-list.com/mcp"    }  }}

See the VS Code MCP documentation for other configuration locations.

Codex

Add the hosted server with the Codex CLI:

sh
codex mcp add x402-list --url https://mcp.x402-list.com/mcp

Or add this entry to ~/.codex/config.toml; the CLI and IDE extension share this configuration:

toml
[mcp_servers.x402-list]url = "https://mcp.x402-list.com/mcp"

See the Codex MCP documentation.

Claude Desktop and other local stdio clients

Add this entry to claude_desktop_config.json, or the equivalent configuration for your stdio client, and restart the client:

json
{  "mcpServers": {    "x402-list": {      "command": "npx",      "args": ["-y", "x402-list-mcp"]    }  }}

See the local MCP connection guide for the Claude Desktop configuration file location.

The client launches the same command you can run in a terminal:

sh
npx -y x402-list-mcp

Self-host Streamable HTTP

To run your own HTTP instance in a POSIX shell:

sh
MCP_HTTP_PORT=3000 npx -y x402-list-mcp --http

Connect your client to http://localhost:3000/mcp. The health probe at http://localhost:3000/healthz returns {"status":"ok"}.

Environment variables

VariableDefaultPurpose
X402_LIST_BASE_URLhttps://x402-list.comAPI base URL. The /api/v1 prefix is appended automatically.
X402_LIST_TIMEOUT_MS15000Per-request timeout in milliseconds.
MCP_HTTP_PORT / PORT3000HTTP port. Setting MCP_HTTP_PORT selects HTTP transport.
MCP_ALLOWED_ORIGINS(empty, permissive)Comma list of allowed CORS origins for HTTP mode.
MCP_ALLOWED_HOSTS(empty, off)Comma list that enables DNS-rebinding protection in HTTP mode.

Tools

ToolWhat it does
x402_search_servicesSearch and filter the directory by query, category, network, status, and signable (whether the last observed 402 envelope carries the EIP-712 domain parameters a standard x402 client needs in order to sign); sort by newest/uptime/cheapest/endpoints.
x402_get_serviceFull detail for one service by slug: endpoints, per-endpoint USD pricing, uptime windows, networks, settlement asset.
x402_find_best_serviceRanked recommendation for a need, computed server-side (GET /api/v1/best). Ranks mostly by reliability, x402 compliance and price (status, verified, uptime, response time, USD price), with a small (~10%) weight on per-service on-chain traction that can never dominate those three. Read the answer's ranking_version to identify its scoring generation (see below), and its units map for scoring caveats.
x402_check_healthLive status, directory-wide or per service (uptime snapshots, consecutive failures).
x402_facilitator_volumesPer-facilitator on-chain-verified settlement volume (today UTC/7d/30d/all) in USD, tx counts, and an on-chain vs listed flag. The *_24h fields cover today (UTC) so far, not a trailing 24-hour window.
x402_change_eventsFree, read-only feed of what the monitor observed changing on listed services, most recent first, in exactly three event types (payto_changed, price_changed, schema_changed). Filter by service (the listing slug: the parameter is named service, not slug), by type, and by days (1 to 365, default 90); page with page / per_page (up to 100 per page). Each event carries the observation timestamp, a diff summary, and the before/after 402 snapshots. Prices inside an event are atomic token amounts, never dollars, and every payout address is returned masked by the API: the feed reports THAT the payTo changed, never the address.
x402_assess_servicesPaid ($0.25 USDC on Base, x402). Fresh on-demand AI comparison of a shortlist of listed services for a stated need. Pass-through: it never holds keys, never signs, and never settles. Call without payment_signature_b64 to get the x402 challenge verbatim, sign it client-side, then retry with the signature to get the report. Optionally add a probe target { slug, endpoint_path? } to also test one listed service live: the price becomes $0.25 plus that endpoint price X (non-refundable), and the report gains a probe_report block with a verdict and truncated extracts, never the verbatim third-party body.

Ranking generations

x402_find_best_service returns its scoring generation in ranking_version. Compare scores only within the same generation. The changes below explain why scores across generations differ:

  • Generation 2 capped the compliance term at 0.6, the floor of the C band, when at least one of a service's EVM routes was observed missing the EIP-712 domain parameters (extra.name, extra.version) a standard x402 client needs in order to sign a payment. A fact about the envelope on the wire, not a judgement on the merit of the service.
  • Generation 3 added the anti-wash rules on the traction term: an absolute floor of $10 on 30d settlement volume, below which the term scores 0 because sub-floor volume is indistinguishable from dust and must not move rank; a discount on a payout concentrated in one buyer, up to half the traction term when a single buyer accounts for all of it, since one buyer is one relationship and not the broad demand the term is meant to reward; and a service that publishes no mappable payTo now scores 0 on that term instead of having the weight renormalized away, so hiding the payout address no longer beats having a measured one.

Units note

All monetary values are decimal US dollars and are passed through verbatim. There is no cents conversion anywhere. The per-endpoint pricing[].price field is a raw atomic on-chain token amount (a uint256 string), not dollars; only price_usd is the dollar figure.

Honesty note

Two different on-chain volume signals; do not conflate them. Facilitator volume (x402_facilitator_volumes) is the ecosystem headline, aggregated per facilitator. Per-service traction (the traction block on each service, weighed at ~10% inside x402_find_best_service) is settlement measured over a service's own payTo via recognized settlers - a deliberate conservative undercount, not an estimate: unattributed settlements are left out, never scaled up. When a payTo is shared across services (shared_payout: true), only settlement VOLUME is attributed pro-quota, the operator-level volume over that address divided across the services sharing it, which is a declared convention and not an individually observed measure, while transaction count and unique buyers stay whole operator-level integers; a service on a network not yet measured, or a shared-payout member whose probe has been failing, carries no traction term at all and the remaining weights are renormalized over it. Never read shared, pro-quota or unmeasured volume as one service's revenue. To ask "which facilitators have real on-chain volume", use x402_facilitator_volumes and read the verification flag.

Source

Source code: mcccsm/x402-list-mcp. This repository mirrors the MCP package when it is published. The public REST API is documented at x402-list.com/api.

License

MIT

Source: README.md at commit 894ac42

Tools

7

x402_search_services

Search x402 services

Your first call when you do not know which x402 service exists for a job: it narrows the directory of listed services to candidates. Filter by free-text query, category, network, live status, and whether the last observed 402 envelope is signable by a standard x402 client; sort by newest, uptime, cheapest, or endpoints. Returns up to 100 compact summaries a page: price in decimal USD, uptime, status, verification. Then x402_get_service for the full record.

Parametersqpagesortfieldsstatusnetworkcategoryper_pagesignableverified_only

x402_get_service

Get x402 service

Call this once you hold a slug and are deciding whether to commit to that service: the full record behind a directory row. Live status, uptime over 24h/7d/30d/90d, average response time, networks and settlement asset, every priced endpoint, and the assessment block. When the live 402 of an endpoint asks to be paid at a different address than the listed pay_to and the change is still in review, the response carries top-level warnings and endpoints[].pay_to_divergence. include_series=true adds 90 daily points of on-chain volume and distinct buyers. Read the units map in the response: the per-endpoint price field is atomic token units, not dollars.

Parametersslugrequiredinclude_series

x402_find_best_service

Find best x402 service

Call this when you have a need in words and want one service to call rather than a list to read: it is the free ranking step between searching and paying. Pass the need as q, plus any category, network, price cap or verification requirement, and get up to 20 ranked recommendations with the basis each one placed on. Ranking is mostly per-service reliability (live status, verification, uptime, response time), x402 compliance, and price in USD, with a small (about 10%) weight on measured on-chain settlement traction that can never dominate those three. The response carries ranking_version (currently 3), need_blind_ranking (true when no q was given, so the order is global quality rather than your need), and a units map holding every scoring caveat in full: the compliance cap, the pro-quota rule for shared payout addresses, renormalization, the $10 volume floor, and the single-buyer discount. Read units before comparing scores across generations.

Parametersqlimitprefernetworkcategorymax_price_usdrequire_verifiedinclude_facilitator_context

x402_check_health

Check x402 service health

Call this before you send a payment, or right after a call unexpectedly failed: is this service up right now. With no slug, the directory snapshot: five status counts across the directory (include_services=true attaches every row). With a slug: that service's status, its 24h/7d/30d/90d uptime windows, response time, consecutive failures, daily snapshots. No money fields.

Parameterssluguptime_periodinclude_services

x402_facilitator_volumes

x402 facilitator volumes

Call this when the question is about the rail rather than the service: which x402 facilitator actually settles money, and how much. Returns on-chain-verified settlement volume and transaction counts per facilitator for today (UTC), 7d, 30d and all-time, plus a verification flag ('on-chain' once volume has been observed on-chain, else 'listed'), across more than 30 facilitators. Optional daily timeseries (up to 90 days) and per-chain breakdown. Volume is decimal USD. Caveats: PER-FACILITATOR, never per-service; the *_24h fields cover today (UTC) so far, not a trailing 24 hours, and reset at 00:00 UTC, so prefer 7d.

Parametersdayspageper_pagetimeframeinclude_chainsinclude_timeseries

x402_assess_services

Assess x402 services (paid)

Call this when the free signals have run out: you hold 2 to 8 finalists from x402_search_services or x402_find_best_service, their stored fields do not separate them for YOUR stated need, and choosing wrong costs more than a quarter. It buys one fresh AI assessment reasoned against your question, not a cached grade; reading an already-computed assessment stays free via x402_get_service. Price: a one-time $0.25 USDC on Base, over two calls. Call once WITHOUT payment_signature_b64 to receive the x402 payment challenge verbatim (accepts[], amount, payTo, and a base64 PAYMENT-REQUIRED header); sign accepts[0] client-side with your own wallet; call again with the SAME question and services plus payment_signature_b64 to receive the report and a base64 PAYMENT-RESPONSE settlement receipt. This server holds no keys, never signs and never settles: it only relays the challenge. Optionally add probe { slug, endpoint_path? } to have one listed service paid and called for real and its answer analyzed: the challenge is then priced at $0.25 plus that endpoint price X, and the report gains a probe_report block with a verdict and truncated extracts, never the verbatim third-party body. When live probing is not armed the probe is ignored. Caveats: read the amount to sign from accepts[0].amount, never from a fixed figure, since a probe changes it; probe fees are non-refundable whatever the verdict; if the fresh run cannot be produced the server answers before settling, so you are never charged for nothing; there is no refund. Prices are US dollars.

Parametersprobequestionrequiredservicesrequiredpayment_signature_b64

x402_change_events

x402 service change events

Call this before you trust anything you cached about a service, and right after a payment failed for no obvious reason: the monitor's log of what moved under you. Returns payTo, price and 402-schema changes observed on listed services, most recent first, in exactly three event types (payto_changed, price_changed, schema_changed). Filter with service (the slug), type, and days (1 to 365, default 90). Caveats: prices here are atomic token amounts, never dollars, and every payTo is masked by design, so the feed reports THAT the payout address changed, never the address. Free and read-only.

Parametersdayspagetypeserviceper_page

Version history

3
  1. v0.5.3LatestOct 10, 2026
  2. v0.5.2Oct 7, 2026
  3. v0.5.1Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts