solana-mcp-server

ExpertVagabond/solana-mcp-server

3.2

If you are the rightful owner of solana-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

A Model Context Protocol (MCP) server for Solana blockchain interactions, providing comprehensive wallet management, transaction handling, and program interactions.

Solana MCP Server

A Model Context Protocol (MCP) server for Solana blockchain interactions, providing comprehensive wallet management, transaction handling, and program interactions.

Features

Wallet Management

  • Create new Solana wallets
  • Import existing wallets from private keys
  • List all managed wallets
  • Get wallet balances (SOL and SPL tokens)

Transaction Operations

  • Transfer SOL between wallets
  • Transfer SPL tokens
  • Request SOL airdrops (devnet/testnet only)
  • Get transaction details by signature

Account Management

  • Get detailed account information
  • Create associated token accounts
  • List all token accounts for a wallet
  • Get token balances

SPL Token Operations (CLI Integration)

  • Create new SPL tokens with custom decimals
  • Mint tokens to any wallet address
  • Burn tokens from accounts
  • Freeze/thaw token accounts
  • Set and manage token authorities (mint, freeze, account owner, close)
  • Get token supply information
  • Close token accounts and reclaim rent
  • Approve/revoke delegates for token operations

Network Operations

  • Switch between Solana networks (mainnet, devnet, testnet, localhost)
  • Get network information and status
  • Get recent blockhash for transaction building

Installation

npm install
npm run build

Usage

Start the server

npm start

Available Commands

Wallet Management
  • create_wallet - Create a new Solana wallet
  • import_wallet - Import existing wallet from private key
  • list_wallets - List all managed wallets
  • get_balance - Get SOL balance for a wallet
  • get_token_balance - Get SPL token balance
Transactions
  • transfer_sol - Transfer SOL between wallets
  • transfer_tokens - Transfer SPL tokens
  • airdrop_sol - Request SOL airdrop (devnet/testnet only)
Account Operations
  • get_account_info - Get detailed account information
  • get_transaction - Get transaction details by signature
  • create_token_account - Create associated token account
  • get_token_accounts - List all token accounts for a wallet
SPL Token CLI Operations
  • create_spl_token - Create a new SPL token with custom decimals
  • mint_tokens - Mint tokens to a wallet address
  • burn_tokens - Burn tokens from a wallet
  • freeze_account - Freeze a token account
  • thaw_account - Thaw (unfreeze) a token account
  • set_token_authority - Set or change token authority (mint, freeze, account owner, close)
  • get_token_supply - Get total supply and info for a token
  • close_token_account - Close a token account and reclaim rent
  • approve_delegate - Approve a delegate to transfer tokens
  • revoke_delegate - Revoke delegate approval
Network Operations
  • switch_network - Switch Solana network
  • get_network_info - Get current network information
  • get_recent_blockhash - Get recent blockhash

Supported Networks

  • Mainnet: Production Solana network
  • Devnet: Development network with free SOL airdrops
  • Testnet: Testing network
  • Localhost: Local Solana validator

Security Notes

  • Private keys are stored in memory only (not persisted)
  • For production use, implement secure key storage
  • Never share private keys or commit them to version control

Development

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run in development mode
npm run dev

Deployment

Smithery Deployment

The server is ready for deployment to Smithery:

# Build for production
smithery build src/index.ts

# Run locally for testing
smithery dev src/index.ts

# The server will be available at the provided URL

Manual Deployment

  1. Clone the repository
  2. Install dependencies: npm install
  3. Build the project: npm run build
  4. Run the server: npm start

Testing

# Run basic functionality tests
node test-simple.js

# Run comprehensive tests
node test-comprehensive.js

# Run deployment readiness test
node test-deployment.js

SPL Token CLI Usage Examples

Create a new SPL token

{
  "walletName": "my-wallet",
  "decimals": 9,
  "freezeAuthority": true
}

Mint tokens

{
  "walletName": "my-wallet",
  "tokenMint": "TokenMintAddress123...",
  "destinationAddress": "RecipientAddress456...",
  "amount": 1000
}

Burn tokens

{
  "walletName": "my-wallet",
  "tokenMint": "TokenMintAddress123...",
  "amount": 100
}

Freeze/Thaw accounts

{
  "walletName": "my-wallet",
  "tokenMint": "TokenMintAddress123...",
  "accountAddress": "AccountToFreeze789..."
}

Set token authority

{
  "walletName": "my-wallet",
  "tokenMint": "TokenMintAddress123...",
  "authorityType": "MintTokens",
  "newAuthority": "NewAuthorityAddress..."
}

Get token supply

{
  "tokenMint": "TokenMintAddress123..."
}

Features Implemented

Wallet Management

  • Create new Solana wallets
  • Import existing wallets from private keys
  • List all managed wallets
  • Get wallet balances (SOL and SPL tokens)

Transaction Operations

  • Transfer SOL between wallets
  • Transfer SPL tokens
  • Request SOL airdrops (devnet/testnet only)
  • Get transaction details by signature

Account Management

  • Get detailed account information
  • Create associated token accounts
  • List all token accounts for a wallet
  • Get token balances

SPL Token CLI Operations

  • Create new SPL tokens with custom parameters
  • Mint and burn tokens
  • Freeze and thaw token accounts
  • Manage token authorities (mint, freeze, account owner, close)
  • Get token supply and metadata
  • Close token accounts and reclaim rent
  • Delegate management for token operations

Network Operations

  • Switch between Solana networks (mainnet, devnet, testnet, localhost)
  • Get network information and status
  • Get recent blockhash for transaction building

Performance Optimizations

  • Lazy connection initialization (no startup timeouts)
  • Network call timeouts (10s default)
  • Comprehensive error handling
  • Production-ready deployment

License

MIT