Solana

Provides Solana data access through MCP-compatible tools for balances, blocks, transactions, accounts, and cluster info.
  • 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.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational