{
  "markdown": "# solana-mcp-server\n\n[![npm version](https://img.shields.io/npm/v/solana-mcp-server)](https://www.npmjs.com/package/solana-mcp-server)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Node](https://img.shields.io/badge/Node-%3E%3D18-339933?logo=node.js)](https://nodejs.org)\n[![Tools](https://img.shields.io/badge/tools-25-blue)](https://modelcontextprotocol.io)\n\n**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.\n\nThe most actively maintained Solana MCP. Covers the complete SPL token lifecycle (create, mint, burn, freeze, thaw, delegate, authority management) that competitors skip.\n\n## Install\n\n```bash\nnpx solana-mcp-server\n```\n\nOr install globally:\n\n```bash\nnpm install -g solana-mcp-server\nsolana-mcp-server\n```\n\n## Configure\n\nAdd to your MCP config (`claude_desktop_config.json` or `~/.mcp.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"solana\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"solana-mcp-server\"],\n      \"env\": {\n        \"SOLANA_RPC_URL\": \"https://api.mainnet-beta.solana.com\"\n      }\n    }\n  }\n}\n```\n\n## Tools (25)\n\n### Wallet Management (4)\n\n| Tool | Description | Key Params |\n|------|-------------|------------|\n| `create_wallet` | Create a new Solana keypair (in-memory only) | -- |\n| `import_wallet` | Import from a base58-encoded private key | `privateKey` |\n| `list_wallets` | List all wallets in the current session | -- |\n| `get_balance` | Get SOL balance for any address | `address` |\n\n### SPL Token Operations (10)\n\n| Tool | Description | Key Params |\n|------|-------------|------------|\n| `create_spl_token` | Create a new SPL token with custom decimals | `walletName`, `decimals` |\n| `mint_tokens` | Mint tokens to any address | `walletName`, `tokenMint`, `amount` |\n| `burn_tokens` | Burn tokens from an account | `walletName`, `tokenMint`, `amount` |\n| `freeze_account` | Freeze a token account | `walletName`, `tokenMint`, `accountAddress` |\n| `thaw_account` | Unfreeze a token account | `walletName`, `tokenMint`, `accountAddress` |\n| `set_token_authority` | Change token authority (mint, freeze, owner, close) | `walletName`, `tokenMint`, `authorityType` |\n| `get_token_supply` | Total supply and metadata for a token | `tokenMint` |\n| `close_token_account` | Close an account and reclaim rent | `walletName`, `tokenAccount` |\n| `approve_delegate` | Approve a delegate for token transfers | `walletName`, `tokenAccount`, `delegate`, `amount` |\n| `revoke_delegate` | Revoke delegate approval | `walletName`, `tokenAccount` |\n\n### Transfers (3)\n\n| Tool | Description | Key Params |\n|------|-------------|------------|\n| `transfer_sol` | Transfer SOL between wallets | `from`, `to`, `amount` |\n| `transfer_tokens` | Transfer SPL tokens | `from`, `to`, `tokenMint`, `amount` |\n| `airdrop_sol` | Request SOL airdrop (devnet/testnet only) | `address`, `amount` |\n\n### Account Queries (4)\n\n| Tool | Description | Key Params |\n|------|-------------|------------|\n| `get_account_info` | Detailed account information | `address` |\n| `get_transaction` | Transaction details by signature | `signature` |\n| `create_token_account` | Create an associated token account | `walletName`, `tokenMint` |\n| `get_token_accounts` | List all token accounts for a wallet | `address` |\n\n### Token Data (1)\n\n| Tool | Description | Key Params |\n|------|-------------|------------|\n| `get_token_balance` | SPL token balance for a specific account | `address`, `tokenMint` |\n\n### Network (3)\n\n| Tool | Description | Key Params |\n|------|-------------|------------|\n| `switch_network` | Switch between mainnet, devnet, testnet, localhost | `network` |\n| `get_network_info` | Current network status and info | -- |\n| `get_recent_blockhash` | Recent blockhash for transaction building | -- |\n\n## Why This One?\n\n- **Complete SPL token lifecycle.** Create, mint, burn, freeze, thaw, set authority, delegate, close -- 10 token tools covering every operation. Competitors stop at create/transfer.\n- **Production-ready infrastructure.** Lazy connection initialization (no startup timeouts), 10-second network call timeouts, comprehensive error handling, and Smithery deployment support.\n- **Anchor integration.** Built with `@coral-xyz/anchor` support for interacting with Anchor programs alongside raw SPL token operations.\n\n## Networks\n\n| Network | Endpoint |\n|---------|----------|\n| `mainnet` | `https://api.mainnet-beta.solana.com` |\n| `devnet` | `https://api.devnet.solana.com` |\n| `testnet` | `https://api.testnet.solana.com` |\n| `localhost` | `http://127.0.0.1:8899` |\n\n## Security\n\n- Private keys stored in memory only -- never persisted to disk\n- Keys cleared on process exit\n- All inputs validated with Zod schemas\n\n## Environment Variables\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `SOLANA_RPC_URL` | No | Solana RPC endpoint (default: mainnet) |\n\n## Development\n\n```bash\ngit clone https://github.com/ExpertVagabond/solana-mcp-server.git\ncd solana-mcp-server\nnpm install\nnpm run build\nnpm start\n```\n\n```bash\nnpm test              # Basic functionality tests\nnpm run type-check    # TypeScript type checking\nnpm run lint          # ESLint\nnpm run quality       # Full quality check (lint + types + tests)\n```\n\n## License\n\nMIT -- [Purple Squirrel Media](https://github.com/ExpertVagabond)\n",
  "bytes": 5450,
  "sha": "a9bbd925c90853274046fc1d289d3a6098d8f31023a9bea2b923d84a59c13ac2",
  "repo_slug": "expertvagabond/solana-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_expertvagabond_solana_f75bf13b/readme"
}