x402 Payment Request Parser

x402 payment-request parser with a limited token list. Does not sign, approve or judge payments.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
63%
Qualität der Benennung
85%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~2,586Tokens (Tool-Definitionen)
~7.3 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.02% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "x402-safety-kit": {
      "url": "https://x402-safety-kit-production.mk-career-planning.workers.dev/mcp"
    }
  }
}

Remote-Endpunkte

https://x402-safety-kit-production.mk-career-planning.workers.dev/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (4)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢catalog

List the tools of this server with prices, data sources, licensing, daily limits and data freshness.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "server": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "version": {
          "type": "string"
        },
        "stage": {
          "type": "string"
        }
      },
      "required": [
        "name",
        "version",
        "stage"
      ],
      "additionalProperties": {}
    },
    "payment": {
      "type": "object",
      "properties": {
        "protocol": {
          "type": "string"
        },
        "network": {
          "type": "string"
        },
        "asset": {
          "type": "string"
        },
        "enabled": {
          "type": "boolean"
        }
      },
      "required": [
        "protocol",
        "network",
        "asset",
        "enabled"
      ],
      "additionalProperties": {}
    },
    "daily_limits": {
      "type": "object",
      "properties": {},
      "additionalProperties": {},
      "description": "Daily limits of paid calls (calls, usd, timezone) or a misconfiguration notice."
    },
    "paused": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "boolean"
      },
      "description": "Operator pause flags (true = paused)."
    },
    "tools": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "price_usd": {
            "type": "number",
            "description": "Price per call in USD (0 = free)."
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "price_usd",
          "description"
        ],
        "additionalProperties": {}
      },
      "description": "Every tool of this server with its price."
    },
    "legal": {
      "type": "object",
      "properties": {},
      "additionalProperties": {}
    },
    "fetch_status_values": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "provenance": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "source": {
            "type": "object",
            "properties": {
              "publisher": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "publisher",
              "url"
            ],
            "additionalProperties": {},
            "description": "Publisher and URL of the upstream document or dataset."
          },
          "upstream_updated_at": {
            "description": "Update time stated by the upstream, or null when it states none.",
            "type": [
              "string",
              "null"
            ]
          },
          "retrieved_at": {
            "description": "When this service retrieved the upstream data (null if unknown).",
            "type": [
              "string",
              "null"
            ]
          },
          "content_sha256": {
            "type": [
              "string",
              "null"
            ]
          },
          "parser_version": {
            "type": "string"
          },
          "fetch_status": {
            "type": "string",
            "enum": [
              "found",
              "empty",
              "stale",
              "unavailable",
              "unsupported"
            ],
            "description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
          },
          "processed_by": {
            "type": "string"
          }
        },
        "required": [
          "source",
          "upstream_updated_at",
          "retrieved_at",
          "content_sha256",
          "parser_version",
          "fetch_status",
          "processed_by"
        ],
        "additionalProperties": {},
        "description": "Freshness receipt for one upstream source."
      },
      "description": "Freshness receipts for every upstream source used."
    },
    "terms": {
      "type": "string",
      "description": "URL of the terms of service."
    }
  },
  "required": [
    "server",
    "payment",
    "daily_limits",
    "paused",
    "tools",
    "legal",
    "terms"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢x402_parse_payment_request(raw, transport)

Free. Decode one x402 v2 payment request (base64 PAYMENT-REQUIRED header, PaymentRequired JSON or MCP tool result) and list every accepts option with exact atomic and decimal amounts. Token addresses are compared with a limited reference list. status: parsed, ambiguous (options differ in recipient, network or amount; none is chosen), malformed or unsupported. Does not verify the merchant, authorize a transfer, assess fraud risk, or guarantee any payment. URLs in the input are never fetched.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "raw": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 90000
        },
        {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        }
      ],
      "description": "The payment request. A string: the base64 PAYMENT-REQUIRED header value (a leading 'PAYMENT-REQUIRED:' is allowed) or JSON text. An object: the PaymentRequired JSON, or for transport mcp the tool result (structuredContent, _meta x402/error or content[0].text)."
    },
    "transport": {
      "default": "http",
      "description": "Where the request came from: http (402 response) or mcp (paid tool result). Default http.",
      "type": "string",
      "enum": [
        "http",
        "mcp"
      ]
    }
  },
  "required": [
    "raw"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "parsed",
        "malformed",
        "unsupported",
        "ambiguous"
      ],
      "description": "parsed = the checked x402 v2 structure had no defects (not a statement about the merchant or whether to pay). ambiguous = options differ in recipient, network or amount; none was chosen. malformed / unsupported = could not be fully read."
    },
    "mode": {
      "type": "string",
      "enum": [
        "paid",
        "free"
      ]
    },
    "note": {
      "type": "string"
    },
    "checked_scope": {
      "type": "object",
      "properties": {
        "profile": {
          "type": "string"
        },
        "transport": {
          "type": "string"
        },
        "registry_version": {
          "type": "string"
        },
        "performed": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "not_performed": {
          "type": "array",
          "items": {}
        }
      },
      "required": [
        "profile",
        "transport",
        "registry_version",
        "performed",
        "not_performed"
      ],
      "additionalProperties": {}
    },
    "decoded_from": {
      "type": [
        "string",
        "null"
      ]
    },
    "payment_required_location": {},
    "parsed": {
      "anyOf": [
        {
          "type": "object",
          "properties": {},
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ],
      "description": "The decoded request with every accepts option (null unless status is parsed or ambiguous)."
    },
    "comparisons": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          }
        },
        "required": [
          "field",
          "outcome"
        ],
        "additionalProperties": {}
      }
    },
    "mismatches": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          }
        },
        "required": [
          "field"
        ],
        "additionalProperties": {}
      }
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "accept_index": {
            "type": [
              "number",
              "null"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "accept_index",
          "message"
        ],
        "additionalProperties": {}
      }
    },
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "accept_index": {
            "type": [
              "number",
              "null"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "accept_index",
          "message"
        ],
        "additionalProperties": {}
      }
    },
    "unsupported": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "accept_index": {
            "type": [
              "number",
              "null"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "accept_index",
          "message"
        ],
        "additionalProperties": {}
      }
    },
    "evidence": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "input",
              "request",
              "registry",
              "derived"
            ]
          }
        },
        "required": [
          "id",
          "kind"
        ],
        "additionalProperties": {}
      }
    },
    "provenance": {
      "type": "object",
      "properties": {
        "registry_version": {
          "type": "string"
        },
        "registry_sources": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {},
            "additionalProperties": {}
          }
        },
        "note": {
          "type": "string"
        }
      },
      "required": [
        "registry_version",
        "registry_sources",
        "note"
      ],
      "additionalProperties": {},
      "description": "Version and sources of the bundled asset table."
    },
    "terms": {
      "type": "string",
      "description": "URL of the terms of service."
    }
  },
  "required": [
    "status",
    "mode",
    "note",
    "checked_scope",
    "decoded_from",
    "payment_required_location",
    "parsed",
    "comparisons",
    "mismatches",
    "warnings",
    "errors",
    "unsupported",
    "evidence",
    "provenance",
    "terms"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢x402_known_assets

Free. The limited reference list this server compares token addresses with: known assets (network, contract, symbol, decimals) with sources and check dates, known CAIP-2 networks, scheme names from the x402 specs, and payment flows. A table match is not proof that an asset or a merchant is genuine.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "registry_version": {
      "type": "string"
    },
    "assets": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "network": {
            "type": "string"
          },
          "asset": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "decimals": {
            "type": "number"
          }
        },
        "required": [
          "network",
          "asset",
          "symbol",
          "decimals"
        ],
        "additionalProperties": {}
      },
      "description": "Known assets per CAIP-2 network."
    },
    "networks": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "schemes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "payment_flows": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "provenance": {
      "type": "object",
      "properties": {
        "registry_version": {
          "type": "string"
        },
        "registry_sources": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {},
            "additionalProperties": {}
          }
        },
        "note": {
          "type": "string"
        }
      },
      "required": [
        "registry_version",
        "registry_sources",
        "note"
      ],
      "additionalProperties": {},
      "description": "Version and sources of the bundled asset table."
    },
    "terms": {
      "type": "string",
      "description": "URL of the terms of service."
    }
  },
  "required": [
    "registry_version",
    "assets",
    "networks",
    "schemes",
    "payment_flows",
    "provenance",
    "terms"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}
