MCP server to purchase VPS and blockchain nodes on EasyNode with USDC via x402 payments
mcp-x402 is an early-stage Python project in the AI payments / x402 ecosystem. It currently has 7 GitHub stars and 1 forks.
MCP server for AI agents to purchase VPS and blockchain node products via Easy Node's x402 API with USDC on Base.
This package provides a Model Context Protocol (MCP) server that enables AI assistants to:
The x402 payment flow is handled automatically - the agent simply calls the tools and payments are processed seamlessly.
npx @easynodexyz/mcp-x402 setup
This interactive wizard will:
~/.easy-node/.envChoose your IDE and add the MCP server configuration.
/plugin add easynodexyz/mcp-x402
Full documentation available at x402.easy-node.xyz.
Add to your claude_desktop_config.json:
{
"mcpServers": {
"easynode-x402": {
"command": "npx",
"args": ["@easynodexyz/mcp-x402"]
}
}
}
Config file locations:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.config/Claude/claude_desktop_config.jsonAdd MCP server using the /mcp command:
claude /mcp add @easynodexyz/mcp-x402 -- npx @easynodexyz/mcp-x402
Or manually add to your Claude Code settings (~/.claude/settings.json):
{
"mcpServers": {
"easynode-x402": {
"command": "npx",
"args": ["@easynodexyz/mcp-x402"]
}
}
}
Config file locations:
~/.claude/settings.json%USERPROFILE%\.claude\settings.jsonAdd to your Cursor settings (.cursor/mcp.json in your project or global config):
{
"mcpServers": {
"easynode-x402": {
"command": "npx",
"args": ["@easynodexyz/mcp-x402"]
}
}
}
Config file locations:
.cursor/mcp.json in project root~/.cursor/mcp.json%USERPROFILE%\.cursor\mcp.jsonAdd to your Continue configuration (~/.continue/config.json):
{
"experimental": {
"modelContextProtocolServers": [
{
"transport": {
"type": "stdio",
"command": "npx",
"args": ["@easynodexyz/mcp-x402"]
}
}
]
}
}
For any MCP-compatible tool, use this stdio transport configuration:
| Field | Value |
|---|---|
| Command | npx |
| Args | ["@easynodexyz/mcp-x402"] |
| Transport | stdio |
With environment variables:
{
"command": "npx",
"args": ["@easynodexyz/mcp-x402"],
"env": {
"EASYNODE_PRIVATE_KEY": "0x...",
"EASYNODE_API_URL": "..."
}
}
Restart to load the MCP server.
Ask your AI assistant:
| Variable | Required | Default | Description |
|---|---|---|---|
EASYNODE_PRIVATE_KEY |
Yes | - | Wallet private key (0x...) |
EASYNODE_API_URL |
No | https://api.easy-node.xyz/api | API base URL |
EASYNODE_MAX_PAYMENT |
No | 100 | Max USDC per transaction |
Configuration is loaded from multiple sources (later overrides earlier):
~/.easy-node/.env - Global config./.env - Project-level configInstead of running setup, you can configure manually:
Option A: Pass env vars in MCP config
{
"mcpServers": {
"easynode-x402": {
"command": "npx",
"args": ["@easynodexyz/mcp-x402"],
"env": {
"EASYNODE_PRIVATE_KEY": "0x..."
}
}
}
}
Option B: Create config file manually
Create ~/.easy-node/.env:
EASYNODE_PRIVATE_KEY=0x...
EASYNODE_API_URL=https://api.easy-node.xyz/api
EASYNODE_MAX_PAYMENT=1000
List available VPS and blockchain node products with USDC pricing.
Parameters:
category (optional): Filter by "vps" or "node"Example:
List all VPS products available for purchase
Purchase a product using USDC on Base. Handles x402 payment automatically.
Parameters:
productId (required): Product ID to purchaseperiod (required): Subscription period in monthsquantity (optional): Number of instances (default: 1)customName (optional): Custom name for the instance (max 100 characters)Example:
Purchase 3 months of product abc123
Check the status of an existing order.
Parameters:
orderId (required): Order ID to look upExample:
Check status of order xyz789
List all instances owned by the wallet.
Example:
List all my instances
Get detailed instance information including connection details.
Parameters:
instanceId (required): Instance ID to look uptype (required): Instance type ("node" or "vps")Example:
Get connection details for VPS instance abc123
Renew an existing instance subscription.
Parameters:
instanceId (required): Instance ID to renewperiod (required): Renewal period in monthstype (required): Instance type ("node" or "vps")Example:
Renew my VPS instance abc123 for 3 months
Set or update the custom name of an instance.
Parameters:
instanceId (required): Instance ID to updatetype (required): Instance type ("node" or "vps")customName (required): Custom name (max 100 characters)Example:
Rename instance abc123 to "my-validator"
create_order with product detailsRun npx @easynodexyz/mcp-x402 setup or set the environment variable.
Increase EASYNODE_MAX_PAYMENT in your config or env vars.
The API endpoint may not support x402. Check you're using the correct API URL.
Found a bug or have a feature request? Please open an issue at github.com/easynodexyz/mcp-x402/issues.
BUSL-1.1