Skip to main content
Glama

x402-list-mcp

MCP server for x402-list: discover x402 payment services and on-chain-verified facilitator settlement volume.

What is x402-list

x402-list is the directory of services that accept x402 (HTTP 402 stablecoin) payments. Its distinctive, defensible data is on-chain-verified settlement volume per facilitator, not self-reported numbers. Listed services are continuously health-monitored (uptime, response time, status).

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. Every tool but one is read-only; the single paid tool, assess_services, only relays an x402 payment challenge that you sign yourself client-side (the package never holds keys, never signs, and never settles). It exposes the directory to AI agents through the Model Context Protocol.

Related MCP server: Tilde x402 MCP Server

Install and quick start

stdio (local MCP clients)

npx -y x402-list-mcp

Claude Desktop / generic MCP client config:

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

Hosted HTTP (Streamable HTTP transport)

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

Hosted endpoint: https://mcp.x402-list.com/mcp. Health probe: GET /healthz returns {"status":"ok"}.

Environment variables

Variable

Default

Purpose

X402_LIST_BASE_URL

https://x402-list.com

API base URL. The /api/v1 prefix is appended automatically.

X402_LIST_TIMEOUT_MS

15000

Per-request timeout in milliseconds.

MCP_HTTP_PORT / PORT

3000

HTTP 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

Tool

What it does

search_x402_services

Search 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.

get_service

Full detail for one service by slug: endpoints, per-endpoint USD pricing, uptime windows, networks, settlement asset.

find_best_service

Ranked 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; shared-payout and unmeasured-network services stay neutral. The compliance term is capped at 0.6 (the floor of the C band) when at least one EVM route is missing the EIP-712 domain parameters a standard x402 client needs in order to sign, which is why ranking_version is now 2.

check_health

Live status, directory-wide or per service (uptime snapshots, consecutive failures).

get_facilitator_volumes

Per-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.

assess_services

