Skip to main content
Glama

Solana MCP Server

A production-grade Model Context Protocol server for interacting with the Solana blockchain. Gives AI agents (Claude, Cursor, etc.) the ability to read chain data, execute transactions, swap tokens, manage wallets, and more.

38 tools across 7 modules: Wallet, SPL Tokens, DeFi, NFT, Programs, Analytics, Network.

Quick Start

npx @visioneth/solana-mcp@latest

Claude Desktop / Cursor

Add to your MCP configuration:

{
  "mcpServers": {
    "solana-mcp": {
      "command": "npx",
      "args": ["-y", "@visioneth/solana-mcp@latest"],
      "env": {
        "SOLANA_RPC_URL": "https://api.mainnet-beta.solana.com"
      }
    }
  }
}

For write operations (transfers, swaps, minting), add your private key:

{
  "env": {
    "PRIVATE_KEY": "your_base58_private_key",
    "SOLANA_RPC_URL": "https://api.mainnet-beta.solana.com"
  }
}

SSE Mode (Remote)

npx @visioneth/solana-mcp@latest --sse
# Server starts on http://localhost:3001

Related MCP server: Solana AI Terminal

Tools

Wallet (7 tools)

Tool

Description

get_balance

SOL balance of any address

get_account_info

Detailed account info

transfer_sol

Send SOL

request_airdrop

Test SOL on devnet/testnet

get_transaction

Transaction details by signature

get_recent_transactions

Recent transactions for an address

get_wallet_address

Public key from configured private key

SPL Tokens (7 tools)

Tool

Description

get_token_balance

Token balance for a wallet

get_token_info

Mint info (supply, decimals, authorities)

get_token_accounts

All token holdings

create_token

Create new SPL token

mint_tokens

Mint tokens to an address

transfer_token

Transfer SPL tokens

burn_tokens

Burn SPL tokens

DeFi (4 tools)

Tool

Description

get_token_price

USD price via Jupiter

get_swap_quote

Jupiter swap quote with routing

execute_swap

Execute swap on Jupiter

get_stake_accounts

Staking info for a wallet

NFT (3 tools)

Tool

Description

get_nft_metadata

On-chain NFT metadata

get_nfts_by_owner

All NFTs in a wallet

get_nft_collection_info

Collection info from sample NFT

Programs (4 tools)

Tool

Description

is_program

Check if address is executable

get_program_accounts

Accounts owned by a program

read_account_data

Raw account data

identify_program

Look up known programs

Analytics (5 tools)

Tool

Description

get_tps

Current transactions per second

get_largest_token_holders

Top holders of any token

get_token_supply

Total supply info

get_sol_price

Current SOL price in USD

get_largest_accounts

Biggest SOL holders

Network (8 tools)

Tool

Description

get_epoch_info

Current epoch and progress

get_slot

Current slot number

get_block_height

Current block height

get_block

Block details by slot

get_cluster_nodes

Validator/node info

get_supply

Total and circulating SOL

get_minimum_balance_for_rent

Rent exemption calculator

get_health

RPC node health check

Prompts

Built-in prompts for common workflows:

  • analyze_wallet — Full wallet analysis

  • inspect_transaction — Transaction deep-dive

  • analyze_token — Token due diligence with risk score

  • portfolio_check — All holdings summary

  • swap_analysis — Pre-swap analysis

  • analyze_nft — NFT metadata analysis

  • analyze_program — Program investigation

  • token_research — Comprehensive token research

  • network_health — Network status dashboard

  • solana_overview — Full network overview

Safety

  • Write operations require explicit network specification — the server will never default to mainnet for transactions

  • Private key only needed for writes — read-only tools work without credentials

  • Confirmation prompts before executing state-changing operations

  • All amounts use human-readable UI values (not raw lamports)

Development

git clone https://github.com/visioneth/solana-mcp.git
cd solana-mcp
npm install
cp .env.example .env
npm run dev        # stdio mode
npm run dev:sse    # SSE mode

Environment Variables

Variable

Required

Description

PRIVATE_KEY

For writes

Base58-encoded Solana private key

SOLANA_RPC_URL

No

Custom RPC endpoint (defaults to mainnet-beta)

LOG_LEVEL

No

DEBUG, INFO, WARN, ERROR (default INFO)

PORT

No

SSE server port (default 3001)

Supported Networks

  • mainnet-beta — Production (real funds)

  • devnet — Development and testing

  • testnet — Validator testing

License

MIT

Available Tools

38 tools
burn_tokensB

Burn SPL tokens from the configured wallet. Requires PRIVATE_KEY.

Inputs: mint_address (required), amount (required), network (required).

create_tokenA

Create a new SPL token mint. Requires PRIVATE_KEY.

Inputs: network (required), decimals.

execute_swapB

Execute a token swap on Jupiter DEX aggregator. Requires PRIVATE_KEY.

