x402tools MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@x402tools MCP ServerGenerate a QR code for https://example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
x402tools MCP Server
A Model Context Protocol server that gives AI agents 10 pay-per-call utility tools. Pay with USDC on Base via x402 protocol — agent's private key never leaves the agent.
🛠 Tools
Tool | Description | Price |
| Generate QR code from text/URL | $0.01 |
| Artistic QR with shapes & gradients | $0.05 |
| Website screenshot (dark mode, selectors) | $0.05 |
| DNS records (A, AAAA, MX, NS, TXT, SOA) | $0.02 |
| HTML/PDF → structured JSON | $0.01 |
| Detect prompt injection / jailbreak | $0.03 |
| Email validation + deliverability + risk | $0.03 |
| HTML/URL → PDF | $0.05 |
| Image → text via OCR | $0.05 |
| Name + domain → sales-ready buyer profile + cold-email opener | $0.50 |
🔌 Connect
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Hosted (HTTP):
{
"mcpServers": {
"x402tools": {
"url": "https://mcp.x402tools.xyz/mcp"
}
}
}Local (stdio with auto-pay convenience):
{
"mcpServers": {
"x402tools": {
"command": "npx",
"args": ["-y", "@x402-tools/mcp"],
"env": {
"WALLET_PRIVATE_KEY": "0x..."
}
}
}
}Cursor
Edit ~/.cursor/mcp.json:
{
"mcpServers": {
"x402tools": {
"url": "https://mcp.x402tools.xyz/mcp"
}
}
}Windsurf
Settings → MCP Servers → Add:
{
"x402tools": {
"serverUrl": "https://mcp.x402tools.xyz/mcp"
}
}Cline (VS Code)
.vscode/mcp.json:
{
"mcpServers": {
"x402tools": {
"url": "https://mcp.x402tools.xyz/mcp"
}
}
}Continue.dev
~/.continue/config.json:
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "streamable-http",
"url": "https://mcp.x402tools.xyz/mcp"
}
}
]
}
}OpenAI Agents SDK / Responses API
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-4o",
tools=[{
"type": "mcp",
"server_label": "x402tools",
"server_url": "https://mcp.x402tools.xyz/mcp",
"require_approval": "never"
}],
input="Generate a QR code for https://x402tools.xyz"
)Gemini / Google ADK
from google.genai import types
config = types.GenerateContentConfig(
tools=[types.Tool(mcp_server={"url": "https://mcp.x402tools.xyz/mcp"})]
)💸 Payment Model
This server uses payment passthrough — the MCP server holds NO wallet. Each agent provides their own signed payment per call.
Flow:
Agent calls a tool without payment → MCP returns
402 + payment requirementsAgent signs the payment locally with their wallet (hardware wallet, MPC, smart wallet, or private key)
Agent retries the tool with
_paymentargument orPAYMENT-SIGNATUREHTTP headerMCP forwards the signed payment to the underlying x402 service
Easiest signing: use @x402/fetch to wrap your fetch — it handles the 402 → sign → retry loop automatically:
import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.WALLET_PRIVATE_KEY);
const paidFetch = wrapFetchWithPaymentFromConfig(fetch, {
schemes: [{ network: "eip155:*", client: new ExactEvmScheme(account) }]
});
// Now calls to mcp.x402tools.xyz auto-pay on 402Manual signing (for hardware wallets, MPC, smart accounts):
Read
requirements.accepts[0]from the 402 responseUse
@x402/evm'sExactEvmScheme.createPaymentPayload(2, requirements)with yourClientEvmSignerWrap as v2 PaymentPayload:
{ x402Version: 2, payload, extensions: {}, resource, accepted }Base64-encode the JSON
Send as
PAYMENT-SIGNATUREHTTP header (or_paymenttool arg)
🏷 Protocol
Network: Base mainnet (
eip155:8453)Token: USDC (
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)Receiver:
0xcEbbB82a183Faa69b929eD1F417aAFc63fa3b5b6Header:
PAYMENT-SIGNATURE(x402 v2)
🔍 Discovery Endpoints
MCP server:
https://mcp.x402tools.xyz/mcpDiscovery JSON:
https://mcp.x402tools.xyz/.well-known/mcpHealth:
https://mcp.x402tools.xyz/healthMCP Registry:
io.github.acrylicfiddle/x402toolsnpm:
@x402-tools/mcpGitHub: acrylicfiddle/x402tools-mcp
🚀 Self-host
git clone https://github.com/acrylicfiddle/x402tools-mcp
cd x402tools-mcp
npm install
npm run build
PORT=4080 npm start
# MCP at http://localhost:4080/mcp📦 Publishing to MCP Registry
brew install mcp-publisher
mcp-publisher login github
mcp-publisher publish📜 License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
30 pay-per-call APIs for AI agents: compliance, trade, safety, web, data. USDC on Base via x402.
Pay-per-call web scraping for AI agents via x402 on Base USDC. Six tools, no signup.
Pay-per-call data tools for AI agents: crypto signal, web reader, SEO audit. x402 USDC on Base.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/acrylicfiddle/x402tools-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server