paidfor

Check an x402 seller before paying: verdict, failure rate and evidence from paid calls on Base.

我該用這個嗎

品質與安全性

A
說明品質
100%
結構描述完整度
94%
命名品質
90%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,215Token(工具定義)
~5.2 KB典型回應大小
中等的注意力影響(128k 上下文的 1.73%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "paidfor": {
      "command": "npx",
      "args": [
        "@paidfor/mcp"
      ]
    }
  }
}

可執行的套件

npm@paidfor/mcp0.4.0stdio

遠端端點

https://mcp.paidfor.dev/mcpstreamable-http

它能做什麼

工具清單

工具(4)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢check_x402_seller(url)

Call this before any x402 payment, before retrying a request that answered HTTP 402, or whenever the user is about to buy an API call with USDC on Base or names an API they intend to pay per call. Returns a verdict (avoid, caution, ok, unknown), one sentence to act on, the seller's paid-call count and failure rate with a 95% interval, listed price, modal quote and max overcharge ratio when known, and links to the seller page and raw evidence.

輸入結構描述

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 1,
      "description": "x402 resource URL, or a bare seller domain such as api.example.com"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "verdict": {
      "type": "string",
      "enum": [
        "avoid",
        "caution",
        "ok",
        "unknown"
      ]
    },
    "verdict_text": {
      "type": "string",
      "description": "One sentence to act on, with the evidence link"
    },
    "host": {
      "type": [
        "string",
        "null"
      ]
    },
    "seller": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "domain": {
              "type": "string"
            },
            "calls": {
              "type": "number"
            },
            "failures": {
              "type": "number"
            },
            "failure_rate": {
              "type": "number"
            },
            "wilson_low": {
              "type": "number",
              "description": "95% interval lower bound on the failure rate"
            },
            "wilson_high": {
              "type": "number",
              "description": "95% interval upper bound on the failure rate"
            },
            "by_type": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "number"
              },
              "description": "Failure counts by type (non_delivery, overcharge, duplicate, wrong_goods)"
            },
            "low_sample": {
              "type": "boolean"
            },
            "last_seen": {
              "type": "string"
            }
          },
          "required": [
            "domain",
            "calls",
            "failures",
            "failure_rate",
            "wilson_low",
            "wilson_high",
            "by_type",
            "low_sample",
            "last_seen"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ],
      "description": "Measured paid calls to this seller; null when the study never paid it"
    },
    "resource": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            },
            "method": {
              "type": "string"
            },
            "listed_price_usdc": {
              "type": [
                "string",
                "null"
              ]
            },
            "modal_quote_usdc": {
              "type": [
                "string",
                "null"
              ]
            },
            "max_quote_usdc": {
              "type": [
                "string",
                "null"
              ]
            },
            "max_overcharge_ratio": {
              "type": [
                "number",
                "null"
              ]
            },
            "calls": {
              "type": "number"
            },
            "failure_rate": {
              "type": "number"
            }
          },
          "required": [
            "url",
            "method",
            "listed_price_usdc",
            "modal_quote_usdc",
            "max_quote_usdc",
            "max_overcharge_ratio",
            "calls",
            "failure_rate"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ],
      "description": "Measured paid calls to this exact URL; null when not measured"
    },
    "probe": {
      "anyOf": [
        {
          "type": "object",
          "properties": {},
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ],
      "description": "Hourly unpaid probes of the seller's 402 quote; null when not probed"
    },
    "candidate": {
      "anyOf": [
        {
          "type": "object",
          "properties": {},
          "additionalProperties": {}
        },
        {
          "type": "null"
        }
      ],
      "description": "Queue state for a seller not yet measured; null otherwise"
    },
    "seller_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "evidence_url": {
      "type": [
        "string",
        "null"
      ]
    },
    "methodology_url": {
      "type": "string"
    },
    "generated_at": {
      "type": "string",
      "description": "When the index was generated"
    }
  },
  "required": [
    "verdict",
    "verdict_text",
    "host",
    "seller",
    "resource",
    "probe",
    "candidate",
    "seller_url",
    "evidence_url",
    "methodology_url",
    "generated_at"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢list_reliable_sellers(category, limit)

Call this when choosing among sellers for a task, or when the user asks for a safe or reliable API. Returns sellers with zero failures across at least 30 paid calls, most-called first. For each: domain, category, paid-call count, the 95% upper bound on its failure rate, median quoted price in USDC, USDC paid to it in the last 30 days, when it was last seen, and its paidfor seller page.

輸入結構描述

{
  "type": "object",
  "properties": {
    "category": {
      "description": "Kind of service to list sellers for; omit to list every kind",
      "type": "string",
      "enum": [
        "inference",
        "data",
        "scraping",
        "compute",
        "other"
      ]
    },
    "limit": {
      "description": "How many sellers to return, most-called first; 50 when omitted",
      "type": "integer",
      "minimum": 1,
      "maximum": 500
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "generated_at": {
      "type": "string",
      "description": "When the index was generated"
    },
    "sellers": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "calls": {
            "type": "number"
          },
          "failure_rate_upper_bound": {
            "type": "number",
            "description": "95% interval upper bound on the failure rate"
          },
          "median_quote_usdc": {
            "type": [
              "string",
              "null"
            ]
          },
          "inflow_30d_usdc": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_seen": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "description": "The seller's paidfor page"
          }
        },
        "required": [
          "domain",
          "category",
          "calls",
          "failure_rate_upper_bound",
          "median_quote_usdc",
          "inflow_30d_usdc",
          "last_seen",
          "url"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "generated_at",
    "sellers"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢recent_changes(host, since)

Call this when the user asks what changed, or before relying on a verdict older than a day. Returns recent changes, newest first: verdict changes, new failures by type, moved quotes, changed pay-to addresses, sellers added or reaching 30 paid calls, published seller replies, the operator-reported series maturing or disagreeing with ours. Each change has its time, type, seller domain, seller page and type-specific details (for example the old and new quote).

輸入結構描述

{
  "type": "object",
  "properties": {
    "host": {
      "description": "Seller to show changes for, as a bare domain such as api.example.com; omit for every seller",
      "type": "string",
      "minLength": 1
    },
    "since": {
      "description": "Show only changes after this time, in ISO 8601 (such as the generated_at of a verdict you already have); omit for the latest changes",
      "type": "string",
      "minLength": 1
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "count": {
      "type": "number",
      "description": "Matching changes the index returned (it caps the feed at the newest 500); events holds at most the newest 100"
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "at": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "host": {
            "type": "string"
          },
          "url": {
            "type": "string",
            "description": "The seller's paidfor page"
          },
          "data": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {},
            "description": "Type-specific details"
          }
        },
        "required": [
          "id",
          "at",
          "type",
          "host",
          "url",
          "data"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "count",
    "events"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
⚪report_x402_payment(url, tx_hash, outcome, quoted_usdc, http_status)

After your agent pays an x402 seller with any wallet, report what came back. Needs the resource URL, the settlement transaction hash and the outcome. Free, no account, no key; the report counts only with on-chain proof.

輸入結構描述

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "The x402 resource URL that was paid for"
    },
    "tx_hash": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{64}$",
      "description": "The settlement transaction hash on Base: the `transaction` field of the seller's PAYMENT-RESPONSE or X-PAYMENT-RESPONSE header (base64 JSON)"
    },
    "outcome": {
      "type": "string",
      "enum": [
        "ok",
        "non_delivery",
        "wrong_goods",
        "overcharge",
        "duplicate"
      ],
      "description": "What came back: ok (the response was usable for its purpose), non_delivery (an error, an empty body or nothing usable after paying), wrong_goods (a usable response, but not what was asked for), overcharge (charged more than the quoted or listed price), duplicate (two settlements for one purchase)"
    },
    "quoted_usdc": {
      "description": "The price the 402 quoted, in USDC, if known",
      "anyOf": [
        {
          "type": "number",
          "exclusiveMinimum": 0
        },
        {
          "type": "string",
          "pattern": "^\\d{1,12}(\\.\\d{1,6})?$"
        }
      ]
    },
    "http_status": {
      "description": "The HTTP status of the paid response, if known",
      "type": "integer",
      "minimum": 100,
      "maximum": 599
    }
  },
  "required": [
    "url",
    "tx_hash",
    "outcome"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "verified",
        "pending",
        "duplicate",
        "rejected"
      ],
      "description": "verified: counted once folded in (minutes); pending: checked on Base again within minutes; duplicate: this transaction was already reported; rejected: not counted, see reason"
    },
    "sentence": {
      "type": "string",
      "description": "The result in one sentence"
    },
    "reason": {
      "description": "Why a report was rejected; null otherwise",
      "type": [
        "string",
        "null"
      ]
    },
    "payer": {
      "description": "The paying wallet, read from the transaction (never from the report)",
      "type": [
        "string",
        "null"
      ]
    },
    "pay_to": {
      "type": [
        "string",
        "null"
      ]
    },
    "amount_usdc": {
      "description": "USDC moved, read from the transaction",
      "type": [
        "string",
        "null"
      ]
    },
    "verification_url": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "status",
    "sentence",
    "reason",
    "payer",
    "pay_to",
    "amount_usdc",
    "verification_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本4 個工具