{"id":26153956,"url":"https://github.com/openSVM/solana-mcp-server","last_synced_at":"2025-03-11T08:02:59.654Z","repository":{"id":272373280,"uuid":"916378167","full_name":"openSVM/solana-mcp-server","owner":"openSVM","description":"solana mcp sever to enable solana rpc methods","archived":false,"fork":false,"pushed_at":"2025-01-24T21:49:08.000Z","size":135,"stargazers_count":14,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-02-26T20:11:21.953Z","etag":null,"topics":["agent","agent-tools","mpc","mpc-tools","opensvm","solana"],"latest_commit_sha":null,"homepage":"http://opensvm.com","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/openSVM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-14T01:17:16.000Z","updated_at":"2025-02-05T02:18:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"5e5cc4f6-4982-4e2f-8ae8-93c6a37aa2f8","html_url":"https://github.com/openSVM/solana-mcp-server","commit_stats":null,"previous_names":["opensvm/solana-mcp-server"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openSVM%2Fsolana-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openSVM%2Fsolana-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openSVM%2Fsolana-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openSVM%2Fsolana-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openSVM","download_url":"https://codeload.github.com/openSVM/solana-mcp-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242995900,"owners_count":20218828,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","agent-tools","mpc","mpc-tools","opensvm","solana"],"created_at":"2025-03-11T08:02:09.764Z","updated_at":"2025-03-11T08:02:59.606Z","avatar_url":"https://github.com/openSVM.png","language":"Rust","funding_links":[],"categories":["Solana Infrastructure and RPC"],"sub_categories":["Notes"],"readme":"# Solana MCP Server\n\nA Model Context Protocol (MCP) server that provides comprehensive access to Solana blockchain data through Cline. This server implements a wide range of Solana RPC methods, making it easy to query blockchain information directly through natural language conversations.\n\n## Installation\n\n### Using Pre-built Binaries\n\n1. Go to the [Releases](https://github.com/opensvm/solana-mcp-server/releases) page\n2. Download the appropriate binary for your system:\n   - Linux: `solana-mcp-server-linux-amd64`\n   - macOS Intel: `solana-mcp-server-macos-amd64`\n   - macOS Apple Silicon: `solana-mcp-server-macos-arm64`\n   - Windows: `solana-mcp-server-windows-amd64.exe`\n3. Make the binary executable (Linux/macOS):\n   ```bash\n   chmod +x solana-mcp-server-*\n   ```\n4. Configure Claude Desktop:\n   ```bash\n   CONFIG_DIR=\"${XDG_CONFIG_HOME:-$HOME/.config}/claude\"\n   mkdir -p \"$CONFIG_DIR\"\n   echo \"{\\\"mcpServers\\\":{\\\"solana\\\":{\\\"command\\\":\\\"$PWD/solana-mcp-server-*\\\",\\\"env\\\":{\\\"SOLANA_RPC_URL\\\":\\\"https://api.mainnet-beta.solana.com\\\"}}}}\" \u003e \"$CONFIG_DIR/config.json\"\n   ```\n\n### Building from Source\n\n```bash\nTEMP_DIR=$(mktemp -d) \u0026\u0026 cd \"$TEMP_DIR\" \u0026\u0026 git clone https://github.com/opensvm/solana-mcp-server.git . \u0026\u0026 cargo build --release \u0026\u0026 CONFIG_DIR=\"${XDG_CONFIG_HOME:-$HOME/.config}/claude\" \u0026\u0026 mkdir -p \"$CONFIG_DIR\" \u0026\u0026 echo \"{\\\"mcpServers\\\":{\\\"solana\\\":{\\\"command\\\":\\\"$PWD/target/release/solana-mcp-server\\\",\\\"env\\\":{\\\"SOLANA_RPC_URL\\\":\\\"https://api.mainnet-beta.solana.com\\\"}}}}\" \u003e \"$CONFIG_DIR/config.json\" || { rm -rf \"$TEMP_DIR\"; exit 1; }\n```\n\n## Available RPC Methods\n\n### Account Methods\n- `getAccountInfo`: Returns all information associated with the account of provided Pubkey\n  - Input: `pubkey` (string) - Pubkey of account to query, as base-58 encoded string\n  - Returns: Account data, balance, owner, and other metadata\n\n- `getMultipleAccounts`: Returns account information for a list of Pubkeys\n  - Input: `pubkeys` (array of strings) - List of Pubkeys to query\n  - Returns: Array of account information\n\n- `getProgramAccounts`: Returns all accounts owned by the provided program Pubkey\n  - Input: `programId` (string) - Program Pubkey to query\n  - Returns: Array of owned accounts with their data\n\n- `getBalance`: Returns the SOL balance of an account\n  - Input: `pubkey` (string) - Account Pubkey to query\n  - Returns: Balance in lamports (1 SOL = 1,000,000,000 lamports)\n\n- `getLargestAccounts`: Returns the 20 largest accounts by lamport balance\n  - Input: None\n  - Returns: Array of accounts with their balances\n\n### Block Methods\n- `getBlock`: Returns identity and transaction information about a confirmed block\n  - Input: `slot` (integer) - Slot number to query\n  - Returns: Block data including hash, parent, and transactions\n\n- `getBlocks`: Returns a list of confirmed blocks between two slots\n  - Input: `start_slot` (integer), `end_slot` (integer)\n  - Returns: Array of block slots\n\n- `getBlocksWithLimit`: Returns a list of confirmed blocks starting at given slot\n  - Input: `start_slot` (integer), `limit` (integer)\n  - Returns: Array of block slots up to limit\n\n- `getBlockTime`: Returns estimated production time of a block\n  - Input: `slot` (integer)\n  - Returns: Unix timestamp (seconds since epoch)\n\n- `getBlockHeight`: Returns current block height\n  - Input: None\n  - Returns: Current block height\n\n- `getBlockCommitment`: Returns commitment for particular block\n  - Input: `slot` (integer)\n  - Returns: Block commitment information\n\n- `getBlockProduction`: Returns recent block production information\n  - Input: None\n  - Returns: Block production stats\n\n### System Methods\n- `getHealth`: Returns current health status of the node\n  - Input: None\n  - Returns: \"ok\" if healthy, error otherwise\n\n- `getVersion`: Returns current Solana version running on the node\n  - Input: None\n  - Returns: Version info including feature set\n\n- `getIdentity`: Returns identity pubkey for the current node\n  - Input: None\n  - Returns: Node identity pubkey\n\n- `getClusterNodes`: Returns information about all cluster nodes\n  - Input: None\n  - Returns: Array of node information\n\n- `getVoteAccounts`: Returns account info and stake for all voting accounts\n  - Input: None\n  - Returns: Current and delinquent vote accounts\n\n### Epoch and Inflation Methods\n- `getEpochInfo`: Returns information about the current epoch\n  - Input: None\n  - Returns: Epoch info including slot and block height\n\n- `getEpochSchedule`: Returns epoch schedule information\n  - Input: None\n  - Returns: Epoch schedule parameters\n\n- `getInflationGovernor`: Returns current inflation governor\n  - Input: None\n  - Returns: Inflation parameters\n\n- `getInflationRate`: Returns specific inflation values for current epoch\n  - Input: None\n  - Returns: Inflation rates\n\n- `getInflationReward`: Returns inflation reward for list of addresses\n  - Input: `addresses` (array of strings), optional `epoch` (integer)\n  - Returns: Array of inflation rewards\n\n### Token Methods\n- `getTokenAccountBalance`: Returns token balance of an SPL Token account\n  - Input: `accountAddress` (string) - Token account to query\n  - Returns: Token amount with decimals\n\n- `getTokenAccountsByDelegate`: Returns all token accounts by approved delegate\n  - Input: `delegateAddress` (string)\n  - Returns: Array of token accounts\n\n- `getTokenAccountsByOwner`: Returns all token accounts by token owner\n  - Input: `ownerAddress` (string)\n  - Returns: Array of token accounts\n\n- `getTokenLargestAccounts`: Returns 20 largest accounts of a token type\n  - Input: `mint` (string) - Token mint to query\n  - Returns: Array of largest token accounts\n\n- `getTokenSupply`: Returns total supply of an SPL Token type\n  - Input: `mint` (string) - Token mint to query\n  - Returns: Total supply with decimals\n\n### Transaction Methods\n- `getTransaction`: Returns transaction details for confirmed transaction\n  - Input: `signature` (string) - Transaction signature\n  - Returns: Transaction info and status\n\n- `getSignaturesForAddress`: Returns signatures for address's transactions\n  - Input: `address` (string), optional `limit` (integer)\n  - Returns: Array of transaction signatures\n\n- `getSignatureStatuses`: Returns statuses of a list of signatures\n  - Input: `signatures` (array of strings)\n  - Returns: Array of transaction statuses\n\n- `getTransactionCount`: Returns current Transaction count from ledger\n  - Input: None\n  - Returns: Transaction count\n\n- `simulateTransaction`: Simulate sending a transaction\n  - Input: `transaction` (string) - Encoded transaction\n  - Returns: Simulation results\n\n- `sendTransaction`: Send a transaction\n  - Input: `transaction` (string) - Signed encoded transaction\n  - Returns: Transaction signature\n\n### Other Methods\n- `getFeeForMessage`: Get the fee for a message\n  - Input: `message` (string) - Encoded message\n  - Returns: Fee in lamports\n\n- `getLatestBlockhash`: Returns the latest blockhash\n  - Input: None\n  - Returns: Blockhash and last valid slot\n\n- `isBlockhashValid`: Returns whether a blockhash is still valid\n  - Input: `blockhash` (string)\n  - Returns: Validity status\n\n- `getStakeMinimumDelegation`: Returns stake minimum delegation\n  - Input: None\n  - Returns: Minimum stake delegation in lamports\n\n- `getSupply`: Returns information about current supply\n  - Input: None\n  - Returns: Supply info including total and circulating\n\n- `requestAirdrop`: Request an airdrop of lamports to a Pubkey\n  - Input: `pubkey` (string), `lamports` (integer)\n  - Returns: Transaction signature\n\n## Usage Examples\n\nOnce configured, you can interact with the Solana blockchain through natural language in Cline. Here are some example queries:\n\n- \"What's the SOL balance of address Gh9ZwEmdLJ8DscKNTkTqPbNwLNNBjuSzaG9Vp2KGtKJr?\"\n- \"Show me the current slot number\"\n- \"Get information about the latest block\"\n- \"What's the current inflation rate?\"\n- \"Show me the token accounts owned by address ...\"\n\n## Environment Variables\n\n- `SOLANA_RPC_URL`: (Optional) The Solana RPC endpoint to use. Defaults to \"https://api.mainnet-beta.solana.com\" if not specified.\n\n## Development\n\n### Prerequisites\n- Rust and Cargo\n- Solana CLI tools (optional, for testing)\n\n### Building\n```bash\ncargo build\n```\n\n### Running\n```bash\ncargo run\n```\n\n## License\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FopenSVM%2Fsolana-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FopenSVM%2Fsolana-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FopenSVM%2Fsolana-mcp-server/lists"}