About solana
solana is an MCP server for Solana wallet operations, SPL tokens, transfers, and network queries. It also supports Anchor programs and covers token authority and delegation operations.
Key features
- 01Wallet creation, import, and balances
- 02SPL token lifecycle operations
- 03SOL and token transfers
- 04Account and transaction queries
- 05Network selection and status
Use cases
- 01Managing wallets and SOL balances
- 02Creating and administering SPL tokens
- 03Inspecting accounts and transactions
- 04Switching between Solana networks
MCP support
It exposes 25 Solana tools to MCP clients for wallet management, token operations, transfers, account queries, and network information.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
25Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Name for the wallet |
Details
From the project READMEsolana-mcp-server
Full Solana blockchain MCP server. 25 tools for wallet management, SPL token operations, DeFi, staking, and network queries. Built on @solana/web3.js and @solana/spl-token with Anchor support.
The most actively maintained Solana MCP. Covers the complete SPL token lifecycle (create, mint, burn, freeze, thaw, delegate, authority management) that competitors skip.
Install
npx solana-mcp-server
Or install globally:
npm install -g solana-mcp-server
solana-mcp-server
Configure
Add to your MCP config (claude_desktop_config.json or ~/.mcp.json):
{
"mcpServers": {
"solana": {
"command": "npx",
"args": ["-y", "solana-mcp-server"],
"env": {
"SOLANA_RPC_URL": "https://api.mainnet-beta.solana.com"
}
}
}
}
Tools (25)
Wallet Management (4)
| Tool | Description | Key Params |
|---|---|---|
create_wallet | Create a new Solana keypair (in-memory only) | -- |
import_wallet | Import from a base58-encoded private key | privateKey |
list_wallets | List all wallets in the current session | -- |
get_balance | Get SOL balance for any address | address |
SPL Token Operations (10)
| Tool | Description | Key Params |
|---|---|---|
create_spl_token | Create a new SPL token with custom decimals | walletName, decimals |
mint_tokens | Mint tokens to any address | walletName, tokenMint, amount |
burn_tokens | Burn tokens from an account | walletName, tokenMint, amount |
freeze_account | Freeze a token account | walletName, tokenMint, accountAddress |
thaw_account | Unfreeze a token account | walletName, tokenMint, accountAddress |
set_token_authority | Change token authority (mint, freeze, owner, close) | walletName, tokenMint, authorityType |
get_token_supply | Total supply and metadata for a token | tokenMint |
close_token_account | Close an account and reclaim rent | walletName, tokenAccount |
approve_delegate | Approve a delegate for token transfers | walletName, tokenAccount, delegate, amount |
revoke_delegate | Revoke delegate approval | walletName, tokenAccount |
Transfers (3)
| Tool | Description | Key Params |
|---|---|---|
transfer_sol | Transfer SOL between wallets | from, to, amount |
transfer_tokens | Transfer SPL tokens | from, to, tokenMint, amount |
airdrop_sol | Request SOL airdrop (devnet/testnet only) | address, amount |
Account Queries (4)
| Tool | Description | Key Params |
|---|---|---|
get_account_info | Detailed account information | address |
get_transaction | Transaction details by signature | signature |
create_token_account | Create an associated token account | walletName, tokenMint |
get_token_accounts | List all token accounts for a wallet | address |
Token Data (1)
| Tool | Description | Key Params |
|---|---|---|
get_token_balance | SPL token balance for a specific account | address, tokenMint |
Network (3)
| Tool | Description | Key Params |
|---|---|---|
switch_network | Switch between mainnet, devnet, testnet, localhost | network |
get_network_info | Current network status and info | -- |
get_recent_blockhash | Recent blockhash for transaction building | -- |
Why This One?
- Complete SPL token lifecycle. Create, mint, burn, freeze, thaw, set authority, delegate, close -- 10 token tools covering every operation. Competitors stop at create/transfer.
- Production-ready infrastructure. Lazy connection initialization (no startup timeouts), 10-second network call timeouts, comprehensive error handling, and Smithery deployment support.
- Anchor integration. Built with
@coral-xyz/anchorsupport for interacting with Anchor programs alongside raw SPL token operations.
Networks
| Network | Endpoint |
|---|---|
mainnet | https://api.mainnet-beta.solana.com |
devnet | https://api.devnet.solana.com |
testnet | https://api.testnet.solana.com |
localhost | http://127.0.0.1:8899 |
Security
- Private keys stored in memory only -- never persisted to disk
- Keys cleared on process exit
- All inputs validated with Zod schemas
Environment Variables
| Variable | Required | Description |
|---|---|---|
SOLANA_RPC_URL | No | Solana RPC endpoint (default: mainnet) |
Development
git clone https://github.com/ExpertVagabond/solana-mcp-server.git
cd solana-mcp-server
npm install
npm run build
npm start
npm test # Basic functionality tests
npm run type-check # TypeScript type checking
npm run lint # ESLint
npm run quality # Full quality check (lint + types + tests)
License
MIT -- Purple Squirrel Media
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.