🟢get_receipt(receipt_id)

Re-fetch the stored result of a settled paid call by its receipt_id, for when the response was lost after payment. Free. Unknown or unsettled receipt ids return RECEIPT_NOT_FOUND. Results are kept for 90 days after settlement.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "receipt_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "The receipt_id returned with a paid result (\"rcpt_\" + 64 hex characters)."
    }
  },
  "required": [
    "receipt_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "receipt_id": {
      "type": "string",
      "description": "Receipt id of the settled paid call (\"rcpt_\" + 64 hex). Use with get_receipt."
    },
    "tool": {
      "type": "string",
      "description": "Name of the paid tool that produced the result."
    },
    "settled_at": {
      "type": [
        "string",
        "null"
      ]
    },
    "payment": {
      "type": "object",
      "properties": {
        "network": {
          "type": [
            "string",
            "null"
          ]
        },
        "transaction": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "network",
        "transaction"
      ],
      "additionalProperties": {}
    },
    "result": {
      "description": "The stored result, exactly as returned by the paid call."
    },
    "provenance": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "source": {
            "type": "object",
            "properties": {
              "publisher": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "publisher",
              "url"
            ],
            "additionalProperties": {},
            "description": "Publisher and URL of the upstream document or dataset."
          },
          "upstream_updated_at": {
            "description": "Update time stated by the upstream, or null when it states none.",
            "type": [
              "string",
              "null"
            ]
          },
          "retrieved_at": {
            "description": "When this service retrieved the upstream data (null if unknown).",
            "type": [
              "string",
              "null"
            ]
          },
          "content_sha256": {
            "type": [
              "string",
              "null"
            ]
          },
          "parser_version": {
            "type": "string"
          },
          "fetch_status": {
            "type": "string",
            "enum": [
              "found",
              "empty",
              "stale",
              "unavailable",
              "unsupported"
            ],
            "description": "found / empty / stale / unavailable / unsupported (see catalog fetch_status_values)."
          },
          "processed_by": {
            "type": "string"
          }
        },
        "required": [
          "source",
          "upstream_updated_at",
          "retrieved_at",
          "content_sha256",
          "parser_version",
          "fetch_status",
          "processed_by"
        ],
        "additionalProperties": {},
        "description": "Freshness receipt for one upstream source."
      },
      "description": "Freshness receipts for every upstream source used."
    },
    "terms": {
      "type": "string",
      "description": "URL of the terms of service."
    }
  },
  "required": [
    "receipt_id",
    "tool",
    "settled_at",
    "payment",
    "result",
    "provenance",
    "terms"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet4 Tools