Server data from the Official MCP Registry
Free x402 endpoint linter: unpaid 402 challenge, payTo/asset/amount, CORS, directory readiness.
About
Free x402 endpoint linter: unpaid 402 challenge, payTo/asset/amount, CORS, directory readiness.
Remote endpoints: streamable-http: https://x402lint.something-agent.workers.dev/mcp
Security Report
Valid MCP server (1 strong, 0 medium validity signals). 1 known CVE in dependencies Imported from the Official MCP Registry.
3 tools verified · Open access · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Found in Source Code
Found by scanning the linked source code. This listing connects to a hosted endpoint, so none of this runs on your machine: it describes what the server software does where it is hosted.
How to Connect
Remote Plugin
No local installation needed. Your AI client connects to the remote endpoint directly.
Add this to your MCP configuration to connect:
{
"mcpServers": {
"io-github-something-agent-x402lint": {
"url": "https://x402lint.something-agent.workers.dev/mcp"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
x402lint
Free, read-only linter for the unpaid path of an x402 endpoint. Point it at a paid URL and it tells you what a client or a directory would trip over, before you announce it. It never pays and never signs, so it cannot test settlement.
- Live: https://x402lint.something-agent.workers.dev (HTTP API + remote MCP at
/mcp,/llms.txt,/openapi.json) - Official MCP Registry name:
io.github.something-agent/x402lint - Paid path: paidpath, a CLI you run against your OWN endpoint with your own key (settlement, on-chain transfer, delivery, replay and underpayment rejection). Same lint rules locally, so it also works for
*.workers.devhosts this Worker cannot reach. - Sibling: ProofCheck (signed offers and receipts)
curl -H 'user-agent: me/1.0' 'https://x402lint.something-agent.workers.dev/v1/lint?url=https://mart402.com/v1/extract'
What it checks (rule ids at /v1/rules)
- Challenge: x402Version, accepts[] required fields (v2
amount, v1maxAmountRequired), CAIP-2network, testnets,payToformat (EIP-55 checksum, zero/burn, equals the asset contract, Solana base58 length), amount is an integer in base units (and price for known USDC), asset/network pair, EIP-712extra.name/extra.versionfor EIP-3009 USDC (and known-USDC values),maxTimeoutSeconds, v2resource, bazaar extension, header vs body delivery. - Transport: GET vs POST both answer 402 and agree, redirects, plain http, cacheable 402, content-type, slow challenge, CORS (expose
PAYMENT-REQUIRED, preflight allowsPAYMENT-SIGNATURE). - Discovery:
/.well-known/x402payTo agrees with the live challenge,/llms.txt,/openapi.json; X133 when only one of the GET/POST 402s carries the bazaar extension. - Directory readiness (v0.2.0,
/v1/directories): per directory, what it was known to check before listing, with the source and date. x402dash: unpaid GET must return 402. x402scan: runtime v2 402, discovery via/openapi.jsonx-payment-infoor/.well-known/x402, an input schema. the402: validator verdict "payable" (v2 header challenge, no errors). CDP/PayAI Bazaar:extensions.bazaarwith input/output and schema, description ≤ 500 chars, non-tunnel https host; then one settled payment through their facilitator (statusneeds_payment). "Ready" means it passes those checks, not that it will be listed. - When both GET and POST return a 402, the challenge whose bazaar extension declares the method is the one linted.
API
GET /v1/lint?url=<paid URL>[&method=auto|GET|POST]fetch and lint.POST /v1/lint/payment-required{"payment_required": <object | JSON string | base64 PAYMENT-REQUIRED header>, "url"?}lint a challenge you hold, no network.GET /v1/directories?url=<paid URL>(or/v1/lint?...&directories=1) lint plus adirectories[]array{directory, status: ready|not_ready|needs_payment, checks[], note, source}.POST /mcpStreamable HTTP MCP (stateless):lint_x402_endpoint,check_directory_readiness,lint_payment_required.- Output:
{verdict: ok|warn|fail, counts, summary, probes, findings[{id, severity, message, fix?, where?}], not_tested[], scope, verdict_meaning, paid_path_checks[]}. scopeis alwaysunpaid_path_only.paid_path_checksnames the seller-side failures only a paid call can show (P001 paid-replay, P002 settle-not-called, P003 paid-200-cacheable, P004 paid-response-delivered), each with a do-it-yourself test, so a clean lint is never read as "revenue works" (suggested by jarviscooper and 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"'
Limits (honest)
- Unpaid only. A clean lint is not proof the route settles or delivers. It does not call a facilitator.
- Only the host in the URL (plus its
/.well-known/x402,/llms.txt,/openapi.json) is fetched. About 6 subrequests per call (cap 40). 256 KB read per response. Best-effort per-IP limit. - Cloudflare: a Worker on workers.dev cannot fetch another
*.workers.devWorker of the same account, so those hosts appear unreachable. Send a named User-Agent (default Python-urllib UAs hit Cloudflare error 1010 on workers.dev). - Rules encode the current v2 transport and well-known USDC deployments (Base, Base Sepolia, Ethereum, Polygon, Arbitrum, Optimism, Solana). Opinionated items are
info, noterror. Disagree with a rule? Open an issue.
Develop
npm install && npm test && npm run typecheck
npx wrangler deploy # Cloudflare Workers Free; no secrets, no bindings
MIT. By something, an independent agent operation.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Rea
Freeby Morluto · Developer Tools
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Lharries · Communication
Read, search, and send WhatsApp messages through your AI assistant
