x402-agent-mcp
This MCP server lets an agent discover, inspect, and health-check x402-paid APIs, then fetch them with automatic 402 payment using configured wallet keys.
Search the x402 endpoint directory by keyword, category, or chain.
List available endpoint categories with counts.
Describe a service's paths, methods, prices, and discovery files.
Discover a service by URL using
/.well-known/x402,ai-catalog.json, andllms.txt.Batch-discover multiple service URLs in parallel.
Check whether a service is live and responding with HTTP 402.
Crawl x402scan.com to discover and add new x402 services to the local directory.
Fetch any x402 endpoint with GET or POST, automatically handling 402 payment on Base, Solana, or Casper; the agent never handles wallets or payment details directly.
Provides payment integration for x402 endpoints on Solana, enabling agents to autonomously pay for and consume data from Solana-based x402 services using USDC.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@x402-agent-mcpFind a news API and get today's top stories"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
x402-agent-mcp
Universal x402 agent MCP — discover and pay for any x402 endpoint on Base, Polygon, Arbitrum, Solana or Casper
What it does
An agent searches the directory, describes a service, then fetches its URL: the server pays the seller's 402 price with the operator's wallet and hands back the data. The agent never sees wallets, private keys or x402 protocol details — no API keys, no subscriptions, just a wallet.
Related MCP server: obolpay-x402-mcp
Quick start
git clone https://github.com/dchu3/x402-agent-mcp.git
cd x402-agent-mcp
npm install
npm run buildPoint your MCP client config at the built server, passing the server's keys through env (only keys that exist in .env.example):
{
"mcpServers": {
"x402": {
"command": "node",
"args": ["/path/to/x402-agent-mcp/dist/index.js"],
"env": {
"X402_NETWORK_MODE": "mainnet",
"SOLANA_PRIVATE_KEY": "<YOUR_SOLANA_PRIVATE_KEY>",
"EVM_PRIVATE_KEY": "<YOUR_EVM_PRIVATE_KEY>",
"CASPER_PRIVATE_KEY": "<YOUR_CASPER_PRIVATE_KEY>",
"MAX_PAYMENT_PER_CALL": "0.50",
"MAX_DAILY_SPEND": "10.00"
}
}
}
}Replace every <PLACEHOLDER> with your own value — never commit real key material. Only the chains you want to pay on need a key. The full annotated key set (RPC URLs with their public fallbacks, devnet mode, the optional cross-chain ceiling, the policy config) is .env.example; copy it to a .env your client loads, or inline the keys in the config block.
Before your first paid call: there is no default network — with a payment key loaded and
X402_NETWORK_MODEunset, every paid call is refused withNETWORK_NOT_CONFIGUREDbefore anything is fetched or signed. SetMAX_PAYMENT_PER_CALLandMAX_DAILY_SPENDto what you can afford, and make your first paid calls with a throwaway key.
Paid routes and prices rotate — confirm the route and price on the seller's GET /.well-known/x402 manifest before fetching.
Tools
Tool | Free/paid | Purpose |
| Free | Search the endpoint directory by keyword, category or chain — ranked live-first, zero network calls. |
| Free | List all endpoint categories with counts. |
| Free | Get one service's paths, prices and schema. |
| Free | Discover an x402 service by URL (well-known files) and add it to the directory. |
| Free | Check a service is live and answering 402. |
| Free | Batch-discover several services in parallel. |
| Free | Crawl x402scan.com for new services and add them to the directory. |
| Free | Evaluate a prospective payment: decision, reason codes, limits, network mode, budget headroom. Never pays. |
| Free | Refresh the recorded 402 liveness probes for the pinned endpoint set. Never pays. |
| Free | Show every budget rail — unit, caps, spent/remaining today, outstanding holds, ledger path, configured USD rate. Read-only. |
| Free | Inspect a 402 challenge or single offer — exact amounts, asset verdict, policy and budget verdicts — without paying or fetching. |
| Endpoint price | Fetch an x402 endpoint and pay the 402 price — the only paying tool. |
Safety and network defaults
The default payment policy is permissive — any x402 endpoint is payable up to the global caps — and every cap fails closed on a malformed value (it disables payments rather than widening them). Tighten via a config file pointed at by
POLICY_CONFIG_PATH, or opt into a shipped profile withX402_POLICY_PROFILE=strict|standard— unset stayspermissive(the behavior-compat default; see the policy engine reference for the three profiles).Polygon and Arbitrum are opt-in (add them to the policy's
networks.allowed); the Ethereum mainnet (eip155:1) is always refused.Payment receipts come from the seller and are not verified on-chain (
receipt_verified: false).There is no default network:
X402_NETWORK_MODEmust be set explicitly before any paid call.
Documentation
Policy engine — decisions, reason codes, rule order, trust levels, the recipients and anomaly gates
Payments and budgets — spend accounting, the ledger and reservations, the payment-intent boundary, trust in receipts
Networks and network mode — the chain matrix, the no-default network mode, devnet, Casper, assets and USD pricing
Operations — usage examples, directory refresh recipes, CI, the security scan, tech stack
Disclaimer and licence
This software is experimental and provided "as is", without warranty of any kind. Use at your own risk. It initiates real cryptocurrency transactions that are irreversible. License: MIT.
Available Tools
8 toolsx402_crawl_directoryA
Crawl x402scan.com resources page to discover new x402 endpoints. Extracts service URLs, probes each for x402 support, and auto-adds confirmed services to the local directory. Returns summary of newly discovered services.
| Name | Required | Description | Default |
|---|---|---|---|
| max_results | No | Maximum number of new services to add (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and largely succeeds: it discloses network probing and the key side effect of 'auto-adds confirmed services to the local directory.' It does not mention rate limits, idempotency, or behavior toward already-known services, so it is not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: the target and purpose, the execution steps, and the return output. There is no filler, repetition, or irrelevant detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the return contract is only described as a 'summary of newly discovered services' — enough to know the general kind of result but not its shape or contents. The tool's effect on existing directory entries and behavior at max_results is also left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter max_results is already fully described in the input schema with a default of 20, and the description adds no extra semantics about how the limit affects crawling or discovery. This aligns with the baseline for high schema_description_coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a concrete action, target, and outcome: 'Crawl x402scan.com resources page to discover new x402 endpoints.' It also details the process (extract URLs, probe for support, auto-add confirmed services) and returns a summary, which clearly differentiates it from the sibling discovery/search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is clear: run it to discover and auto-add new x402 endpoints found on the resources page. It does not explicitly state when not to use it or name alternatives, but the context is unambiguous enough for an agent to select it over the other discovery/search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_describeB
Get detailed information about a specific x402 endpoint, including all available paths, methods, prices, and well-known discovery files.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Service name from x402_search results (e.g. 'svm402', 'Tavily') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of explaining behavior. It does convey what information is returned ('paths, methods, prices, and well-known discovery files'), which is useful. However, it does not explicitly state that the operation is read-only, whether it performs network requests, or what happens on failure, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately states the tool's purpose and quickly lists the main output categories. Every phrase contributes meaning, and there is no wasted or redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one well-documented parameter and no output schema, the description gives a reasonable overview of what the tool returns. It is likely enough for an agent to decide whether to call it and what to expect, though it stops short of detailing exact response structure or edge cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the single 'name' parameter with 100% coverage, including guidance that it should come from x402_search results. The description adds minimal semantic value beyond the schema, so the baseline of 3 is appropriate; there is no parameter documentation gap but also no extra clarification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed information about a specific x402 endpoint and enumerates the key content: paths, methods, prices, and well-known discovery files. It is specific about the verb and resource, though it doesn't explicitly differentiate itself from sibling tools like x402_discover_urls or x402_fetch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives such as x402_search, x402_discover_urls, or x402_fetch. The input schema's mention of 'Service name from x402_search results' implies a workflow, but the description itself does not state when this tool is appropriate or when another sibling should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_discover_urlA
Discover any x402 service by URL. Fetches /.well-known/x402 (payment details), /.well-known/ai-catalog.json (capabilities), and /llms.txt (agent summary). Returns a unified discovery object with chains, wallet, endpoints, and prices.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Base URL of the service to discover (e.g. https://svm402.com) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden and adequately discloses that the tool performs network fetches to three specific well-known paths and returns a unified discovery object. It does not detail error behavior, authentication, or failure cases, but the network-read nature is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no filler. It leads with the core action, lists the fetched endpoints, and summarizes the returned object, every sentence earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description conveys the essential return fields (chains, wallet, endpoints, prices) and the discovery mechanism. It does not specify the exact output shape or failure behavior, but the tool is simple enough that this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single url parameter is already documented with a description and example. The tool description adds no additional parameter semantics beyond restating that the URL is the service base URL, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: discover an x402 service by URL, and enumerates the exact well-known endpoints fetched. It is clear on its own but does not explicitly distinguish itself from the sibling x402_discover_urls, which may cover the plural/multi-URL case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: use this when you have a base URL and need discovery details such as chains, wallet, endpoints, and prices. It does not explicitly state when not to use it or mention alternative sibling tools, notably the similarly named x402_discover_urls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_discover_urlsA
Batch discover multiple x402 services in parallel. Provide a list of URLs, each is probed for /.well-known/x402 and ai-catalog.json. Returns a summary array.
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | Array of base URLs to discover (e.g. ["https://svm402.com", "https://2s.io"]) |
TDQS
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 delivers: it reveals the probing targets (/.well-known/x402 and ai-catalog.json), discloses that requests run in parallel (which has rate-limit and load implications the agent should know), and states the return shape is a summary array. Minor gaps remain — no disclosure of failure handling, malformed-URL behavior, or what the summary entries contain — but the core operational traits are honestly surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences totaling roughly 40 words, perfectly front-loaded with the core purpose. Each sentence earns its place: batch/parallel scope, probing targets, and return shape. There is zero filler, no repetition of schema content, and no buried critical information — the most important operational fact (parallel batch discovery) leads.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with 100% schema coverage and no output schema, the description covers the essentials: what the tool does, how it operates (which endpoints it probes), and what it returns. The main omission is the contents of the 'summary array' — an agent doesn't know what fields or statuses to expect in the results — and there's no explicit pointer to the singular sibling. Both are minor given the low complexity, but they keep this from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the urls parameter has a description and concrete examples ('https://svm402.com', 'https://2s.io'). The description adds mild value by explaining what happens to each URL (it is probed for the two discovery files), which enriches the parameter's meaning slightly. No additional format, normalization, or constraint details are needed given the schema already handles it — baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource-scope pairing: 'Batch discover multiple x402 services in parallel.' It goes further, specifying exactly what probing occurs (/.well-known/x402 and ai-catalog.json), which makes the tool's behavior concrete. The word 'Batch' and 'multiple... in parallel' clearly differentiate it from the singular sibling x402_discover_url without needing to open either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied through 'Batch... multiple... in parallel' — an agent can infer this is for multi-URL discovery rather than single-URL discovery via x402_discover_url. However, the description never names the sibling alternative or states an explicit when-to-use/when-not-to-use rule. The distinction is inferable but left to the agent to deduce, so it stops short of explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_fetchA
Fetch any x402-paid endpoint — handles 402 payment challenge automatically on Base, Solana or Casper. The agent never sees wallets or payment details. Just provide a URL and optional body.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL of the x402 endpoint (e.g. https://svm402.com/analyze) | |
| body | No | JSON body for POST requests (as string) | |
| chain | No | Force chain: 'solana', 'base' or 'casper'. Auto-detected if omitted. | |
| method | No | HTTP method: GET or POST (default: GET) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses significant non-obvious behavior: automatic 402 payment handling, support for Base/Solana/Casper, and that wallets/payment details are hidden from the agent. It does not mention payment costs, failure behavior, or response format, but it covers the most important hidden traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no fluff. The core action, automatic payment behavior, supported chains, and privacy property are front-loaded. Every sentence conveys useful operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's payment-related complexity and lack of annotations/output schema, the description conveys the core behavior well. The main gap is that it does not describe what is returned (raw response, status, parsed body) nor explicitly caution that invoking it may incur payment, so an agent has to infer some operational expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds only 'optional body' as extra context, which lightly reinforces the schema but does not deepen understanding of method/chain/body semantics beyond what the parameter descriptions already provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Fetch') and a specific resource ('any x402-paid endpoint'), and clarifies that payment challenge handling is automatic. This clearly differentiates it from sibling discovery/health/description tools like x402_search and x402_describe, which do not actually fetch paid endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Fetch any x402-paid endpoint' and 'Just provide a URL and optional body' establishes the core use case: call this tool when you have a concrete x402 URL to invoke. It does not explicitly name sibling alternatives or state when not to use it, but the context makes the primary usage clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_healthA
Check if an x402 service is live and responding with 402 Payment Required. Verifies the service is operational before an agent pays for it.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Direct URL to probe (alternative to name) | |
| name | No | Service name from directory (e.g. 'svm402') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It clearly indicates that the tool probes a service over the network, expects a 402 response, and does not itself make a payment. It does not describe the exact return format or error behavior, but the core side-effect profile is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The first sentence states the mechanism and expected response; the second explains why it matters. Each sentence earns its place and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple health-check tool with no output schema and no annotations, the description covers what is checked, how it is checked, and when to use it. It does not spell out the return value, but 'Check if' strongly implies a boolean or status result, so the omission is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both 'url' and 'name' already clearly documented as alternatives. The description does not add detail beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Check if an x402 service is live and responding with 402 Payment Required') and a clear resource ('x402 service'). It also connects the check to a concrete use case ('before an agent pays for it'), which distinguishes it from sibling tools like x402_search or x402_fetch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage context: use this tool to verify a service is operational before paying. It does not explicitly name alternatives or say when not to use the tool, but the purpose is distinct enough from the siblings that an agent can infer the right situation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_list_categoriesA
List all available x402 endpoint categories with counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. 'List' appropriately signals a read-only action with no side effects, and 'all available' plus 'with counts' adds scope and output expectations. It does not mention authentication, rate limits, or exact response formatting, but for a zero-parameter listing tool this is a reasonable level of transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that contains no filler. Every phrase earns its place: the resource, the scope, and the expected output detail are all present without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter list tool, the description is largely complete: it names the resource, states the scope ('all available'), and indicates the output includes counts. It falls slightly short by not defining the exact return shape and by leaving 'counts' slightly ambiguous, but this is a minor gap given the tool's low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters and the input schema is empty, so there is nothing for the description to clarify about parameter semantics. Given the zero-parameter baseline, the description adequately avoids inventing meaningless parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and a concrete resource ('all available x402 endpoint categories'), with a clear output detail ('with counts'). This clearly distinguishes it from siblings like x402_search, x402_fetch, and x402_health, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its usage: it is the tool to call when an agent needs a category-level overview of x402 endpoints. However, it does not explicitly state when to prefer this over sibling tools or mention any exclusions or alternative routing, so the guidance remains implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
x402_searchA
Search for x402 endpoints by keyword, category, or chain. Returns matching services with descriptions, prices, and URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Filter by chain: base, solana, casper | |
| query | No | Search keyword (matches name, description, tags) | |
| category | No | Filter by category: analysis, search, social, news, travel, ai, media, blockchain, multi |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must convey behavioral context itself. It discloses the read-only search nature and the contents of results, but omits details like pagination, match semantics, filtering behavior (AND/OR), or potential rate limits. The behavioral disclosure is adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the action, and wastes no words. It efficiently conveys both the search capability and the return payload without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description compensates by listing what results contain. It covers the essential invocation knowledge: resource, filters, and return shape. Minor gaps exist around how filters combine and whether results are paginated, but for a simple search tool this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all three parameters with 100% coverage. The description restates the filter axes (keyword, category, chain) at a high level, which adds a little context about their role, but does not add new meaning beyond the schema. This aligns with the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the verb 'Search' and names the specific resource 'x402 endpoints' for keyword, category, or chain. It also states the return payload (descriptions, prices, URLs), making the tool's function unambiguous and distinct from siblings like x402_list_categories.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies the tool is for finding x402 endpoints via filters, but it does not explicitly state when to prefer this over alternatives like x402_list_categories or x402_discover_urls. An agent can infer usage context, but no exclusions or when-not-to-use guidance is provided.
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.
8 tool updates
v1.0.0- First observed
x402_crawl_directory - First observed
x402_describe - First observed
x402_discover_url - First observed
x402_discover_urls - First observed
x402_fetch - First observed
x402_health - First observed
x402_list_categories - First observed
x402_search
TDQS
Scored across 8 tools
Each tool has a clearly defined role covering category listing, searching, describing, discovering, health-checking, and fetching. The main overlap is between discover_url and discover_urls, which are the same operation in single and batch form, but this is a reasonable convenience rather than a true ambiguity.
All tools share the x402_ prefix and most use a verb or verb_noun pattern (list_categories, search, describe, discover_url, crawl_directory, fetch). The exceptions are health, which is a noun, and two discover verbs with slightly different forms, but the overall convention remains predictable.
Eight tools is well within the ideal range for this domain. Each tool addresses a distinct stage of discovering, evaluating, and consuming x402 services without excessive redundancy or missing core functions.
The toolset covers the full lifecycle from discovery (search, crawl, list categories), to verification (health, describe, discover_url), to interaction (fetch with automatic payment handling). No obvious dead ends or missing capabilities are apparent for an agent needing to work with x402 endpoints.
Maintenance
Related MCP Connectors
x402 pay-per-call APIs over MCP, settled in USDC on Base for autonomous agents and developers.
15 paid AI agent primitives via x402 (USDC on Base). Pay-per-call MCP server.
Monetize any MCP server: x402 paywall, pay-per-call billing in USDC on Base, agent marketplace.
Agent-commerce MCP server for x402/USDC payments and affiliate splits on Base.
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceAn MCP server that enables AI agents to search, pay for, and call paid APIs using the x402 protocol, with automatic USDC settlement.2MIT- FlicenseAqualityBmaintenanceMCP server for a live x402 payment gateway on Base (USDC). Lets AI agents discover, preview for free, then pay per call — with prepaid gasless payments, signed receipts, and delta delivery.7-

mpp32-mcp-serverofficial
AlicenseNot gradedqualityDmaintenanceMCP server that allows AI agents to discover and pay for thousands of APIs (x402 on Solana/Base) using a single key, with automatic payment handling and a federated catalog of machine-payable endpoints.221MIT- AlicenseNot gradedqualityFmaintenanceMCP server that provides AI agents with pay-per-call access to a suite of tools (honeypot check, token market, DeFi yields, etc.) via USDC on Base using the x402 protocol.5 npmMIT