Inputs: input_mint (required), output_mint (required), amount (required), network (required), +1 more.

get_account_infoB

Get detailed account information for a Solana address including owner, lamports, data size, and executable status

Inputs: address (required), network.

get_balanceA

Get the SOL balance of a Solana wallet address

Inputs: address (required), network.

get_blockB

Get block details by slot number

Inputs: slot (required), network.

get_block_heightC

Get the current block height

Inputs: network.

get_cluster_nodesB

Get info about all nodes in the Solana cluster

Inputs: network.

get_epoch_infoB

Get current epoch information including slot, epoch progress, and timing

Inputs: network.

get_healthB

Check if the Solana RPC node is healthy

Inputs: network.

get_largest_accountsC

Get the largest SOL-holding accounts on the network

Inputs: filter, network.

get_largest_token_holdersA

Get the largest holders of an SPL token

Inputs: mint_address (required), network.

get_minimum_balance_for_rentB

Calculate the minimum SOL balance needed to keep an account rent-exempt

Inputs: data_size (required), network.

get_nft_collection_infoA

Get info about an NFT collection by checking a sample NFT from the collection

Inputs: mint_address (required), network.

get_nft_metadataB

Get on-chain metadata for an NFT by its mint address

Inputs: mint_address (required), network.

get_nfts_by_ownerC

Get all NFTs owned by a wallet address

Inputs: wallet_address (required), network.

get_program_accountsB

Get all accounts owned by a program with optional filters

Inputs: program_id (required), data_size, limit, network.

get_recent_transactionsB

Get recent transaction signatures for a Solana address

Inputs: address (required), limit, network.

get_slotA

Get the current slot number

Inputs: network.

get_sol_priceA

Get the current SOL price in USD via Jupiter

Inputs: no named parameters.

get_stake_accountsC

Get all stake accounts for a Solana wallet

Inputs: wallet_address (required), network.

get_supplyB

Get the total SOL supply and circulation info

Inputs: network.

get_swap_quoteB

Get a swap quote from Jupiter DEX aggregator

Inputs: input_mint (required), output_mint (required), amount (required), slippage_bps.

get_token_accountsA

Get all SPL token accounts owned by a wallet address

Inputs: wallet_address (required), network.

get_token_balanceA

Get the SPL token balance of a wallet for a specific token mint

Inputs: wallet_address (required), mint_address (required), network.

get_token_infoA

Get metadata and supply info for an SPL token by its mint address

Inputs: mint_address (required), network.

get_token_priceA

Get the current USD price of a Solana token using Jupiter price API

Inputs: mint_address (required).

get_token_supplyB

Get the total and circulating supply of an SPL token

Inputs: mint_address (required), network.

get_tpsA

Get the current transactions per second (TPS) on Solana

Inputs: network.

get_transactionC

Get details of a Solana transaction by its signature

Inputs: signature (required), network.

get_wallet_addressA

Get the public wallet address from the configured PRIVATE_KEY

Inputs: no named parameters.

identify_programC

Look up a well-known Solana program by its address

Inputs: address (required).

is_programC

Check if a Solana address is an executable program

Inputs: address (required), network.

mint_tokensA

Mint SPL tokens to a destination wallet. Requires PRIVATE_KEY with mint authority.

Inputs: mint_address (required), to_address (required), amount (required), network (required).

read_account_dataB

Read and return the raw data of a Solana account (base64 encoded)

Inputs: address (required), encoding, network.

request_airdropA

Request a SOL airdrop on devnet or testnet (for testing purposes only)

Inputs: address (required), amount_sol (required), network (required).

transfer_solB

Transfer SOL from the configured wallet to a destination address. Requires PRIVATE_KEY environment variable.

Inputs: to_address (required), amount_sol (required), network.

transfer_tokenB

Transfer SPL tokens from the configured wallet to a destination. Requires PRIVATE_KEY.

Inputs: mint_address (required), to_address (required), amount (required), network (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 38 tools

    Disambiguation5/5

    Each tool targets a distinct resource or action (e.g., get_balance vs get_token_balance, get_account_info vs read_account_data). No overlapping purposes; descriptions clearly differentiate read vs write operations.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern in snake_case (e.g., get_block, create_token, transfer_sol). Exceptions like get_largest_accounts and get_nfts_by_owner still adhere to the pattern, making naming predictable.

    Tool Count3/5

    38 tools is on the higher end, but the broad scope of Solana operations (accounts, tokens, NFTs, transactions, etc.) justifies the count. It leans toward heavy but remains well-organized and not excessive for a full-featured blockchain server.

    Completeness4/5

    Covers major read and write operations for SOL, SPL tokens, NFTs, and network queries. Missing features like token delegation or wallet creation are minor, and the tool set handles most common agent workflows without dead ends.

    Related MCP Connectors

    Related MCP Servers