This repository contains a Model Context Protocol (MCP) server that provides Claude with access to Solana blockchain data via the Helius API. The server enables Claude to perform operations like checking wallet balances, getting blockchain information, and interacting with tokens and NFTs on the Solana blockchain.
The MCP server exposes the following tools to Claude:
helius_get_balance
: Get the balance of a Solana wallet addresshelius_get_block_height
: Get the current block height of the Solana blockchainhelius_get_slot
: Get the current slot of the Solana blockchainhelius_get_latest_blockhash
: Get the latest blockhash from the Solana blockchainhelius_get_transaction
: Get a transaction by its signaturehelius_get_account_info
: Get account information for a Solana addresshelius_get_signatures_for_address
: Get transaction signatures for a Solana addresshelius_get_multiple_accounts
: Get information about multiple Solana accountshelius_get_program_accounts
: Get all accounts owned by a program
helius_get_token_accounts_by_owner
: Get token accounts owned by a Solana addresshelius_get_token_supply
: Get the supply of a tokenhelius_get_token_account_balance
: Get the balance of a token accounthelius_get_token_accounts
: Get token accounts by mint or owner
helius_get_asset
: Get details of a digital asset by its IDhelius_get_rwa_asset
: Get details of a real-world asset by its IDhelius_get_asset_batch
: Get details of multiple assets by their IDshelius_get_asset_proof
: Get proof for a digital assethelius_get_assets_by_group
: Get assets by group key and valuehelius_get_assets_by_owner
: Get assets owned by a specific addresshelius_get_assets_by_creator
: Get assets created by a specific addresshelius_get_assets_by_authority
: Get assets by authority addresshelius_search_assets
: Search for assets using various filters (ownerAddress, creatorAddress, compressed, etc.)helius_get_signatures_for_asset
: Get signatures associated with an assethelius_get_nft_editions
: Get NFT editions for a master edition
helius_get_minimum_balance_for_rent_exemption
: Get the minimum balance required for rent exemptionhelius_get_inflation_reward
: Get inflation rewards for a list of addresseshelius_get_epoch_info
: Get information about the current epochhelius_get_epoch_schedule
: Get the epoch schedulehelius_get_leader_schedule
: Get the leader schedule for an epochhelius_get_recent_performance_samples
: Get recent performance sampleshelius_get_version
: Get the version of the Solana node
helius_get_priority_fee_estimate
: Get priority fee estimate for a transactionhelius_poll_transaction_confirmation
: Poll for transaction confirmation statushelius_send_jito_bundle
: Send a bundle of transactions to Jitohelius_get_bundle_statuses
: Get statuses of Jito bundleshelius_get_fee_for_message
: Get the fee for a serialized messagehelius_execute_jupiter_swap
: Execute a token swap using Jupiter
- Node.js (v16 or higher)
- A Helius API key (get one at https://dev.helius.xyz/)
- Claude Desktop application
-
Clone this repository:
git clone https://github.com/dcSpark/mcp-server-helius.git cd mcp-server-helius
-
Install dependencies:
npm ci
-
Build the project:
npm run build
To configure Claude Desktop to use this MCP server:
-
Open Claude Desktop
-
Navigate to the Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Add the MCP server configuration:
{
"mcpServers": {
"mcp-server-helius": {
"command": "npx",
"args": [
"@dcspark/mcp-server-helius"
],
"env": {
"HELIUS_API_KEY": "your-helius-api-key"
}
}
}
}
HELIUS_API_KEY=your-helius-api-key node build/index.js
You can also run directly using npx:
HELIUS_API_KEY=your-helius-api-key npx @dcspark/mcp-server-helius
Once configured, restart Claude Desktop. Claude will now have access to the Solana blockchain tools. You can ask Claude to:
-
Check a wallet balance:
What's the balance of the Solana wallet address 5YNmS1R9nNSCDzb5a7mMJ1dwK9uHeAAF4CmPEwKgVWr8?
-
Get the current block height:
What's the current block height on Solana?
-
Get information about NFTs:
What NFTs does the wallet address 5YNmS1R9nNSCDzb5a7mMJ1dwK9uHeAAF4CmPEwKgVWr8 own?
Claude will use the MCP server to fetch this information directly from the Solana blockchain via Helius.
To add new tools to the MCP server:
- Define the tool in
src/tools.ts
- Create a handler function in the appropriate handler file
- Add the handler to the
handlers
object insrc/tools.ts
npm run build
MIT