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.
Overview
The MCP server exposes the following tools to Claude:
Basic Blockchain Operations
helius_get_balance
: Get the balance of a Solana wallet address
helius_get_block_height
: Get the current block height of the Solana blockchain
helius_get_slot
: Get the current slot of the Solana blockchain
helius_get_latest_blockhash
: Get the latest blockhash from the Solana blockchain
helius_get_transaction
: Get a transaction by its signature
helius_get_account_info
: Get account information for a Solana address
helius_get_signatures_for_address
: Get transaction signatures for a Solana address
helius_get_multiple_accounts
: Get information about multiple Solana accounts
helius_get_program_accounts
: Get all accounts owned by a program
Token Operations
helius_get_token_accounts_by_owner
: Get token accounts owned by a Solana address
helius_get_token_supply
: Get the supply of a token
helius_get_token_account_balance
: Get the balance of a token account
helius_get_token_accounts
: Get token accounts by mint or owner
NFT and Digital Assets
helius_get_asset
: Get details of a digital asset by its ID
helius_get_rwa_asset
: Get details of a real-world asset by its ID
helius_get_asset_batch
: Get details of multiple assets by their IDs
helius_get_asset_proof
: Get proof for a digital asset
helius_get_assets_by_group
: Get assets by group key and value
helius_get_assets_by_owner
: Get assets owned by a specific address
helius_get_assets_by_creator
: Get assets created by a specific address
helius_get_assets_by_authority
: Get assets by authority address
helius_search_assets
: Search for assets using various filters (ownerAddress, creatorAddress, compressed, etc.)
helius_get_signatures_for_asset
: Get signatures associated with an asset
helius_get_nft_editions
: Get NFT editions for a master edition
helius_get_minimum_balance_for_rent_exemption
: Get the minimum balance required for rent exemption
helius_get_inflation_reward
: Get inflation rewards for a list of addresses
helius_get_epoch_info
: Get information about the current epoch
helius_get_epoch_schedule
: Get the epoch schedule
helius_get_leader_schedule
: Get the leader schedule for an epoch
helius_get_recent_performance_samples
: Get recent performance samples
helius_get_version
: Get the version of the Solana node
Transaction and Fee Methods
helius_get_priority_fee_estimate
: Get priority fee estimate for a transaction
helius_poll_transaction_confirmation
: Poll for transaction confirmation status
helius_send_jito_bundle
: Send a bundle of transactions to Jito
helius_get_bundle_statuses
: Get statuses of Jito bundles
helius_get_fee_for_message
: Get the fee for a serialized message
helius_execute_jupiter_swap
: Execute a token swap using Jupiter
Prerequisites
Installation
-
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
Configuration
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%Claudeclaude_desktop_config.json
-
Linux: ~/.config/Claude/claude_desktop_config.json
-
Add the MCP server configuration:
{
"mcpServers": {
"mcp-server-helius": {
"command": "npx",
"args": [
"@dcspark/mcp-server-helius"
],
"env": {
"HELIUS_API_KEY": "your-helius-api-key"
}
}
}
}
Running Locally
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
Usage
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.
Development
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 in src/tools.ts
Building
npm run build
License
MIT