# mcp-sol

> MCP Server

This repository provides a Model Context Protocol (MCP) server for Solana clients, enabling Claude Desktop to interact with the Solana blockchain using a variety of tools for retrieving data and managing transactions.

## Overview

- **Category:** Developer Tools
- **Language:** Python
- **Stars:** 4
- **Forks:** 0
- **Owner:** tywenk
- **GitHub:** https://github.com/tywenk/mcp-sol
- **Created:** 2025-01-25T20:58:58+00:00
- **Updated:** 2025-03-18T13:12:04+00:00
- **Source:** https://model-context-protocol.com/servers/solana-model-context-protocol-client

## Setup

## Setup

To install mcp-solana for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@tywenk/mcp-solana):

```bash
npx -y @smithery/cli install @tywenk/mcp-solana --client claude
```

Installation of server:

```sh
git clone git@github.com:tywenk/mcp-sol.git
cd mcp-sol
uv sync
mcp install src/server.py
```

Ensure the Claude desktop JSON config at `/Users/{user}/Library/Application Support/Claude` (on a Mac) looks something like this. Note that the `uv` binary and paths are all absolute.

```json
{
  "globalShortcut": "Alt+Space",
  "mcpServers": {
    "Solana Client": {
      "command": "/Users/tywen/.local/bin/uv",
      "args": [
        "--directory",
        "/Users/tywen/Developer/mcp-sol",
        "run",
        "--with",
        "mcp",
        "mcp",
        "run",
        "/Users/tywen/Developer/mcp-sol/src/server.py"
      ]
    }
  }
}
```

## Tools

## Available Tools

1.  get_balance (Retrieves the balance of an account.)
2.  get_transaction (Retrieves a specific transaction.)
3.  get_block (Retrieves a specific block.)
4.  get_block_height (Retrieves the current block height.)
5.  get_block_time (Retrieves the time of a specific block.)
6.  get_blocks (Retrieves a range of blocks.)
7.  get_cluster_nodes (Retrieves information about the cluster nodes.)
8.  get_epoch_info (Retrieves information about the current epoch.)
9.  get_epoch_schedule (Retrieves the epoch schedule.)
10. get_genesis_hash (Retrieves the genesis hash.)
11. get_identity (Retrieves the identity.)
12. get_inflation_governor (Retrieves the inflation governor.)
13. get_inflation_rate (Retrieves the inflation rate.)
14. get_largest_accounts (Retrieves the largest accounts.)
15. get_latest_blockhash (Retrieves the latest blockhash.)
16. get_minimum_balance_for_rent_exemption (Retrieves the minimum balance for rent exemption.)
17. get_program_accounts (Retrieves accounts owned by a specific program.)
18. get_recent_performance_samples (Retrieves recent performance samples.)
19. get_signature_statuses (Retrieves the statuses of signatures.)
20. get_slot (Retrieves the current slot.)
21. get_slot_leader (Retrieves the slot leader.)
22. get_supply (Retrieves the total supply.)
23. get_token_account_balance (Retrieves the balance of a token account.)
24. get_token_largest_accounts (Retrieves the largest token accounts.)
25. get_transaction_count (Retrieves the transaction count.)
26. get_version (Retrieves the version.)
27. get_vote_accounts (Retrieves the vote accounts.)
28. is_connected (Checks if the client is connected.)
29. get_block_commitment (Retrieves the block commitment.)
30. confirm_transaction (Confirms a transaction.)
31. get_account_info (Retrieves information about an account.)
32. get_fee_for_message (Retrieves the fee for a message.)
33. get_first_available_block (Retrieves the first available block.)
34. get_inflation_reward (Retrieves the inflation reward.)
35. get_leader_schedule (Retrieves the leader schedule.)
36. get_minimum_ledger_slot (Retrieves the minimum ledger slot.)
37. get_multiple_accounts (Retrieves multiple accounts.)
38. get_signatures_for_address (Retrieves signatures for an address.)
39. get_token_accounts_by_delegate (Retrieves token accounts by delegate.)
40. get_token_accounts_by_owner (Retrieves token accounts by owner.)
41. get_token_supply (Retrieves the token supply.)
42. request_airdrop (Requests an airdrop.)
43. send_transaction (Sends a transaction.)
44. validator_exit (Exits a validator.)
