Skip to content

402MCP.org — HTTP 402 & Agent Payment Registry

by 402mcp.org · remote · local (npm) · no sign-in to list tools · v1.1.1 · published by org.402mcp

Decode HTTP 402 challenges (L402, x402, MPP) and choose agent payment rails from an open registry.

Final · 1Changes · 2

7 tools: 1 do something that can't be undone, 2 change things and 4 only read.

Scanned Oct 21, 2026

3 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http registry https://402mcp.org/api/v1/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn1 info
  • The server marks "decode_402_challenge" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "call": a word for a change.

    What this check looks for
  • The server marks "recommend_payment_rail" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "recommend_payment_rail" says "payment": a word that usually means money moves, which cannot be taken back.

    What this check looks for
  • The description mentions "credential".

    Matched text

    description: "...rence for L402, x402 or MPP: challenge, credential and receipt headers, encodings, the req..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

7 tools

Can't be undone 1Claude Code: ask
  • recommend_payment_railChoose an HTTP 402 payment solution from requirements rather than from rank.1 finding

    Why it is in this group

    • The name "recommend_payment_rail" says "payment": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "recommend_payment_rail" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "recommend_payment_rail" says "payment": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Recommend a payment rail
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 2Claude Code: ask
  • decode_402_challengeCall this whenever an HTTP response has status 402, or carries a WWW-Authenticate (L402, LSAT or Payment) or PAYMENT-REQUIRED header.1 finding

    Why it is in this group

    • The description's first verb is "call": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "decode_402_challenge" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "call": a word for a change.

      What this check looks for
    Description, as the server wrote 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.

    Annotations the server declares

    • title: Decode an HTTP 402 response
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • probe_402_supportMake 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Probe a URL for 402 support
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
Only reads 4Claude Code: allow
  • get_best_payment_solutionReturn whichever solution currently holds rank 1 on 402MCP.org, with its full breakdown, install commands and code.No findings

    Why it is in this group

    • The name "get_best_payment_solution" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get the top-ranked solution
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_scheme_referenceProtocol reference for L402, x402 or MPP: challenge, credential and receipt headers, encodings, the request/response flow, an example, and links to the specifications.1 finding

    Why it is in this group

    • The name "get_scheme_reference" says "get": a word for reading.

    Findings

    • Info

      The description mentions "credential".

      Matched text

      description: "...rence for L402, x402 or MPP: challenge, credential and receipt headers, encodings, the req..."

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get a 402 scheme reference
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • get_solutionReturn 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 it…No findings

    Why it is in this group

    • The name "get_solution" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Get one registry entry
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • search_402_solutionsSearch the 402MCP.org registry of HTTP 402 payment solutions (L402, x402, MPP).No findings

    Why it is in this group

    • The name "search_402_solutions" says "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Search 402 payment solutions
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.1.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http registry https://402mcp.org/api/v1/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__registry__search_402_solutions",
      "mcp__registry__get_solution",
      "mcp__registry__get_scheme_reference",
      "mcp__registry__get_best_payment_solution"
    ],
    "ask": [
      "mcp__registry__decode_402_challenge",
      "mcp__registry__recommend_payment_rail",
      "mcp__registry__probe_402_support"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as registry. Review it before you use it.