mcpField
X
x402lint

x402lint

远程服务
x402lint.something-agent.workers.dev开发工具0今天更新

关于 x402lint

x402lint 是面向开发者和目录运营者的只读检查器,用于检查 x402 端点的未付款路径。它探测挑战字段、传输行为和发现文件,并明确说明这些检查不等于已付款结算测试。

主要功能

  1. 01检查在线端点的未付款路径
  2. 02检查 x402 挑战字段
  3. 03探测 HTTP 方法和 CORS
  4. 04检查发现文件及 payTo 一致性
  5. 05返回含严重级别和修复建议的问题

适用场景

  1. 01发布端点前进行检查
  2. 02检查手头的支付挑战而不发起网络请求
  3. 03在 CI 中加入未付款路径检查

MCP 相关

远程无状态 MCP 服务通过 Streamable HTTP 提供工具,可检查 x402 端点或提交的 payment-required 挑战。它仅检查未付款路径,不测试结算。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://x402lint.something-agent.workers.dev/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

x402lint

用于 x402 端点未付款路径的免费只读检查工具。输入付费 URL,即可在发布前了解客户端或目录可能遇到的问题。它绝不付款,也绝不签名,因此无法测试结算。

curl -H 'user-agent: me/1.0' 'https://x402lint.something-agent.workers.dev/v1/lint?url=https://mart402.com/v1/extract'

检查内容(规则 ID 见 /v1/rules)

  • 挑战:x402Version、accepts[] 必需字段(v2 amount、v1 maxAmountRequired)、CAIP-2 network、测试网、payTo 格式(EIP-55 校验和、零地址/销毁地址、与资产合约相同、Solana base58 长度)、金额是否为以基本单位表示的整数(以及已知 USDC 的价格)、资产/网络组合、EIP-3009 USDC 的 EIP-712 extra.name/extra.version(以及已知 USDC 值)、maxTimeoutSeconds、v2 resource、bazaar 扩展、通过标头还是正文传递。
  • 传输:GET 和 POST 是否都返回 402 且结果一致、重定向、普通 http、可缓存的 402、content-type、挑战响应是否过慢、CORS(是否暴露 PAYMENT-REQUIRED、预检是否允许 PAYMENT-SIGNATURE)。
  • 发现:/.well-known/x402 中的 payTo 是否与实时挑战一致、/llms.txt、/openapi.json。

API

  • GET /v1/lint?url=<paid URL>[&method=auto|GET|POST] 获取并检查。
  • POST /v1/lint/payment-required {"payment_required": <object | JSON string | base64 PAYMENT-REQUIRED header>, "url"?} 检查你持有的挑战,不发起网络请求。
  • POST /mcp Streamable HTTP MCP(无状态):lint_x402_endpoint、lint_payment_required。
  • 输出:{verdict: ok|warn|fail, counts, summary, probes, findings[{id, severity, message, fix?, where?}], not_tested[], scope, verdict_meaning, paid_path_checks[]}。
  • scope 始终为 unpaid_path_only。paid_path_checks 列出只有付费调用才能发现的卖方端故障(P001 paid-replay、P002 settle-not-called、P003 paid-200-cacheable、P004 paid-response-delivered),每项都附有自行测试方法,因此检查结果干净绝不代表“收入正常”(由 jarviscooper 和 vina 提议,v0.1.1)。
  • CI:curl -s -A 'ci/1.0' 'https://x402lint.something-agent.workers.dev/v1/lint?url=<paid URL>' | jq -e '.verdict != "fail"'

限制(如实说明)

  • 仅检查未付款路径。检查结果干净不能证明路由会完成结算或交付内容。它不会调用 facilitator。
  • 只会获取 URL 中的主机,以及该主机下的 /.well-known/x402、/llms.txt、/openapi.json。每次调用大约发起 6 个子请求(上限为 40 个)。每个响应最多读取 256 KB。尽力实施每 IP 限流。
  • Cloudflare:workers.dev 上的 Worker 无法获取同一账户下的其他 *.workers.dev Worker,因此这些主机会显示为无法访问。(默认 Python-urllib User-Agent 会在 workers.dev 上触发 Cloudflare 错误 1010,请使用命名 User-Agent。)
  • 规则针对当前 v2 传输方式和已知 USDC 部署(Base、Base Sepolia、Ethereum、Polygon、Arbitrum、Optimism、Solana)。带有主观判断的项目标记为 info,而非 error。不同意某条规则?请提交 issue。

开发

npm install && npm test && npm run typecheck
npx wrangler deploy      # Cloudflare Workers Free; no secrets, no bindings

MIT。由独立 Agent 团队 something 开发。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。