
@agentmetal/mcp
MCP server that exposes AgentMetal as tools, so an agent can discover โ pay โ provision โ SSH in โ run commands โ manage โ renew its own Linux server (VPS / cloud instance) with no human signup. Paid tools sign USDC payments over x402 v2 (or pay by card); the rest are plain HTTP.
Tools
13 tools. Paid tools sign a USDC/x402 payment; account-gated tools need
AGENTMETAL_API_KEY (am_live_โฆ) and ownership of the server.
| Tool | Pays? | Account key? | What it does |
|---|---|---|---|
get_catalog | โ | โ | List plans, locations, and add-on pricing (bandwidth, storage). The free discovery hook. |
provision_server | โ USDC | โ | Provision a VPS (plan, days, optional ssh_key/via, managed_key) โ id, IPv4, SSH. With managed_key:true, a server-side keypair is generated, authorized, and the private key returned once (stored only encrypted) to enable exec_command. |
get_server | โ | โ | Status, IPv4, expiry, bandwidth, storage for a server id |
list_servers | โ | โ | Fleet for a wallet/account |
extend_server | โ USDC | โ | Extend a lease by N days |
destroy_server | โ | โ | Destroy now |
reboot_server | โ | โ | Soft-reboot an owned server |
server_logs | โ | โ | Hypervisor-level diagnostics without logging in: status, recent provider actions, a VNC console URL, and live CPU/disk/net metrics (no text boot log exists provider-side) |
exec_command | โ | โ | Run a shell command as root over SSH โ exit_code/stdout/stderr. Requires a server provisioned with managed_key:true. Bounded: 1โ120 s timeout, 256 KB output cap. |
get_firewall | โ | โ | Read a box's edge-firewall rules. Callable from the box itself (source-IP identity) or with an account key. |
manage_firewall | โ | โ | Open/close inbound ports on a box's edge firewall (protocol/port/source_ips). From the box itself or with an account key; SSH-lockout guarded. |
claim_account | โ | โ | Email a one-time claim code (via AWS SES) |
verify_claim | โ | โ | Redeem the code for an account API key. Link a wallet by also passing wallet + wallet_signature. |
Add-ons (currently API endpoints, not yet separate MCP tools): extra storage
($0.01/GB/day, attached block volume) via POST /v1/servers/{id}/storage and extra
bandwidth ($2/TB beyond the 20 TB included) via POST /v1/servers/{id}/bandwidth.
Use with Claude Code
// .mcp.json (or claude mcp add)
{
"mcpServers": {
"agentmetal": {
"command": "node",
"args": ["packages/mcp/src/index.ts"],
"env": {
"WALLET_PRIVATE_KEY": "0xโฆ",
"AGENTMETAL_MAX_USDC": "50"
}
}
}
}The wallet must hold USDC on Base. The spend cap (AGENTMETAL_MAX_USDC) bounds what any
single tool call can pay; a 402 above the cap is refused before signing.
Status: client + server are unit-tested and the stdio handshake is verified. Live USDC settlement needs a funded wallet + an x402 facilitator that supports the
exact/eip155:8453kind.
Configuration (env)
| Var | Default | Purpose |
|---|---|---|
AGENTMETAL_BASE_URL | https://api.agentmetal.dev | API base URL |
WALLET_PRIVATE_KEY | โ | 0xโฆ EVM key used to pay 402s. Omit and paid tools fail with a clear message. |
AGENTMETAL_NETWORK | eip155:8453 | CAIP-2 network (Base mainnet) |
AGENTMETAL_MAX_USDC | 50 | Per-request spend cap, in USDC |
AGENTMETAL_API_KEY | โ | am_live_โฆ account key, required for destroy_server / reboot_server / server_logs / exec_command |
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under MITโ you can use, modify, and redistribute it under that license's terms.
View the full license file on GitHub โ