Lumière PayCheck
Check any x402 endpoint before your AI agent pays it: trust grade, verdict, and hijack checks.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"paycheck": {
"url": "https://lumierepaycheck.org/mcp"
}
}
}원격 엔드포인트
https://lumierepaycheck.org/mcpstreamable-http할 수 있는 일
도구 목록
도구 (6)
🟢check_endpoint(url)
Get the trust verdict for one x402 endpoint: score (0-100), grade (A-F), and verdict (proceed, caution, avoid, free, or insufficient_data), plus uptime, delivery-test status, and payout-wallet incidents. Use it when you're deciding whether an endpoint is trustworthy at all, before you have a price quote. When you already have the 402 quote (amount and payTo) and are about to pay, use check_payment instead: it runs this same check and also verifies the price and wallet. To discover good endpoints rather than check a known one, use top_endpoints. Read-only and free; reflects monitoring every 30 minutes and real test payments, so a brand-new endpoint may return insufficient_data. Endpoints not in the catalog return monitored: false. API docs: https://github.com/Book0fEli/lumiere-paycheck/blob/main/docs/api.md
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Full URL of the x402 endpoint including path, exactly as the agent will call it, e.g. https://api.example.com/v1/price."
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The endpoint checked"
},
"monitored": {
"type": "boolean",
"description": "false if the endpoint isn't in the monitored catalog"
},
"verdict": {
"type": "string",
"description": "proceed | caution | avoid | free | insufficient_data"
},
"advice": {
"description": "What the verdict means for paying it",
"type": "string"
},
"score": {
"description": "0-100; null for free resources",
"type": [
"number",
"null"
]
},
"grade": {
"description": "A-F, or ? with too little data",
"type": "string"
},
"delivery": {
"description": "verified = a real test payment was delivered; failing; or unverified",
"type": "string"
},
"uptimePct": {
"description": "Share of checks in the last 7 days that returned a valid payment quote",
"type": "number"
},
"probes": {
"description": "Checks counted in the last 7 days",
"type": "number"
},
"walletIncidents": {
"description": "Unexplained payout-wallet changes",
"type": "number"
},
"walletUnconfirmed": {
"description": "Recent wallet changes nobody could confirm yet",
"type": "number"
},
"valuesChecked": {
"description": "Latest paid check also passed known-answer value tests",
"type": "boolean"
},
"payToMode": {
"description": "fixed, or per_request when the seller issues a new payout address per request",
"type": "string"
},
"page": {
"description": "Public page with the full history",
"type": "string"
},
"forTeams": {
"description": "Short note about team plans (per-agent keys, spend limits, audit trail)",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"plans": {
"type": "string"
},
"url": {
"type": "string",
"description": "Plans and checkout"
},
"enterprise": {
"type": "string",
"description": "Private enterprise inquiry form"
},
"freeKey": {
"type": "string"
}
},
"required": [
"message",
"plans",
"url",
"enterprise"
],
"additionalProperties": false
}
},
"required": [
"url",
"monitored",
"verdict"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢check_payment(url, amount, payTo, network, maxAmount, ...)
Decide whether a specific x402 payment should go through: returns allow true/false with reasons. Checks the endpoint's trust verdict, that the amount is within your cap and not above the monitored price, and that the payTo wallet matches the one we've observed (catches swapped or hijacked wallets). Intended for right before a payment, with the amount, payTo, and network from the endpoint's 402 quote; allow is true only when every rule passes. Use check_endpoint instead if you only want an endpoint's grade without a quote in hand. Read-only and free; it doesn't make or block the payment itself. When allow is false, the reasons list explains why. API docs: https://github.com/Book0fEli/lumiere-paycheck/blob/main/docs/api.md
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Full URL of the x402 endpoint you are about to pay, including path"
},
"amount": {
"description": "Amount about to be paid, atomic units (USDC has 6 decimals: 10000 = $0.01)",
"type": "string"
},
"payTo": {
"description": "Wallet address from the endpoint's 402 quote",
"type": "string"
},
"network": {
"description": "Network from the quote, e.g. eip155:8453",
"type": "string"
},
"maxAmount": {
"description": "Your hard cap for this payment in atomic units (USDC: 1000000 = $1). Payments above it are denied.",
"type": "string"
},
"requireVerified": {
"description": "true = only allow endpoints that delivered on a real test payment (default false)",
"type": "boolean"
},
"allowCaution": {
"description": "false = deny endpoints with a caution verdict too, not just avoid (default true)",
"type": "boolean"
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"allow": {
"type": "boolean",
"description": "Pay only when true"
},
"reasons": {
"type": "array",
"items": {
"type": "string"
},
"description": "Why it was allowed or denied"
},
"reviewable": {
"description": "Denied only for reasons a person may approve",
"type": "boolean"
},
"monitored": {
"type": "boolean",
"description": "Whether the endpoint is in the monitored catalog"
},
"url": {
"type": "string"
},
"verdict": {
"description": "proceed | caution | avoid | free | insufficient_data",
"type": [
"string",
"null"
]
},
"grade": {
"type": "string"
},
"score": {
"type": [
"number",
"null"
]
},
"delivery": {
"type": "string"
},
"payToMode": {
"type": "string"
},
"walletUnconfirmed": {
"type": "number"
},
"declaredPayTo": {
"description": "Payout wallets the seller declared itself",
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"observed": {
"description": "The latest payment quote our monitor saw",
"anyOf": [
{
"type": "object",
"properties": {
"payTo": {
"type": [
"string",
"null"
]
},
"amount": {
"type": [
"string",
"null"
]
},
"network": {
"type": [
"string",
"null"
]
},
"seenAt": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"forTeams": {
"description": "Short note about team plans (per-agent keys, spend limits, audit trail)",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"plans": {
"type": "string"
},
"url": {
"type": "string",
"description": "Plans and checkout"
},
"enterprise": {
"type": "string",
"description": "Private enterprise inquiry form"
},
"freeKey": {
"type": "string"
}
},
"required": [
"message",
"plans",
"url",
"enterprise"
],
"additionalProperties": false
}
},
"required": [
"allow",
"reasons",
"monitored"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟡report_outcome(receipt, outcome, problems, httpStatus, tx)
Report whether a paid x402 call delivered a usable response, using the receipt from a Lumière PayCheck allow decision (the paid /v1/authorize API). Applies only to payments made with such a receipt, within 24 hours; reporting is optional. Not for checking endpoints (use check_endpoint or check_payment). Records one vote per buyer and payment within 24 hours of the decision; repeats are ignored. Problem reports from several independent buyers trigger a paid re-test, and only that re-test can change a grade.
입력 스키마
{
"type": "object",
"properties": {
"receipt": {
"type": "string",
"description": "The receipt returned with the 'allow' decision"
},
"outcome": {
"type": "string",
"enum": [
"delivered",
"problem"
],
"description": "delivered = the response was usable; problem = error, empty, or wrong shape"
},
"problems": {
"description": "Short descriptions, e.g. 'missing field price', 'HTTP 500'",
"type": "array",
"items": {
"type": "string"
}
},
"httpStatus": {
"description": "HTTP status the endpoint returned after payment, e.g. 200 or 500",
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"tx": {
"description": "Settlement transaction hash, if known (0x...)",
"type": "string"
}
},
"required": [
"receipt",
"outcome"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"accepted": {
"type": "boolean",
"description": "Whether the report was recorded"
},
"reason": {
"description": "Why it wasn't accepted",
"type": "string"
},
"url": {
"type": "string"
},
"outcome": {
"type": "string"
},
"retestQueued": {
"description": "A paid re-test was queued because of reports",
"type": "boolean"
},
"thanks": {
"type": "string"
},
"forTeams": {
"description": "Short note about team plans (per-agent keys, spend limits, audit trail)",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"plans": {
"type": "string"
},
"url": {
"type": "string",
"description": "Plans and checkout"
},
"enterprise": {
"type": "string",
"description": "Private enterprise inquiry form"
},
"freeKey": {
"type": "string"
}
},
"required": [
"message",
"plans",
"url",
"enterprise"
],
"additionalProperties": false
}
},
"required": [
"accepted"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢top_endpoints(limit)
List the x402 endpoints that are currently safest to pay (verdict proceed or caution, no payout-wallet incidents), best first, with score, grade, verdict, and whether a real test payment was delivered. Use it to discover reliable endpoints or pick between providers. To evaluate one specific endpoint use check_endpoint; to approve a payment use check_payment. Read-only and free; rankings update as monitoring runs (every 30 minutes).
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"description": "How many endpoints to return, 1-50 (default 10)",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"count": {
"type": "number"
},
"endpoints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"score": {
"type": [
"number",
"null"
]
},
"grade": {
"type": "string"
},
"verdict": {
"type": "string",
"description": "proceed | caution | avoid | free | insufficient_data"
},
"delivery": {
"type": "string"
}
},
"required": [
"url",
"score",
"grade",
"verdict",
"delivery"
],
"additionalProperties": false
},
"description": "Best first"
},
"forTeams": {
"description": "Short note about team plans (per-agent keys, spend limits, audit trail)",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"plans": {
"type": "string"
},
"url": {
"type": "string",
"description": "Plans and checkout"
},
"enterprise": {
"type": "string",
"description": "Private enterprise inquiry form"
},
"freeKey": {
"type": "string"
}
},
"required": [
"message",
"plans",
"url",
"enterprise"
],
"additionalProperties": false
}
},
"required": [
"count",
"endpoints"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢catalog_stats
Get an overview of the whole monitored x402 catalog: how many endpoints are monitored, how many fall into each verdict (proceed, caution, avoid, free, insufficient_data), and when scores were last computed. Use it for context or reporting, for example to tell a user how much of the x402 ecosystem passes checks. It says nothing about any single endpoint: use check_endpoint for one endpoint, top_endpoints for a ranked list, or check_payment before paying. Read-only, free, no parameters.
입력 스키마
{
"type": "object",
"properties": {}
}출력 스키마
{
"type": "object",
"properties": {
"scoredAt": {
"description": "When scores were last computed",
"type": [
"string",
"null"
]
},
"endpoints": {
"type": "number",
"description": "Endpoints monitored"
},
"byVerdict": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
},
"description": "Endpoint count per verdict"
},
"forTeams": {
"description": "Short note about team plans (per-agent keys, spend limits, audit trail)",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"plans": {
"type": "string"
},
"url": {
"type": "string",
"description": "Plans and checkout"
},
"enterprise": {
"type": "string",
"description": "Private enterprise inquiry form"
},
"freeKey": {
"type": "string"
}
},
"required": [
"message",
"plans",
"url",
"enterprise"
],
"additionalProperties": false
}
},
"required": [
"scoredAt",
"endpoints",
"byVerdict"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_full_report(url)
Get instructions for buying the detailed paid report on one x402 endpoint (score breakdown, current price quote, wallet and price history, test-payment results). Returns the report URL, price, and network; it doesn't buy the report itself. The report is an x402 endpoint that your agent pays with any x402 client. Use it only when the free check_endpoint result isn't enough and the user wants the full history. Endpoints we don't monitor return 404 on the report URL and are never charged. API docs: https://github.com/Book0fEli/lumiere-paycheck/blob/main/docs/api.md
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Full URL of the x402 endpoint you want the paid report for, including path"
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}출력 스키마
{
"type": "object",
"properties": {
"available": {
"description": "false when paid reports aren't enabled",
"type": "boolean"
},
"reportUrl": {
"description": "Request this URL with an x402 client to buy the report",
"type": "string"
},
"price": {
"type": "string"
},
"network": {
"type": "string"
},
"payment": {
"type": "string"
},
"note": {
"type": "string"
},
"forTeams": {
"description": "Short note about team plans (per-agent keys, spend limits, audit trail)",
"type": "object",
"properties": {
"message": {
"type": "string"
},
"plans": {
"type": "string"
},
"url": {
"type": "string",
"description": "Plans and checkout"
},
"enterprise": {
"type": "string",
"description": "Private enterprise inquiry form"
},
"freeKey": {
"type": "string"
}
},
"required": [
"message",
"plans",
"url",
"enterprise"
],
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}커뮤니티
증거