Paid ($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.

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 (get_facilitator_volumes) is the ecosystem headline, aggregated per facilitator. Per-service traction (the traction block on each service, weighed at ~10% inside 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. A service whose payTo is shared across services (operator-level volume, shared_payout: true) or that sits on a network not yet measured carries no per-service figure and stays neutral in the ranking; never read shared or unmeasured volume as one service's revenue. To ask "which facilitators have real on-chain volume", use get_facilitator_volumes and read the verification flag.

Source

The source code is not public yet. This package is a thin read-only wrapper over the public x402-list REST API, documented at https://x402-list.com/api.

License

MIT

Available Tools

6 tools
assess_servicesAInspect

Run a fresh, PAID AI assessment comparing a shortlist of already-listed x402 services for a stated need. It charges a one-time $0.25 USDC on Base (x402) for the fresh reasoning only; reading an already-computed assessment stays free via get_service. This tool is a pure pass-through: it never holds keys, never signs, and never settles. Call it once WITHOUT payment_signature_b64 to receive the x402 payment challenge (accepts[], amount, payTo, and a base64 PAYMENT-REQUIRED header) verbatim; sign accepts[0] client-side with your own wallet; then call again with the SAME question and services plus payment_signature_b64 to receive the assessment report and a base64 PAYMENT-RESPONSE settlement receipt. Optionally include a probe target as probe { slug, endpoint_path? } to also test one listed service live: when the server has live probing armed, after the fresh reasoning it makes a real x402 payment to that endpoint and analyzes what it returns, and the challenge is then priced at $0.25 plus that endpoint price X (probe fees are non-refundable regardless of outcome); the report then carries a probe_report block with a verdict and truncated extracts, never the verbatim third-party response, and when live probing is not armed the probe is ignored. If the fresh run cannot be produced the server answers before settling, so the caller is never charged, and there is no refund. Prices are US dollars.

ParametersJSON Schema
NameRequiredDescriptionDefault
probeNoOptional live-probe request: pay one listed service for real and analyze what it returns. When the server has probing armed the price becomes $0.25 plus that endpoint price X (non-refundable); the report gains a probe_report block with a verdict and truncated extracts, never the verbatim third-party body. Ignored when probing is not armed.
questionYesThe need to assess the shortlist against (1 to 1000 characters).
servicesYesService slugs to compare for the need (1 to 8; find them with search_x402_services or find_best_service).
payment_signature_b64NoBase64 PAYMENT-SIGNATURE for the x402 payment, produced by signing the accepts[0] challenge client-side. Omit on the first call to receive the challenge; set it on the retry to run the paid assessment.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses behavioral traits: charges $0.25 one-time, is a pure pass-through, never holds keys/signs/settles, returns a settlement receipt, probe fees are non-refundable, probe_report never contains verbatim third-party responses, and no charge if the fresh run cannot be produced. This is far beyond typical side-effect disclosure and covers both payment and probe behavior comprehensively.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense paragraph, but every sentence carries necessary operational detail for a complex two-phase payment flow. It is longer than the average tool description, but the complexity justifies the length. Slight reduction could be achieved with bullet points, but the content is efficient and free of filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 4 parameters, a nested object, and no output schema, the description covers the full invocation lifecycle, pricing, failure semantics, probe behavior, and safety guarantees. It leaves nothing critical undefined given the tool's complexity, and no output schema is needed because the description already indicates what the report contains (assessment report and optional probe_report).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although the schema has 100% description coverage, the description enriches parameter semantics significantly. It explains the payment_signature_b64 lifecycle (omit to get challenge, include to get report) and details the probe object's pricing, behavior when probing is armed/not armed, and safety guarantee about not exposing verbatim bodies. This adds meaning beyond the schema's property descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Run a fresh, PAID AI assessment comparing a shortlist of already-listed x402 services for a stated need,' immediately stating the verb, resource, and scope. It clearly distinguishes itself from get_service (free read of existing assessment) and search/find tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly contrasts with 'reading an already-computed assessment stays free via get_service' and explains the two-step payment flow: first call without payment_signature_b64 to receive the challenge, then call again with the same parameters plus signature. It also details when the optional probe applies and when it is ignored.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_healthAInspect

Check live health of x402 services. With no slug, returns a directory-wide snapshot (counts of online/degraded/offline/unknown plus per-service status). With a slug, returns that service's status, uptime windows, response time, consecutive failures, and recent daily uptime snapshots. No money fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoService slug for a single-service health report. Omit for the whole directory.
uptime_periodNoDaily uptime snapshot window for single-service mode.30d

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses return content for both modes (status, uptime windows, response time, consecutive failures, daily snapshots) and adds the notable caveat 'No money fields.' This provides solid behavioral transparency, though it does not mention error handling or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with three sentences that front-load the purpose, clearly enumerate mode-specific outputs, and include a relevant caveat. Every sentence contributes information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (two optional parameters, two modes, no output schema), the description comprehensively covers what is returned in each mode. It is self-contained for an agent to understand expected results and use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema descriptions already cover both parameters fully (100% coverage). The description reinforces that 'slug' toggles modes and that 'uptime_period' applies to single-service daily snapshots, but it does not add meaning beyond what the schema already states, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks live health of x402 services, and distinguishes two modes: directory-wide snapshot without slug, and per-service report with slug. This specific verb+resource combination effectively differentiates from siblings like search_x402_services and get_service.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use each mode (no slug for snapshot, with slug for detailed report) but does not explicitly mention alternatives or exclusion criteria. However, the context of health checking is clear enough that an agent can decide when to invoke this vs. other sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_best_serviceAInspect

Recommend the best x402 service(s) for a need. Ranked mostly on per-service reliability (live status, verification, uptime, response time), x402 compliance (the share of deterministic conformance checks the service passes, capped at 0.6 out of 1, the floor of the C band, when at least one of its EVM routes is missing the EIP-712 domain parameters a standard x402 client needs in order to sign a payment: a fact about the payment envelope, not a judgement on the service), and price (USD), filtered by category and network, with a SMALL (~10%) weight on on-chain traction: settlement volume, transaction count, and unique buyers measured per service over its known payTo addresses via recognized settlers (a conservative undercount, not an estimate). Traction never dominates; a service whose payTo is shared across services has its traction attributed PRO-QUOTA (volume and buyers divided by the number of services sharing the payout), so sharing neither rewards nor spam-clones a service. A service on a network not yet measured, or a shared member whose probe has been failing, carries no traction term (the other weights are renormalized). Traction also requires recent settlement: with no on-chain settlement in the last 30 UTC days the term is 0. Each recommendation also reports top_buyer_share_30d, the 30d volume share of the single largest buyer, as a published concentration signal for the reader; it does not enter the score. The response carries ranking_version, the scoring generation it was produced under, currently 2 because of that compliance cap: scores you stored under generation 1 are not comparable with these. Optionally attach ecosystem facilitator-volume context separately.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text need description to match against name/description.
limitNoHow many ranked recommendations to return.
preferNoTie-breaking emphasis for the ranking weights.balanced
networkNoRequired network name or abbreviation, e.g. 'Base' or 'BSE'; any network code returned by /api/v1/networks is accepted.
categoryNoDesired service category.
max_price_usdNoCap on min_price_usd in US dollars; cheaper or equal passes.
require_verifiedNoIf true, only verified services are eligible.
include_facilitator_contextNoIf true, also return top facilitators by 7d settlement volume as separate ecosystem context (NOT per-service).

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure, and it excels. It details the ranking weights, the compliance cap (0.6 floor), the conservative undercount of traction, pro-quota attribution for shared payTo addresses, renorm when terms are missing, the 30-day settlement recency requirement, and that top_buyer_share_30d does not enter the score. It even discloses versioning incomparability (ranking_version 2 vs 1), which is a subtle behavioral caveat an agent must know.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense paragraph that contains a great deal of necessary nuance, but it is not structured for scanning. It front-loads the core purpose, yet the long sentences and parentheticals (e.g., 'a fact about the payment envelope, not a judgement on the service') make it harder to parse than it could be. Every sentence does earn its place, but the wall-of-text format hurts conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 optional params, no output schema, no annotations), the description is exceptionally complete. It covers the core return concept (ranked recommendations), the specific output fields (top_buyer_share_30d, ranking_version), the optional facilitator context flag, and the behavior of missing/renormalized weights. An agent can fully anticipate what the tool will do and return without needing additional documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% parameter descriptions, well above the 80% threshold for baseline 3. The tool description adds no further detail about parameter semantics—it only restates concepts like 'filtered by category and network' that the schema already covers. Since schema does the heavy lifting, baseline 3 is appropriate; the description doesn't need to repeat parameter-level syntax.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Recommend the best x402 service(s) for a need.' It then enumerates ranking criteria (reliability, compliance, price, traction) and filters (category, network), making the tool's role unmistakable. This clearly distinguishes it from sibling tools like search_x402_services or get_service, which are about discovery and retrieval rather than ranked recommendation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description establishes clear context: use this tool when you have a need and want a ranked recommendation, with optional filters. It explains the default behavior and the 'prefer' tie-breaking emphasis. However, it never explicitly states when NOT to use this tool or names alternatives, so it falls short of full guidance; it doesn't say 'for raw search use search_x402_services' or exclude cases where the ranking logic is undesirable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_facilitator_volumesAInspect

Get on-chain-verified settlement volume per x402 facilitator (the core x402-list metric). Returns USD settlement volume and transaction counts for today (UTC)/7d/30d/all-time, plus a verification flag ('on-chain' when volume has been observed on-chain, else 'listed'). Note: the fields named *_24h cover today (UTC) so far, not a trailing 24-hour window, so they reset at 00:00 UTC and read near zero just after midnight; prefer 7d for a stable recent-activity read. Optionally include a daily timeseries and per-chain breakdown. All volume figures are in US dollars. This is PER-FACILITATOR, not per-service.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLength of the timeseries in days (only used when include_timeseries is true).
pageNo
per_pageNo
timeframeNoDrives the sort order of the returned facilitators. '24h' sorts by today (UTC) so far, not by a trailing 24-hour window.7d
include_chainsNoInclude a per-chain (network/asset) volume breakdown per facilitator.
include_timeseriesNoInclude a daily volume_usd / tx_count series per facilitator.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly discloses the verification flag semantics ('on-chain' vs 'listed'), the UTC midnight reset of *_24h fields, that all volumes are in USD, and the per-facilitator scope. These are non-obvious behavioral traits that would significantly affect data interpretation. It does not mention pagination or rate limits, but for a read-only metrics tool, the key behavioral caveats are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and proceeds logically through return values, caveats, optional features, and scope. Each sentence provides useful information, though the verification flag explanation is slightly redundant ('on-chain' repeated). It is a bit long but remains efficient and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description does a good job explaining return values (USD volume, transaction counts, verification flag) and the time ranges. It also covers the important caveat about 24h fields and the optional breakdowns. It doesn't provide a full response structure but gives enough context for an agent to understand what to expect and how to interpret the data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67%, below the 80% threshold, so the description should compensate for the undocumented page and per_page parameters. The description does add valuable semantics for timeframe (explaining the 24h quirk and sort order), and mentions optional timeseries and per-chain breakdowns. However, it fails to explain pagination parameters at all, leaving a gap. The added value is moderate but not complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb-resource pair: 'Get on-chain-verified settlement volume per x402 facilitator.' It explicitly distinguishes this from sibling tools by noting it is per-facilitator, not per-service, and calls it 'the core x402-list metric.' This makes it immediately clear what the tool does and how it differs from search_x402_services, get_service, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides strong usage context: it identifies the tool as the core metric for the x402 list, advises preferring 7d for a stable recent-activity read, and explains the 24h field reset behavior. It stops short of explicitly naming alternative tools for other use cases, but the per-facilitator vs per-service distinction implies when not to use it. This is clear context without explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_serviceAInspect

Get full detail for one x402 service by slug: live status, uptime over 24h/7d/30d/90d, average response time, accepted networks and settlement asset, and every priced endpoint with its USD price. Use after search_x402_services to inspect a specific service. Prices are in US dollars; the per-endpoint price field is a raw on-chain atomic token amount, not dollars.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesService slug, e.g. 'my-api'.
include_seriesNoIf true, also attach this service's daily on-chain series under `series` (settlement volume and distinct buyers, one point per UTC day over the most recent 90 days, oldest first). Off by default to keep the response small.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even without annotations, the description discloses a key behavioral nuance: the per-endpoint `price` field is a raw on-chain atomic token amount, not US dollars, and clarifies that prices are in USD. It also implies that include_series is off by default, but omits auth or error behavior, which is acceptable for a read-only getter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact yet information-dense. It front-loads the core function, provides usage guidance, and finishes with a critical price-unit warning. Each sentence earns its place, though it is slightly longer than the bare minimum.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only two parameters and no output schema, the description gives a comprehensive account of the returned fields and clarifies the price units. It lacks error handling or pagination details, but for a single-service getter, it is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage for both parameters, describing slug and include_series with defaults. The tool description does not add parameter-specific meaning beyond what the schema states; the price caveat relates to the response, not the parameters. Baseline 3 applies due to high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Get full detail for one x402 service by slug' and enumerates the exact data returned (live status, uptime, response time, networks, endpoint prices). This clearly distinguishes it from sibling tools like search_x402_services, which lists services.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says 'Use after search_x402_services to inspect a specific service,' providing a clear when-to-use directive. However, it does not mention when not to use it or offer alternatives like check_health or find_best_service, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_x402_servicesAInspect

Search and filter the x402-list directory of services that accept x402 payments. Filter by free-text query, category, network, live status, and whether the service's last observed 402 envelope can be signed by a standard x402 client; sort by newest, uptime, cheapest, or endpoint count. Returns service summaries with price (USD), uptime, status, and verification. Prices are in US dollars.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoFree-text search across name, description, category, base_url.
pageNo
sortNoServer-side sort order.newest
statusNoFilter by live monitoring status.all
networkNoNetwork name or abbreviation, e.g. 'Base' or 'BSE'; any network code returned by /api/v1/networks is accepted. Omit for all.
categoryNoExact category name (see categories context). Omit for all.
per_pageNo
signableNoFilter on the signability of the last observed 402 envelope: true = no EVM route of the service was observed missing the EIP-712 domain parameters (extra.name and extra.version) that a standard x402 client requires in order to sign a payment, false = at least one such route was observed. It describes the payment envelope on the wire, not the merit of the service. A service whose latest assessment has not measured that check yet matches NEITHER value, so omit this parameter to include it. Filtered server-side, so the result total covers the whole filtered set.
verified_onlyNoIf true, return only verified services. Filtered server-side, so the result total covers the whole verified set, not just this page.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does disclose useful behavioral traits: it returns service summaries with price (USD), uptime, status, and verification, and prices are in US dollars. It does not cover pagination or error behavior, but for a read-only search this is reasonably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the primary action. Every sentence provides value: what it does, what can be filtered/sorted, and what it returns with a currency note. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 9 parameters and no output schema, the description adequately summarizes the return content and supported filters/sorts. It does not explicitly describe pagination, but the schema defines page and per_page, so this is not a critical omission. Overall complete for a search tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high at 78%, so baseline 3 applies. The description mentions filterable fields (free-text, category, network, live status, signable, sort) but does not add semantic meaning beyond what the parameter descriptions already provide, such as the meaning of 'signable' or the values for 'status'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Search and filter the x402-list directory of services that accept x402 payments,' which clearly states the verb (search/filter) and resource (directory). This distinguishes it from siblings like get_service (specific service) and find_best_service (optimized selection).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description conveys a clear use case: searching and filtering the directory by various criteria. It does not explicitly name alternative tools or exclusionary conditions, but the context is sufficient to understand when this is appropriate compared to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv0.4.2
    • First observedassess_services
    • First observedcheck_health
    • First observedfind_best_service
    • First observedget_facilitator_volumes
    • First observedget_service
    • First observedsearch_x402_services

TDQS

A4.3/5.0
Disambiguation4/5

Each tool has a clearly distinct purpose: search filters the directory, get_service retrieves details for a single service, find_best_service recommends, check_health provides operational status, get_facilitator_volumes reports facilitator-level metrics, and assess_services runs a paid assessment. Some overlap exists between search and find_best_service, and between get_service and check_health, but descriptions clarify the different use cases.

Naming Consistency4/5

All tool names follow a verb_noun pattern in lowercase snake_case (search, get, find, check, get, assess). However, nouns vary in specificity (x402_services, service, best_service, health, facilitator_volumes, services) and there is no strict resource-based convention like list_/get_/create_. The pattern is still predictable and readable.

Tool Count5/5

6 tools is well within the ideal range for a directory/query MCP server. Each tool provides a distinct capability without redundancy, making the set well-scoped and easy to navigate.

Completeness5/5

The server covers core directory operations: searching/filtering, retrieving details, checking health, viewing facilitator volumes, getting recommendations, and even a paid assessment feature. No obvious gaps for a read/query-focused list server; search_x402_services can act as a list-all when no filters are provided.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mcccsm/x402-list-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server