Skip to main content
Glama
KorroAi

solana-agent-mcp

by KorroAi
README.md
# Solana Agent MCP

<p align="center">
  <img src="https://img.shields.io/badge/license-AGPL--3.0-blue.svg" alt="License: AGPL-3.0">
  <img src="https://img.shields.io/badge/version-10.0.0-green.svg" alt="Version 10.0.0">
  <img src="https://img.shields.io/badge/MCP-stdio-orange.svg" alt="MCP stdio">
  <img src="https://img.shields.io/badge/Solana-mainnet-blueviolet.svg" alt="Solana Mainnet">
  <img src="https://img.shields.io/badge/tools-14-brightgreen.svg" alt="14 MCP Tools">
</p>

<p align="center">
  <img src="demo.gif" alt="Solana Agent MCP Demo" width="720">
  <br><sub><a href="./demo.mp4">Watch in HD (1080p, 45s)</a></sub>
</p>

<p align="center">
  <a href="./PAPER.md"><img src="https://img.shields.io/badge/paper-read%20now-blue.svg" alt="Read the Paper"></a>
  <a href="./DEMO.md"><img src="https://img.shields.io/badge/demo-script-green.svg" alt="Demo Script"></a>
</p>

**Your on-chain copilot.** An MCP (Model Context Protocol) server that gives AI agents full read/write access to the Solana blockchain — check balances, send SOL, swap tokens via Jupiter, scan pump.fun tokens in real-time, and trade memecoins. All through natural conversation. No API keys shared with the agent.

## Architecture

```
┌──────────────┐     MCP stdio (local)     ┌──────────────────────┐
│  AI Agent    │◄─────────────────────────►│  solana-agent-mcp    │
│  (Claude)    │   No network, no auth     │  (your machine)      │
└──────────────┘                           └────────┬─────────────┘
                                                    │
                                          Helius WS + RPC
                                          Jupiter API
                                          Pump.fun API
                                                    │
                                              ┌─────▼──────┐
                                              │  Solana    │
                                              │  Blockchain│
                                              └────────────┘
```

The MCP server runs as a local process. AI agents connect via stdin/stdout (standard MCP protocol). Your private key signs transactions locally — it never leaves your machine. The agent never sees your key.

## Installation

```bash
git clone https://github.com/KorroAi/solana-agent-mcp.git
cd solana-agent-mcp
npm install
cp .env.example .env
```

Edit `.env`:
```env
HELIUS_API_KEYS=your-key-1,your-key-2    # Free at helius.dev
PRIVATE_KEY=your-phantom-base58-key       # Optional — for live transactions
SOLANA_MCP_PORT=8791                      # Default
```

```bash
npm run dev
```

Then type `/solana` in Claude Code. The wizard guides you.

## MCP Tools (14 total)

### Read — Query blockchain state

| Tool | Parameters | Returns |
|------|-----------|---------|
| `solana_get_balance` | `address` | SOL balance + lamports |
| `solana_get_token_balance` | `address`, `mint` | SPL token balance |
| `solana_get_token_info` | `mint` | Decimals, supply, authorities |
| `solana_get_price` | — | SOL/USD price |
| `solana_scan_tokens` | — | Recent pump.fun tokens |
| `solana_get_transaction` | `signature` | Tx details + status |
| `solana_get_wallet` | — | Server wallet address + balance |
| `solana_health` | — | RPC status, scanner, wallet |

### Write — Execute transactions (requires PRIVATE_KEY)

| Tool | Parameters | Returns |
|------|-----------|---------|
| `solana_send_sol` | `to`, `amount` | Tx signature + Solscan link |
| `solana_send_token` | `to`, `mint`, `amount` | Tx signature + Solscan link |
| `solana_swap` | `inputMint`, `outputMint`, `amount`, `slippageBps?` | Tx signature + route |
| `solana_buy_pump` | `mint`, `amountSOL`, `slippageBps?` | Tx signature + pump.fun link |
| `solana_sell_pump` | `mint`, `amountSOL?`, `slippageBps?` | Tx signature + Solscan link |
| `solana_request_airdrop` | `address`, `amount?` | Tx signature (devnet only) |

## Resources

| URI | Content |
|-----|---------|
| `solana://price` | Current SOL/USD price |
| `solana://tokens/recent` | Last 20 pump.fun tokens |

## Safety

- **Local signing**: Private key never leaves your machine
- **Confirmation gate**: Transactions >0.01 SOL require explicit confirmation
- **Solscan links**: Every transaction returns an explorer link
- **Read-only by default**: No wallet = no write access, everything still works
- **No API keys shared**: The agent communicates via local stdio, not over the network
- **Balance guard**: Won't trade below 0.01 SOL reserve

## /solana — Slash Command

```
/solana
> check my balance          → "You have 0.112 SOL (~$8.90)"
> send 0.01 SOL to 7bN2...  → "Sending... confirmed! tx: 2PFCa..."
> scan pump.fun tokens      → "4 new tokens detected"
> swap 0.05 SOL to USDC     → "Best route: SOL→USDC via Jupiter"
> buy B1bN... for 0.02 SOL  → "Buy executed! pump.fun/coin/B1bN..."
```

## License

**GNU Affero General Public License v3.0 (AGPL-3.0)**

This is strong copyleft. You can use, modify, and distribute this software freely. If you run a modified version as a network service, you MUST release your modifications to the community. Companies cannot take this code, improve it privately, and sell it as a proprietary service.

See [LICENSE](./LICENSE) for the full text.

---

<p align="center">
  <b>Built by <a href="https://github.com/KorroAi">KORROCORP</a></b><br>
  <sub>AGPL-3.0 — Free as in freedom. Share your improvements.</sub>
</p>

TDQS

B3.2/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct function: balance, price, token operations, transaction details, health check, airdrop, and token scanning. No overlap or ambiguity exists.

Naming Consistency4/5

All tools share the 'solana_' prefix and mostly use verb_noun pattern (get_balance, request_airdrop). The 'solana_health' tool deviates slightly by lacking a verb, but it's still clear.

Tool Count5/5

Eight tools is well-scoped for a Solana agent covering queries, health, and airdrop. Each tool serves a distinct purpose without being excessive or insufficient.

Completeness3/5

Covers common queries (balance, price, token info, transaction) and devnet airdrop, but lacks essential operations like token transfers or swaps, limiting practical use.

Maintenance

ActivityInactive
ResponsivenessUnresponsive