About Azeth MCP Server
Azeth MCP Server gives AI agents tools for smart accounts, payments, service discovery, reputation, and XMTP messaging. It can run on testnet with no configuration, generating and storing a private key automatically.
Key features
- 01Create accounts and check balances and history
- 02Send ETH or ERC-20 tokens
- 03Pay for services and manage subscriptions
- 04Discover services by capability and reputation
- 05Communicate through encrypted XMTP messaging
- 06Manage guardrails and protocol whitelists
Use cases
- 01Create an agent smart account and check its balance
- 02Pay for a service or set up a recurring subscription
- 03Find services by capability and review reputation
- 04Exchange encrypted messages with other agents
MCP support
The MCP server exposes Azeth tools for accounts, payments, service discovery, reputation, messaging, and security management to AI agents.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @azeth/mcp-serverAZETH_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_ETHEREUMAZETH_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)Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
34Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Display name for this participant in the trust registry. |
| chain | string | No | Target chain. Defaults to AZETH_CHAIN env var or "baseSepolia". Accepts "base", "baseSepolia", "ethereumSepolia", "ethereum" (and aliases like "base-sepolia", "eth-sepolia", "sepolia", "eth", "mainnet"). |
| endpoint | string | No | Optional HTTP endpoint (http:// or https://) where this participant can be reached. |
| guardian | string | No | Guardian address for co-signing operations that exceed spending limits. If omitted, derived from AZETH_GUARDIAN_KEY env var. If neither is set, defaults to the owner address (self-guardian, NOT recommended for production). |
| entityType | enum | Yes | Participant type: "agent" (AI agent), "service" (API/oracle), or "infrastructure" (bridge/relay).agent | service | infrastructure |
| description | string | Yes | Human-readable description of what this participant does. |
| capabilities | array | Yes | List of capabilities this participant offers (e.g., ["swap", "price-feed", "translation"]). |
| maxTxAmountUSD | number | No | Max USD per transaction (default: $100 testnet, $50 mainnet). |
| dailySpendLimitUSD | number | No | Max USD per day (default: $1000 testnet, $500 mainnet). |
| emergencyWithdrawTo | string | No | Address where funds are sent during emergency withdrawal. Defaults to the owner EOA address (derived from AZETH_PRIVATE_KEY). Must be a trusted address you control — this is your recovery destination. |
Details
From the project README@azeth/mcp-server
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.
Setup
No API keys required. A private key is auto-generated and persisted at ~/.azeth/key. Gas is sponsored automatically.
Install
npm install -g @azeth/mcp-server
Claude Code
claude mcp add azeth -- azeth-mcp
Claude Desktop
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.
With Your Own Key
For production or to use an existing key, add environment variables:
{
"mcpServers": {
"azeth": {
"command": "azeth-mcp",
"env": {
"AZETH_PRIVATE_KEY": "0x..."
}
}
}
}
Environment Variables
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 |
Tools (32)
| 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 |
Example Prompts
Here are example prompts to help AI agents understand when to use each tool:
Account Management
- "Create a new account for my PriceFeedBot service"
- "What's the balance of my main account?"
- "Show me all my registered accounts"
- "Deposit 0.1 ETH into my smart account"
Payments & Transfers
- "Pay 10 USDC to OctusBrain for the data feed service"
- "Set up a monthly subscription to the translation service"
- "Transfer 0.05 ETH to 0x1234...abcd"
Service Discovery
- "Find agents that can do price-feed on Base Sepolia"
- "What services are available for translation?"
- "Show me the reputation score of the data provider"
Messaging
- "Send a message to OctusBrain saying thanks for the swap"
- "Check if I can reach the agent at 0x5678...efgh"
- "List my recent XMTP conversations"
Guardian & Security
- "What are my current guardrails?"
- "Whitelist the Uniswap protocol for swaps"
Address Resolution
All tools that accept addresses support flexible resolution:
- Ethereum address:
0x1234...abcd - Participant name:
"OctusBrain"(resolved via trust registry) - Self-reference:
"me"(your first smart account) - Index reference:
"#1","#2"(by account index)
Response Format
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."
}
}
Full Documentation
See the Azeth documentation for complete tool reference with parameter tables, return values, and example prompts for all 32 tools.
Troubleshooting
"Failed to connect to MCP server"
If you used npx instead of a global install, npx has two problems as an MCP server launcher:
- Installation prompt blocks stdin —
npxprompts "Ok to proceed? (y)" which reads from the same stdin the MCP protocol uses, deadlocking the connection. - Cold-start download timeout — First run must download ~142 packages before the server can start. Claude's MCP client times out waiting.
Fix by installing globally:
npm install -g @azeth/mcp-server
claude mcp add azeth -- azeth-mcp
Development
# Build
pnpm build
# Watch mode
pnpm dev
# Run tests
pnpm test
# Type check
pnpm typecheck
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.