Skip to main content
Glama

AgentWallet MCP

Your agent can maintain its own sandboxed spend ledger, enforce monthly budgets on itself, transfer funds to other agents, and generate formal invoices — all without touching your financial accounts.

The wallet is a local numeric ledger (stored in ~/.agentwallet/). It is not connected to any bank, payment processor, or blockchain. Use it to model agent-to-agent accounting and spending limits within your own infrastructure.

What your agent can do

  • Create a wallet for any agent ID and fund it with an initial balance

  • Check current balance, monthly spend total, and pending transactions at any time

  • Deposit and withdraw from any wallet, with automatic budget enforcement on withdrawal

  • Transfer between two agent wallets in a single atomic operation — both sides recorded

  • Set a hard monthly spending cap: withdrawals and transfers that would exceed it are rejected at the time of the call

  • Generate numbered invoice records (INV-000001, etc.) for agent-to-agent service billing

Installation

Requires: Python 3.10+, mcp package.

pip install mcp

Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "agent-wallet": {
      "command": "python",
      "args": ["/absolute/path/to/agent-wallet-mcp/server.py"]
    }
  }
}

Cursor — add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "agent-wallet": {
      "command": "python",
      "args": ["/absolute/path/to/agent-wallet-mcp/server.py"]
    }
  }
}

Tool Reference

Tool

Description

Key params

wallet_create

Create a new wallet for an agent

agent_id (required), initial_balance (default: 0)

wallet_balance

Get balance, total spent, monthly budget, and pending count

agent_id

wallet_deposit

Add funds to a wallet

agent_id, amount, source

wallet_withdraw

Remove funds; rejected if monthly budget would be exceeded

agent_id, amount, destination

wallet_transfer

Move funds between two wallets atomically; honors source budget

from_agent_id, to_agent_id, amount, reason

wallet_transactions

Recent transaction history, newest first

agent_id, limit (default: 20)

wallet_set_budget

Set or remove monthly spending cap (0 = no limit)

agent_id, monthly_budget

wallet_invoice

Generate a numbered invoice record between two agents

from_agent_id, to_agent_id, amount, description

Data Storage

~/.agentwallet/
├── wallets/
│   └── <agent_id>.json        # balance, budget, total_spent
├── transactions/
│   └── <agent_id>.json        # full transaction history
├── invoices/
│   └── INV-000001.json        # invoice records
└── _invoice_counter.json      # auto-incrementing invoice number

Budget Enforcement

When monthly_budget > 0, the server rejects any withdrawal or transfer where total_spent + amount > monthly_budget. The check runs synchronously before the balance is modified. Set monthly_budget to 0 to remove the limit.

Pricing

Plan

Price

Included

Pro

$19/month

Unlimited wallets, transactions, and invoices

Subscribe via Stripe

License

Proprietary — see subscription terms. Source: github.com/Rumblingb/agent-wallet-mcp

Latest Blog Posts

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/Rumblingb/agent-wallet-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server