io.github.ukenal/x402ai-mcp is an MCP server that pay-per-call AI tools (embed, summarize, ask) from x402ai, paid in USDC on Base via x402. Its tool list has not been published yet over stdio and sse, requires no API key, and scores 61/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients - only the file and path differ.
{
"mcpServers": {
"x402ai": {
"env": {
"X402AI_MAX_SESSION_USD": "0.25",
"X402AI_BUYER_PRIVATE_KEY": "0x..."
},
"args": [
"-y",
"x402ai-mcp"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Pay-per-call AI tools (embed, summarize, ask) from x402ai, paid in USDC on Base via x402.
Run this in your terminal to verify the server starts. Then let us know if it worked - your result helps other developers.
npx -y 'x402ai-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories - click any category to see the underlying evidence.
No known CVEs.
Checked x402ai-mcp against OSV.dev.
Be the first to review
Have you used this server?
Share your experience - it helps other developers decide.
Sign in to write a review.
Others in ai-ml / writing
A cross-platform desktop application for managing AI Agents and MCP Servers. 一款用于管理AI智能体与MCP服务器的跨平台桌面应用程序。
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
An open-source AI agent that brings the power of Gemini directly into your terminal.
🛡️ BLA (Blind LLM Agents) — Adversarial defense shield that protects binaries, Electron apps, JS bundles, Python, and WebAssembly against AI reverse-engineering agents like REA. Poison -> Exhaust -> Hallucinate.
MCP Security Weekly
Get CVE alerts and security updates for io.github.ukenal/x402ai-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A local MCP server that lets AI clients (Claude Desktop, Claude Code, Cursor and others) call the paid x402ai endpoints, paying per call in USDC on Base through the x402 protocol, plus a free inspector for any x402 endpoint.
It runs on your machine over stdio. You give it a buyer key; it answers each HTTP 402 payment challenge by signing a USDC authorization, and returns the result. Nothing is hosted for you and no account is needed.
| Tool | Cost | What it does |
|---|---|---|
embed | $0.01 | 768-dimension text embedding (nomic-embed-text) |
summarize | $0.02 | Summary of the input text (small local LLM) |
ask | $0.04 | Short answer, 2-3 sentences; no web access, no memory, can be wrong |
health | free | x402ai service status, plus this session's spend and remaining cap |
inspect | free | Takes a URL: decodes its 402 challenge, runs Coinbase's x402 validator and a Bazaar merchant lookup |
Paid tools take one input string of up to 3,000 characters. health and inspect need no key.
This server holds a private key that can spend money. Use a new wallet that exists only for this, funded with a few dollars of USDC on Base at most. Payments are gasless for the payer (EIP-3009), so the wallet needs USDC only, no ETH. Never use a wallet that holds anything you can't afford to lose. The wallet balance is your real spending limit.
This server asks for a key that can spend money, and fake "x402 MCP" packages that steal keys have been reported. Don't take this README's word for it: the claims below are meant to be checked.
X402AI_BUYER_PRIVATE_KEY and used only to sign
payment authorizations locally, and it is scrubbed from error messages. It stays in this process's environment and
memory while the server runs, so anything that can read those (other code in this process, other programs running as
your user, your client's config file) can read the key. Clearing the variable inside the process would not change
that, because Linux keeps a process's starting environment readable under /proc.https://api.x402ai.dev: the paid tools and health. Signed authorizations go only here, only for the calling
tool's own route and price, and expire within 300 seconds.https://api.cdp.coinbase.com: only when you run inspect (Coinbase's validator and merchant lookup).inspect: one unpaid request (with a fixed body for POST). Nothing is signed.src/ (about 660 lines), built with tsc into dist/. The published
package contains only dist/, this README, LICENSE and package.json.package-lock.json
records the exact set that was tested. No dependency runs an install script. All dependencies have verified npm
registry signatures (npm audit signatures). The x402 client is @x402/fetch 2.29.0, with a per-payment cap set in
code.How to check: compare the published files with the source (npm pack x402ai-mcp@<version> downloads the exact
tarball for inspection), confirm the package name is exactly x402ai-mcp, and read src/.
Don't run unvetted MCP servers in the same client as a funded key. Any other program running as your us