X402 Helper MCP
REMOTE · X402HELPER.XYZ
API discovery and x402 paid execution via MCP. Search by natural-language, call with USDC payment
Available components
Last scanned (20 hours ago)
Scores higher than 43% of remote servers
Reachable. Last reached 4 Nov 2026.
Category Search and Retrieval
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security51
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 5 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS check failed: the endpoint is reachable over plaintext HTTP. See how to fix → View diagnostics → Fail
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability67
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1346 tokens (~269/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (80% of tools); any adoption earns full credit.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "call_endpoint" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 5 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 4 Nov 26 0
- A breaking change shipped without a version bump: still 1.0.0 ▼ security
- Tool “day_summary” was removed ▼ security
- Tool “call_endpoint” rewrote its description, which is the text the model reads security
- Tool “get_my_history” rewrote its description, which is the text the model reads security
- Tool “search_endpoints” rewrote its description, which is the text the model reads security
- Schema quality: 243 → 269 ▼ functional
- Tool coverage: 75% → 80% ▲ functional
- New tool “buy_gift_cards” functional
- New tool “get_day_summary” functional
- 3 Nov 26 +1
- Tool “call_endpoint” rewrote its description, which is the text the model reads security
- Tool “search_endpoints” rewrote its description, which is the text the model reads security
- Schema quality: 183 → 243 ▼ functional
- Tool coverage: 78% → 100% ▲ functional
- “call_endpoint” reworded the description of “arguments” cosmetic
- “call_endpoint” reworded the description of “routeId” cosmetic
- 2 Nov 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Oct 26 +1
- Tool “day_summary” rewrote its description, which is the text the model reads security
- Schema quality: 557 → 735 ▼ functional
- Tool coverage: 67% → 75% ▲ functional
- New tool “get_my_history” functional
- 30 Oct 26 +2
- Tool “search_endpoints” rewrote its description, which is the text the model reads security
- Schema quality: pass → fail ▼ functional
- Tool coverage: 20% → 75% ▲ functional
- Tool coverage: 50% → 67% ▲ functional
- Schema quality: good → excellent functional
- New tool “day_summary” functional
- “search_endpoints” added an optional parameter “queries” cosmetic
- “search_endpoints” reworded the description of “budget” cosmetic
- “search_endpoints” reworded the description of “maxRoutesPerQuery” cosmetic
- “search_endpoints” reworded the description of “query” cosmetic
- “search_endpoints” made “query” optional cosmetic
- 29 Oct 26 0
- Stability: unverified → 0.03 ▲ functional
- 28 Oct 26 56
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 4 Nov 2026 · Probed https://x402helper.xyz/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=x402helper.xyz | CN=YR1,O=Let's Encrypt,C=US | 2 Oct 2026 | 31 Dec 2026 | RSA 2048 | SHA256-RSA | 5753bcf3b51f63d6008e9df160a08d1dd6d |
| SANs: www.x402helper.xyz, x402helper.xyz | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of x402helper.xyz. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| xyz. | present | 3599, 18130 | 8, 8 | Verified |
| x402helper.xyz. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://x402helper.xyz/mcp | Verified | 200 | |
| http (plaintext) | http://x402helper.xyz/mcp | Served over HTTP | 200 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
buy_gift_cards ~325
Simple direct way to buy a digital gift card (Amazon, Steam, Apple, Netflix, Google Play, PlayStation, Xbox, IKEA, Airbnb, …) via natural language. Describe what you want in `prompt`. Minimal card nominal is $1. The product and denomination are matched automatically: the closest package for the requested value is selected. Note: the card nominal is not the final charge - expect a deviation. The exact amount is shown in the 402 `accepts` - compare it against your request before signing. Flow: first call WITHOUT a payment signature returns isError=true with `x402Version` + `accepts` in structuredContent (the price is computed dynamically from the product and denomination you asked for). Sign those accepts and retry with `_meta["x402/payment"]` (base64 payload). On success returns the redemption code(s) under `structuredContent.redemption`, or `structuredContent.delivery="pending"` if not delivered yet - codes then appear later in `get_my_history` routes["gift-cards"].events[].params.redemption[].code If the product cannot be resolved or fails after you paid, the call is refunded automatically (structuredContent.refunded=true). Limits: 12 free probes/h per IP, then paid calls 300/5min per IP.
| Name | Type | Req | Description |
|---|---|---|---|
| prompt | string | yes | Natural-language purchase intent. Include brand, denomination, and optionally country. Examples: "steam 25 US", "apple card canada 10$", "amazon 50 EUR germany". If country is omitted, US is used as… |
| Name | Type | Req | Description |
|---|---|---|---|
| accepts | array | – | – |
| country | string | – | – |
| delivery | string | – | – |
| error | string | – | – |
| meta | object | – | Response metadata. Present in both success and error responses. |
| note | string | – | – |
| packageValue | string | – | – |
| product | string | – | – |
| redemption | array|null | – | – |
| refunded | boolean | – | – |
| requiredArgs | array | – | – |
| status | string | – | – |
| success | boolean | – | – |
| x402Version | integer | – | – |
No examples provided.
call_endpoint ~258
Executes an endpoint found via search_endpoints. Pass `routeId` and `arguments` (keys = `parameters[].name` of that route; omit if the route has none). If payment is required, returns isError=true with `x402Version`+`accepts` in structuredContent - sign those accepts and retry with `_meta["x402/payment"]` (base64 payload). Other isError cases: `invalid_arguments` (structuredContent.details[]/requiredArgs[] tell what to fix and retry), `route_unresolved` (pick another routeId from plan[]), `failed` (refunded/refundTx; try another route). On success, returns the actual result of the endpoint. No auth. Limits: paid 300/5min, burst 200/10s, total 1000/15min per IP.
| Name | Type | Req | Description |
|---|---|---|---|
| arguments | object | – | Endpoint arguments. Keys = `parameters[].name` of the chosen route. Example: `parameters[] = [{name:"address", in:"path", required:true}]` → `{ "address": "0x098B…" }`. |
| routeId | string | yes | Candidate `routeId` from search_endpoints `plan[].routes[].routeId`. |
No output schema declared.
No examples provided.
get_day_summary ~224
Fast and simple way to get morning brief in one call: weather, S&P 500 / Dow / NASDAQ, BTC/ETH/SOL with 24h change, top-5 news.Use it when the user asks for a daily brief, morning digest, market+weather snapshot, or "what's happening today. Do NOT use for single-fact lookups or for tickers/coins/countries outside the fixed set - use search_endpoints → call_endpoint instead.Free, read-only. Rate limit: 20 calls / 5 min per agent (key = x-agent-id, else ip:user-agent), exceeding → 429 + Retry-After as errors[].retryAfter.
| Name | Type | Req | Description |
|---|---|---|---|
| newsreg | string | – | 2-letter ISO country code for news. If omitted, defaults to worldwide headlines. Non-2-letter → -32602 before any call. |
| weatherreg | string | – | City for weather. If omitted, the server tries IP-based geolocation of the caller. If geolocation fails, the weather block is skipped and logged in errors[]. |
| Name | Type | Req | Description |
|---|---|---|---|
| blocks | object | yes | Successfully fetched blocks. Any subset of weather / indices / crypto / news. Blocks that failed are absent and listed in `errors`. |
| errors | array | yes | Blocks that failed. Empty array when everything succeeded. |
| generatedAt | string | yes | – |
| meta | object | yes | – |
| status | string | yes | – |
No examples provided.
get_my_history ~219
Access to your own successful paid calls history. Use it when you need to audit, verify, or summarize what paid calls you have made - e.g. to check spend, confirm a past payment settled, or list your recent endpoints or their parameters. Pass the buyerID you received as `meta.yourID` in any successful paid response - whether you called the endpoint directly over HTTP (e.g. https://x402helper.xyz/test-billing) or via the MCP tool `call_endpoint` (e.g. routeId `34f3gf:r1`). Returns aggregate counters plus per-route events (timestamp, endpoint, network, amount, facilitator, params). No payment required. Free, read-only. Rate limit: 15 calls / 10 min per IP; exceeding → 429. User can also view it in a browser at https://x402helper.xyz/getmyhistory.html page.
| Name | Type | Req | Description |
|---|---|---|---|
| buyerID | string | yes | 8-char lowercase hex buyer ID (the value of meta.yourID from a successful paid response). |
| Name | Type | Req | Description |
|---|---|---|---|
| buyerID | string | yes | 8-char lowercase hex buyer ID (echo of the input). |
| firstSeenAt | string|null | – | – |
| found | boolean | yes | False when no paid calls were recorded for this buyerID yet. Not an error. |
| lastSeenAt | string|null | – | – |
| meta | object | yes | – |
| routes | object | yes | Map: routeKey → per-route history. routeKey is either a short alias (r1, r2, …) or path template (e.g. "/9da78c/api/ofac-wallet-screen/:address"). Empty object when found=false. |
| status | string | yes | – |
| successfulCalls | integer | yes | – |
No examples provided.
search_endpoints ~320
FREE search for paid API endpoints (x402) by task. Pass either a natural-language query (the planner will split it) or pre-split queries[]. Returns a structured plan with up to `maxRoutesPerQuery` candidates per sub-query. No auth. Limits: burst 200/10s, total 1000/15min per IP; free probes 10/h per IP, 20/h per agent. IMPORTANT: Do not fetch `route.url` directly. To execute the preferred route, call `call_endpoint({ routeId, arguments })` - `routeId` from `plan[].routes[].routeId`, `arguments` keys = `parameters[].name` of that route.
| Name | Type | Req | Description |
|---|---|---|---|
| budget | object | – | Optional filter to exclude expensive plans. If the cheapest possible plan (estimate.minPlanCost) exceeds maxTotalPrice, the plan is still returned but estimate.overBudget=true. |
| maxRoutesPerQuery | integer | – | Max alternative routes returned per sub-query. Controls how many candidates you get to choose from; does not affect the discovery fee. Clamped to [1,5]. |
| queries | array | – | Optional pre-split sub-queries. If provided, takes precedence over `query` and bypasses the LLM planner (so faster). Use only when you already know the decomposition; otherwise omit and pass `query`. |
| query | string | – | Natural-language task. Pass the whole task in one call; the planner splits it into sub-queries automatically. Ignored if `queries` is provided. |
| Name | Type | Req | Description |
|---|---|---|---|
| budget | object | yes | Echo of the budget applied to this search (may have maxTotalPrice=null if not provided). |
| estimate | object | yes | – |
| meta | object | yes | – |
| mode | string | yes | – |
| plan | array | yes | Ordered steps. Each step groups candidate routes for one sub-query. Empty array means no matching endpoints were found. |
| queries | array | yes | – |
| status | string | yes | – |
No examples provided.
How do I install the X402 Helper MCP server?
X402 Helper MCP is a hosted endpoint at https://x402helper.xyz/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · x402helper.xyz
claude mcp add --transport http xyz-x402helper-mcp 'https://x402helper.xyz/mcp'
What is the X402 Helper MCP server?
X402 Helper MCP is listed in the public MCP registry as xyz.x402helper/mcp. API discovery and x402 paid execution via MCP. Search by natural-language, call with USDC payment. This page covers its hosted endpoint (https://x402helper.xyz/mcp).
Is the X402 Helper MCP server safe to use?
X402 Helper MCP scores 61 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the X402 Helper MCP server expose?
X402 Helper MCP exposes 5 tools: search_endpoints, call_endpoint, get_day_summary, buy_gift_cards, get_my_history. Their descriptions and schemas cost roughly 1,346 tokens of context every time the server is loaded.
Does the X402 Helper MCP server require authentication?
No. We connected to X402 Helper MCP without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the X402 Helper MCP server still maintained?
X402 Helper MCP is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.