npm solana-mcp-serverstdioMITupdated 8d ago
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.
What can you do with solana?
solana-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
Install
Add solana to your client. Pick the one you use.
claude mcp add solana-mcp-server -- npx -y solana-mcp-servercodex mcp add solana-mcp-server -- npx -y solana-mcp-serveramp mcp add solana-mcp-server -- npx -y solana-mcp-server{
"mcpServers": {
"solana-mcp-server": {
"command": "npx",
"args": [
"-y",
"solana-mcp-server"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"solana-mcp-server": {
"command": "npx",
"args": [
"-y",
"solana-mcp-server"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"solana-mcp-server","command":"npx","args":["-y","solana-mcp-server"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"solana-mcp-server": {
"command": "npx",
"args": [
"-y",
"solana-mcp-server"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"solana-mcp-server": {
"command": "npx",
"args": [
"-y",
"solana-mcp-server"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"solana-mcp-server": {
"command": "npx",
"args": [
"-y",
"solana-mcp-server"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"solana-mcp-server": {
"type": "local",
"command": "npx",
"args": [
"-y",
"solana-mcp-server"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"solana-mcp-server": {
"command": {
"path": "npx",
"args": [
"-y",
"solana-mcp-server"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y solana-mcp-serverRun `goose configure`, choose **Add Extension ā Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance19/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 1 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint ā no local install
Version history
| Versions | Published |
|---|---|
| 1.0.1Latest | Feb 14, 2026 |