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
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
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-httpWas es kann
Tool-Inventar
Tools (4)
🟢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
Nachweis