Skip to main content
Glama

MCP Helius

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

Blockchain System Information

  • 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

Related MCP server: AMOCA Solana MCP Server

Prerequisites

Installation

  1. Clone this repository:

    git clone https://github.com/dcSpark/mcp-server-helius.git
    cd mcp-server-helius
  2. Install dependencies:

    npm ci
  3. Build the project:

    npm run build

Configuration

Configure Claude Desktop

To configure Claude Desktop to use this MCP server:

  1. Open Claude Desktop

  2. 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

  3. Add the MCP server configuration:

{
  "mcpServers": {
    "mcp-server-helius": {
      "command": "npx",
      "args": [
        "-y",
        "@mcp-dockmaster/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:

  1. Check a wallet balance:

    What's the balance of the Solana wallet address 5YNmS1R9nNSCDzb5a7mMJ1dwK9uHeAAF4CmPEwKgVWr8?
  2. Get the current block height:

    What's the current block height on Solana?
  3. 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

Adding New Tools

To add new tools to the MCP server:

  1. Define the tool in src/tools.ts

  2. Create a handler function in the appropriate handler file

  3. Add the handler to the handlers object in src/tools.ts

Building

npm run build

License

MIT

Available Tools

38 tools
helius_execute_jupiter_swapB

Execute a token swap using Jupiter

Inputs: inputMint (required), outputMint (required), amount (required), signer (required), +1 more.

helius_get_account_infoC

Get account information for a Solana address

Inputs: publicKey (required), commitment.

helius_get_assetC

Get details of a digital asset by its ID

Inputs: id (required).

helius_get_asset_batchB

Get details of multiple assets by their IDs

Inputs: ids (required).

helius_get_asset_proofC

Get proof for a digital asset

Inputs: id (required).

helius_get_assets_by_authorityC

Get assets by authority address

Inputs: authority (required), page, limit.

helius_get_assets_by_creatorC

Get assets created by a specific address

Inputs: creator (required), page, limit.

helius_get_assets_by_groupC

Get assets by group key and value

Inputs: groupKey (required), groupValue (required), page, limit.

helius_get_assets_by_ownerC

Get assets owned by a specific address

Inputs: owner (required), page, limit.

helius_get_balanceC

Get the balance of a Solana address

Inputs: publicKey (required), commitment.

helius_get_block_heightC

Get the block height of the Solana blockchain

Inputs: commitment.

helius_get_bundle_statusesC

Get statuses of Jito bundles

Inputs: bundleIds (required), jitoApiUrl (required).

helius_get_epoch_infoC

Get information about the current epoch

Inputs: commitment.

helius_get_epoch_scheduleD

Get the epoch schedule

Inputs: commitment.

helius_get_fee_for_messageC

Get the fee for a serialized message

Inputs: message (required), commitment.

helius_get_inflation_rewardC

Get inflation rewards for a list of addresses

Inputs: addresses (required), epoch, commitment.

helius_get_latest_blockhashB

Get the latest blockhash from the Solana blockchain

Inputs: commitment.

helius_get_leader_scheduleC

Get the leader schedule for an epoch

Inputs: slot, commitment.

helius_get_minimum_balance_for_rent_exemptionC

Get the minimum balance required for rent exemption

Inputs: dataSize (required), commitment.

helius_get_multiple_accountsC

Get information about multiple Solana accounts

Inputs: publicKeys (required), commitment.

helius_get_nft_editionsC

Get NFT editions for a master edition

Inputs: masterEditionId (required), page, limit.

helius_get_priority_fee_estimateC

Get priority fee estimate for a transaction

Inputs: accountKeys, options.

helius_get_program_accountsC

Get all accounts owned by a program

Inputs: programId (required), commitment.

helius_get_recent_performance_samplesC

Get recent performance samples

Inputs: limit.

helius_get_rwa_assetC

Get details of a real-world asset by its ID

Inputs: id (required).

helius_get_signatures_for_addressC

Get transaction signatures for a Solana address

Inputs: address (required), limit, before, until, +1 more.

helius_get_signatures_for_assetC

Get signatures associated with an asset

Inputs: id (required), page, limit.

helius_get_slotA

Get the current slot of the Solana blockchain

Inputs: commitment.

helius_get_token_account_balanceC

Get the balance of a token account

Inputs: tokenAddress (required), commitment.

helius_get_token_accountsC

Get token accounts by mint or owner

Inputs: mint, owner, page, limit.

helius_get_token_accounts_by_ownerC

Get token accounts owned by a Solana address

Inputs: publicKey (required), programId (required).

helius_get_token_largest_accountsC

Get the largest token accounts for a specific token mint

Inputs: tokenAddress (required), commitment.

helius_get_token_supplyC

Get the supply of a token

Inputs: tokenAddress (required).

helius_get_transactionC

Get a transaction by its signature

Inputs: signature (required), commitment.

helius_get_versionA

Get the version of the Solana node

Inputs: no named parameters.

helius_poll_transaction_confirmationC

Poll for transaction confirmation status

Inputs: signature (required), timeout, interval.

helius_search_assetsC

Search for assets using various filters

Inputs: page, limit, cursor, before, +11 more.

helius_send_jito_bundleC

Send a bundle of transactions to Jito

Inputs: serializedTransactions (required), jitoApiUrl (required).

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    C2.7/5.0

    Scored across 38 tools

    Disambiguation4/5

    Most tools target distinct resources (assets, tokens, accounts, transactions, etc.) with clear parameters. However, pairs like 'get_token_accounts' and 'get_token_accounts_by_owner' could cause mild confusion as they overlap in functionality, though descriptions likely clarify.

    Naming Consistency5/5

    All tools follow a consistent 'helius_verb_noun' pattern in snake_case. Verbs are 'get' for queries, with 'execute', 'send', and 'poll' for actions, maintaining uniformity without mixing conventions.

    Tool Count2/5

    38 tools is significantly above the typical 3–15 range for a well-scoped server. While the domain of Solana blockchain is broad, this count feels heavy and could overwhelm an agent, suggesting possible over-fragmentation.

    Completeness3/5

    The server covers a wide range of read operations (assets, tokens, accounts, transactions) and some actions (swap, bundle send). However, a notable gap is the lack of a tool for sending a single regular transaction, which is a basic operation for the domain.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables Claude AI to interact with the Solana blockchain through a standardized interface, providing tools for transactions, account queries, and wallet management.
      44 npm
      167
      Apache 2.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables AI models to interact with the Solana blockchain, providing RPC methods, wallet management, DeFi trading capabilities, and Helius API integration for enhanced Solana development.
      5
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that provides onchain tools for Claude AI, allowing it to interact with the Solana blockchain through a standardized interface for operations like managing assets, executing token operations, and retrieving network information.
      7
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables Claude AI to interact with the Solana blockchain, allowing it to execute transactions, query accounts, manage wallets, get price predictions, trade tokens, and access various blockchain data sources.
      4
      -