Skip to main content
Glama
README.md
# Agent Wallet MCP

**Give Claude a Solana wallet.**

An MCP (Model Context Protocol) server that lets Claude send USDC, check balances, and manage transactions on Solana.

## Demo

```
You: "What's my wallet balance?"

Claude: Let me check your wallet balance.

        {
          "sol": 1.5,
          "usdc": 25.00,
          "network": "devnet",
          "address": "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU"
        }

You: "Send $5 USDC to [address] for the API calls I just used"

Claude: I'll send 5 USDC to that address now.

        {
          "success": true,
          "signature": "5UfgJ3...",
          "recipient": "...",
          "amount": 5,
          "explorer": "https://explorer.solana.com/tx/..."
        }

        Done! Transaction confirmed on Solana devnet.
```

## Installation

```bash
# Clone the repo
git clone https://github.com/noah-ing/agent-wallet-mcp.git
cd agent-wallet-mcp

# Install dependencies
npm install

# Build
npm run build
```

## Setup with Claude Desktop

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "agent-wallet": {
      "command": "node",
      "args": ["/path/to/agent-wallet-mcp/dist/index.js"]
    }
  }
}
```

Then restart Claude Desktop.

## Available Tools

| Tool | Description |
|------|-------------|
| `get_wallet_address` | Get the agent's Solana wallet address |
| `get_balance` | Check USDC and SOL balance |
| `send_usdc` | Send USDC to another address |
| `get_recent_transactions` | View recent transaction history |
| `request_devnet_airdrop` | Get free devnet SOL for fees |

## How It Works

1. **Persistent Wallet**: Creates a keypair stored at `~/.agent-wallet/keypair.json`
2. **Devnet Only**: All transactions happen on Solana devnet (test network)
3. **Real Transactions**: These are actual blockchain transactions, just on testnet

## Getting Devnet USDC

The wallet starts empty. To test sending USDC:

1. Get your wallet address: Ask Claude "What's my wallet address?"
2. Get devnet SOL: Ask Claude "Request a devnet airdrop"
3. Get devnet USDC from [Circle's faucet](https://faucet.circle.com/) or [Solana faucet](https://solfaucet.com/)

## Development

```bash
# Watch mode
npm run dev

# Test with MCP Inspector
npm run inspector
```

## Why This Exists

AI agents will eventually need to pay for things - API calls, compute, services from other agents.

This is a simple demo of what that looks like: Claude with a wallet, making real (testnet) transactions.

## Security Notes

- **Devnet only** - No real money involved
- **Local keypair** - Private key never leaves your machine
- **No mainnet support** - Intentionally limited to devnet for safety

## License

MIT

TDQS

A3.8/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: get_balance (check balances), get_recent_transactions (view transaction history), get_wallet_address (retrieve address), request_devnet_airdrop (obtain test funds), and send_usdc (execute transfers). The descriptions are specific enough to prevent misselection.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (e.g., get_balance, send_usdc) using snake_case throughout. The naming is predictable and readable, with no deviations in style or convention.

Tool Count5/5

With 5 tools, the set is well-scoped for managing a Solana devnet wallet, covering essential operations like checking balances, viewing transactions, handling addresses, obtaining test funds, and executing transfers. Each tool earns its place without being excessive or insufficient.

Completeness4/5

The tool surface covers core wallet management tasks on Solana devnet, including balance checks, transaction history, address retrieval, funding, and USDC transfers. A minor gap exists in not supporting SOL transfers (only USDC), but agents can work around this using airdrops for SOL needs.

Maintenance

ActivityInactive
ResponsivenessSyncing