- Home
- MCP servers
- Solana
Solana
- python
3
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"tywenk-mcp-sol": {
"command": "uv",
"args": [
"--directory",
"/Users/tywen/Developer/mcp-sol",
"run",
"--with",
"mcp",
"mcp",
"run",
"/Users/tywen/Developer/mcp-sol/src/server.py"
]
}
}
}You can run a Model Context Protocol (MCP) server that exposes a Solana client, allowing you to query on-chain data, accounts, blocks, and related network information through MCP-compatible clients. This server integrates Solana data access into your broader MCP workflow, enabling programmatic interactions with the Solana cluster from your tooling.
How to use
To use the Solana MCP server with an MCP client, you run the server on your machine and point your client at it. The server provides a set of tools that you can call from your MCP client to fetch blockchain data such as balances, transactions, blocks, epoch information, accounts, and more. Start the server first, then connect your MCP client to the local process to invoke the available tools.
How to install
Prerequisites you need before installing:
- Node.js and npm (for initial client tooling access and package management in related steps)
- Python (for the server runtime) if you plan to run the Solana MCP server directly
- a UNIX-like environment (macOS or Linux) with a working shell
Installation steps:
1) Clone the Solana MCP server repository
2) Install any required dependencies
3) Run the server start command to host the MCP server locally
4) Connect your MCP client to the local server endpoint to begin making requests
git clone git@github.com:tywenk/mcp-sol.git
cd mcp-sol
uv sync
mcp install src/server.py
Additional content
Configuration notes: you can configure the client integration path so that your MCP client launches the server process with the correct working directory and execution path. A sample local setup uses the UV runtime to run the server script located at a local path. Ensure the uv binary and paths are absolute in your environment for predictable behavior.
Security and access: run the server on a controlled machine or within a secure network. Limit access to localhost or trusted networks to prevent unauthorized use of the MCP endpoints.
Tools exposed by the Solana MCP server
This server exposes a comprehensive set of commands to query Solana data. The following tools are available when you connect with an MCP client:
Available tools
get_balance
Fetches the balance of a specific Solana account in lamports or SOL, depending on formatting and conversion rules implemented by the tool.
get_transaction
Retrieves details for a specific transaction by its signature, including inputs, outputs, and status.
get_block
Returns the full data of a requested block by slot, including transactions and block metadata.
get_block_height
Provides the current highest block height (slot) known to the node.
get_block_time
Returns the estimated time of a given block slot, if available.
get_blocks
Lists a range of blocks by slot range, with optional filters for transactions and receipts.
get_cluster_nodes
Lists the nodes currently participating in the Solana cluster along with their status.
get_epoch_info
Returns information about the current epoch, including slots elapsed and remaining time.
get_epoch_schedule
Provides the schedule of epochs and their boundaries for the current network.
get_genesis_hash
Returns the genesis block hash for the cluster.
get_identity
Retrieves the identity information (public key) of the node running the server.
get_inflation_governor
Queries the inflation governor settings that control token minting dynamics.
get_inflation_rate
Returns the current inflation rate parameters and adjustments.
get_largest_accounts
Lists accounts with the largest balances, useful for monitoring high-value holders.
get_latest_blockhash
Provides the most recent blockhash for transaction building and confirmation.
get_minimum_balance_for_rent_exemption
Calculates the minimum lamport balance required to avoid rent on an account with a given data size.
get_program_accounts
Fetches accounts owned by a specific program, with optional filters.
get_recent_performance_samples
Retrieves performance samples to help assess node health and responsiveness.
get_signature_statuses
Checks the confirmation status of a set of transaction signatures.
get_slot
Returns the current slot number according to the cluster.
get_slot_leader
Identifies the current slot leader responsible for block validation.
get_supply
Provides current supply metrics for the Solana network.
get_token_account_balance
Fetches the balance of a SPL token account.
get_token_largest_accounts
Lists the largest token accounts for a given mint.
get_transaction_count
Returns the total number of transactions observed for the current block or epoch.
get_version
Queries the node software version and protocol details.
get_vote_accounts
Returns information about validator vote accounts and performance.
is_connected
Checks whether the client is currently connected to the cluster.
get_block_commitment
Retrieves the commitment levels for a specific block.
confirm_transaction
Confirms the inclusion of a transaction in the ledger and returns its status.
get_account_info
Fetches on-chain data for a specific account address.
get_fee_for_message
Calculates the fee required to process a given message/transaction.
get_first_available_block
Returns the first block height available for processing queries.
get_inflation_reward
Retrieves any inflation rewards accrued by accounts over time.
get_leader_schedule
Provides the current leadership schedule for the cluster's validators.
get_minimum_ledger_slot
Returns the minimum ledger slot visible to the client.
get_multiple_accounts
Fetches multiple accounts in a single request for efficiency.
get_signatures_for_address
Finds transaction signatures associated with a given address.
get_token_accounts_by_delegate
Lists token accounts where a particular delegate has control.
get_token_accounts_by_owner
Lists token accounts owned by a specified wallet address.
get_token_supply
Provides the total supply details for a given SPL token.
request_airdrop
Requests an airdrop of lamports to a wallet for testing.
send_transaction
Submits a signed transaction to the network for processing.
validator_exit
Shuts down the running validator process in a controlled manner.