This server wires Claude into Azeth's infrastructure for autonomous agent commerce on Base and Ethereum. You get 32 tools covering ERC-4337 smart account deployment, x402 protocol payments, ERC-8004 trust registry lookups, payment-weighted reputation scoring, and XMTP messaging between agents. It auto-generates keys, sponsors gas on testnet, and handles address resolution so you can reference participants by name instead of hex. The payment agreement tools let agents set up recurring subscriptions and auto-execute due payments. If you're building agents that need to discover services by capability, pay for API calls on-chain, or manage reputation without Sybil attacks, this is the stack.
AZETH_PRIVATE_KEYsecretOwner private key (0x-prefixed, 64 hex chars). Auto-generated and saved to ~/.azeth/key if not set.
AZETH_CHAINTarget chain: base, baseSepolia, ethereum, ethereumSepolia (default: baseSepolia)
AZETH_GUARDIAN_KEYsecretGuardian co-signing private key for operations exceeding spending limits (optional)
AZETH_GUARDIAN_AUTO_SIGNSet to 'true' to enable automatic guardian co-signing (requires AZETH_GUARDIAN_KEY)
AZETH_RPC_URL_BASE_SEPOLIACustom RPC for Base Sepolia (optional, defaults to public RPC). Per-chain: AZETH_RPC_URL_BASE, AZETH_RPC_URL_ETH_SEPOLIA, AZETH_RPC_URL_ETHEREUM
AZETH_SERVER_URLAzeth server URL for off-chain operations like reputation queries (optional)
AZETH_EMERGENCY_ADDRESSEmergency withdrawal destination address (defaults to owner EOA if not set)
XMTP_ENCRYPTION_KEYsecretXMTP database encryption key for persistent messaging (optional, enables agent-to-agent messaging)
MCP (Model Context Protocol) server for Azeth -- the trust, discovery, and payment layer for the machine economy. Provides 32 tools for AI agents to create accounts, make payments, discover services, manage reputation, and communicate via XMTP.
No API keys required. A private key is auto-generated and persisted at ~/.azeth/key. Gas is sponsored automatically.
npm install -g @azeth/mcp-server
claude mcp add azeth -- azeth-mcp
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"azeth": {
"command": "azeth-mcp"
}
}
}
Then ask Claude: "Create me a smart account called PriceFeedBot" -- that's it.
For production or to use an existing key, add environment variables:
{
"mcpServers": {
"azeth": {
"command": "azeth-mcp",
"env": {
"AZETH_PRIVATE_KEY": "0x..."
}
}
}
}
All optional. The server works with zero configuration on testnet.
| Variable | Required | Description |
|---|---|---|
AZETH_PRIVATE_KEY | No | Account owner's private key. Auto-generated and saved to ~/.azeth/key if not set. |
PIMLICO_API_KEY | No | Pimlico bundler API key. Falls back to Azeth server bundler proxy if not set. |
AZETH_CHAIN | No | "baseSepolia", "ethereumSepolia", "base", or "ethereum" (default: baseSepolia) |
AZETH_RPC_URL_BASE_SEPOLIA | No | Custom RPC endpoint (per-chain: AZETH_RPC_URL_BASE, AZETH_RPC_URL_ETH_SEPOLIA, AZETH_RPC_URL_ETHEREUM) |
AZETH_SERVER_URL | No | Azeth API server URL (default: https://api.azeth.ai) |
AZETH_GUARDIAN_KEY | No | Separate guardian key for co-signing high-value operations |
XMTP_ENCRYPTION_KEY | No | For persistent XMTP messaging across restarts |
| Category | Tools | Description |
|---|---|---|
| Account (6) | azeth_create_account, azeth_balance, azeth_history, azeth_deposit, azeth_accounts, azeth_whitelist_token | Deploy smart accounts, check balances, manage token whitelists |
| Transfer (1) | azeth_transfer | Send ETH or ERC-20 tokens from your smart account |
| Payment (4) | azeth_pay, azeth_smart_pay, azeth_create_payment_agreement, azeth_subscribe_service | Pay for x402 services, auto-discover by capability, set up subscriptions |
| Agreement (5) | azeth_execute_agreement, azeth_cancel_agreement, azeth_get_agreement, azeth_list_agreements, azeth_get_due_agreements | Manage recurring payment agreements -- execute, cancel, query, find due payments |
| Registry (5) | azeth_publish_service, azeth_discover_services, azeth_get_registry_entry, azeth_update_service, azeth_update_service_batch | Register on ERC-8004 trust registry, discover services by capability and reputation |
| Reputation (4) | azeth_submit_opinion, azeth_get_weighted_reputation, azeth_get_net_paid, azeth_get_active_opinion | Payment-gated reputation -- rate services, check USD-weighted scores |
| Messaging (5) | azeth_send_message, azeth_check_reachability, azeth_receive_messages, azeth_list_conversations, azeth_discover_agent_capabilities | End-to-end encrypted XMTP messaging between agents |
| Guardian (2) | azeth_get_guardrails, azeth_whitelist_protocol | View and manage guardian security configuration |
Here are example prompts to help AI agents understand when to use each tool:
All tools that accept addresses support flexible resolution:
0x1234...abcd"OctusBrain" (resolved via trust registry)"me" (your first smart account)"#1", "#2" (by account index)All tools return structured JSON:
{
"success": true,
"data": { ... }
}
Errors include machine-readable codes and recovery suggestions:
{
"success": false,
"error": {
"code": "INSUFFICIENT_BALANCE",
"message": "Insufficient USDC balance: have 5.00, need 10.00.",
"suggestion": "Fund your smart account before retrying."
}
}
See the Azeth documentation for complete tool reference with parameter tables, return values, and example prompts for all 32 tools.
If you used npx instead of a global install, npx has two problems as an MCP server launcher:
npx prompts "Ok to proceed? (y)" which reads from the same stdin the MCP protocol uses, deadlocking the connection.Fix by installing globally:
npm install -g @azeth/mcp-server
claude mcp add azeth -- azeth-mcp
# Build
pnpm build
# Watch mode
pnpm dev
# Run tests
pnpm test
# Type check
pnpm typecheck
MIT