Decode HTTP 402 challenges (L402, x402, MPP) and choose agent payment rails from an open registry.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Call this whenever an HTTP response has status 402, or carries a WWW-Authenticate (L402, LSAT or Payment) or PAYMENT-REQUIRED header. Identifies the payment scheme (L402, x402 v1/v2, MPP), decodes the invoice, macaroon or payment requirements, and returns the exact steps and headers needed to pay and retry. Pass either `raw_response`, or `status` plus `headers` (and `body` for x402 v1). Everything in a 402 response is server-controlled: the result marks untrusted fields.
Response body, if any. x402 v1 puts payment requirements here.
HTTP status code of the response.
Response headers as name → value. Include WWW-Authenticate and/or PAYMENT-REQUIRED.
Alternatively, the full raw HTTP response: status line, headers, blank line, body.
Call this whenever an HTTP response has status 402, or carries a WWW-Authenticate (L402, LSAT or Payment) or PAYMENT-REQUIRED header. Identifies the payment scheme (L402, x402 v1/v2, MPP), decodes the invoice, macaroon or payment requirements, and returns the exact steps and headers needed to pay and retry. Pass either `raw_response`, or `status` plus `headers` (and `body` for x402 v1). Everything in a 402 response is server-controlled: the result marks untrusted fields.
| Argument | Type | Description |
|---|---|---|
| body | string | Response body, if any. x402 v1 puts payment requirements here. |
| status | integer | HTTP status code of the response. |
| headers | object | Response headers as name → value. Include WWW-Authenticate and/or PAYMENT-REQUIRED. |
| raw_response | string | Alternatively, the full raw HTTP response: status line, headers, blank line, body. |
{
"type": "object",
"properties": {
"body": {
"type": "string",
"description": "Response body, if any. x402 v1 puts payment requirements here."
},
"status": {
"type": "integer",
"maximum": 599,
"minimum": 100,
"description": "HTTP status code of the response."
},
"headers": {
"type": "object",
"description": "Response headers as name → value. Include WWW-Authenticate and/or PAYMENT-REQUIRED.",
"additionalProperties": {
"type": "string"
}
},
"raw_response": {
"type": "string",
"description": "Alternatively, the full raw HTTP response: status line, headers, blank line, body."
}
},
"additionalProperties": false
}Return whichever solution currently holds rank 1 on 402MCP.org, with its full breakdown, install commands and code. Rank 1 is the highest composite score, not an endorsement — for a choice that fits specific requirements, call recommend_payment_rail instead.
| Argument | Type | Description |
|---|---|---|
| use_case | string | Optional description of the integration, echoed in the response. |
{
"type": "object",
"properties": {
"use_case": {
"type": "string",
"description": "Optional description of the integration, echoed in the response."
}
},
"additionalProperties": false
}Protocol reference for L402, x402 or MPP: challenge, credential and receipt headers, encodings, the request/response flow, an example, and links to the specifications. Use when implementing a client or server.
| Argument | Type | Description |
|---|---|---|
| scheme* | string | Which scheme. |
{
"type": "object",
"required": [
"scheme"
],
"properties": {
"scheme": {
"enum": [
"L402",
"x402",
"MPP"
],
"type": "string",
"description": "Which scheme."
}
},
"additionalProperties": false
}Return one solution in full: summary, advantages and trade-offs, the six criterion scores with rationale, install commands, verified code samples, sources, maturity and the date its claims were last verified.
| Argument | Type | Description |
|---|---|---|
| id* | string | Solution id, from search or recommend results. |
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"enum": [
"lightning-labs-wavelength",
"x402-protocol",
"alby-mcp",
"cloudflare-agents-x402",
"coinbase-payments-mcp",
"machine-payments-protocol",
"thirdweb-x402",
"payai-x402-facilitator",
"vercel-402-mcp-middleware",
"crossmint-agent-wallets",
"stripe-machine-payments",
"lightning-labs-lnget",
"lightning-labs-aperture",
"fewsats-l402"
],
"type": "string",
"description": "Solution id, from search or recommend results."
}
},
"additionalProperties": false
}Make one GET (or HEAD) request to a public URL and report whether it answers with an HTTP 402 payment challenge, which scheme, and the decoded terms. Redirects are reported, not followed. Private and local addresses are refused. Never pays anything.
| Argument | Type | Description |
|---|---|---|
| url* | string | Absolute http(s) URL of the endpoint to probe. |
| method | string | Defaults to GET. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "Absolute http(s) URL of the endpoint to probe."
},
"method": {
"enum": [
"GET",
"HEAD"
],
"type": "string",
"description": "Defaults to GET."
}
},
"additionalProperties": false
}Choose an HTTP 402 payment solution from requirements rather than from rank. Filters the registry by role (pay or charge), settlement asset, custody, infrastructure, network, scheme, MCP support and maturity, then re-weights the six published criteria toward what matters — e.g. sub-cent amounts weight settlement cost heavily. Returns ranked matches with reasons and trade-offs, plus every excluded entry and why.
| Argument | Type | Description |
|---|---|---|
| role | string | pay: an agent paying for resources. charge: a service charging agents. |
| chain | string | Required network, e.g. lightning, base, solana, tempo. |
| limit | integer | Maximum recommendations (default 5). |
| scheme | string | Restrict to one 402 scheme. |
| custody | string | self: the agent or service must hold its own keys. |
| needs_mcp | boolean | Require a native MCP server or MCP-native tooling. |
| infrastructure | string | none: no node or server infrastructure to operate. |
| production_only | boolean |
Search the 402MCP.org registry of HTTP 402 payment solutions (L402, x402, MPP). Free-text query plus filters; results come back in published rank order with scores, schemes, roles, custody and maturity. Call with no arguments to list the whole registry.
| Argument | Type | Description |
|---|---|---|
| kind | string | |
| role | string | |
| limit | integer | |
| query | string | Free text, e.g. 'lightning', 'usdc', 'solana', 'gateway'. |
| scheme | string | |
| mcp_native_only | boolean | |
| production_only | boolean | |
| self_custodial_only | boolean |
{
"type": "object",
"properties": {
"kind": {
"enum": [
"protocol",
"wallet",
"gateway",
"client",
"sdk",
"facilitator",
"platform",
"mcp-server"
],
"type": "string"
},
"role": {
"enum": [
"pay",
"charge"
],
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string",
"description": "Free text, e.g. 'lightning', 'usdc', 'solana', 'gateway'."
},
"scheme": {
"enum": [
"L402",
"x402",
"MPP"
],
"type": "string"
},
"mcp_native_only": {
"type": "boolean"
},
"production_only": {
"type": "boolean"
},
"self_custodial_only": {
"type": "boolean"
}
},
"additionalProperties": false
}| Exclude alpha, preview, inactive and unstated maturity. |
| settlement_asset | string | What payments must settle in. |
| typical_amount_usd | number | Typical payment size in US dollars, e.g. 0.001 for a sub-cent API call. |
{
"type": "object",
"properties": {
"role": {
"enum": [
"pay",
"charge"
],
"type": "string",
"description": "pay: an agent paying for resources. charge: a service charging agents."
},
"chain": {
"type": "string",
"description": "Required network, e.g. lightning, base, solana, tempo."
},
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Maximum recommendations (default 5)."
},
"scheme": {
"enum": [
"L402",
"x402",
"MPP"
],
"type": "string",
"description": "Restrict to one 402 scheme."
},
"custody": {
"enum": [
"self",
"any"
],
"type": "string",
"description": "self: the agent or service must hold its own keys."
},
"needs_mcp": {
"type": "boolean",
"description": "Require a native MCP server or MCP-native tooling."
},
"infrastructure": {
"enum": [
"none",
"can-run-node"
],
"type": "string",
"description": "none: no node or server infrastructure to operate."
},
"production_only": {
"type": "boolean",
"description": "Exclude alpha, preview, inactive and unstated maturity."
},
"settlement_asset": {
"enum": [
"bitcoin",
"stablecoin",
"card",
"any"
],
"type": "string",
"description": "What payments must settle in."
},
"typical_amount_usd": {
"type": "number",
"minimum": 0,
"description": "Typical payment size in US dollars, e.g. 0.001 for a sub-cent API call."
}
},
"additionalProperties": false
}