Solana MCP Server

by Grandbusta
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Enables interaction with the Solana blockchain using a private key, providing capabilities to check wallet addresses, get wallet balances in multiple denominations, retrieve the latest blockchain slot, and transfer SOL between wallets.

Solana MCP Server 🌱

A MCP server to interact with the Solana blockchain with your own private key.

📖 Table of Contents

✨ Features

  • Get latest slot
  • Get wallet address
  • Get wallet balance
  • Transfer SOL

⚙️ Setup

  1. Clone the repository
git clone https://github.com/Grandbusta/solana-mcp.git
  1. Install dependencies
npm install
  1. Build the project
npm run build
  1. Create a keypair file Create a file named keypair.json anywhere you want and copy your private key into it. Check the example-keypair.json file for an example.

NB: RPC endpoint is set to api.devnet.solana.com by default. If you want to use a different endpoint, you can set it in the run.sh file.

Integration with Cursor

To integrate with Cursor, follow these steps:

  1. In the Cursor settings, go to MCP
  2. Click "Add new MCP server"
  3. Enter the following information:
    • Name: Solana MCP
    • Type: command
    • Command: /path/to/your/solana-mcp/run.sh /path/to/your/keypair.json

Example command: /Users/username/projects/solana-mcp/run.sh /Users/username/Documents/keypair.json

🛠️ Available Tools

1. get-latest-slot

Returns the latest slot number:

368202671

2. get-wallet-address

Returns the wallet address:

5GTuMBag1M8tfe736kcV1vcAE734Zf1SRta8pmWf82TJ

3. get-wallet-balance

Returns the wallet balance in SOL, Lamports, and USD:

{ "lamportsBalance": "4179966000", "solanaBalnce": 4.179966, "usdBalance": "553.0513" }

4. transfer

Transfers SOL to a recipient address:

{ "blockTime": "1742316463", "meta": { "computeUnitsConsumed": "150", "err": null, "fee": "5000", "innerInstructions": [], "loadedAddresses": { "readonly": [], "writable": [] }, "logMessages": [ "Program 11111111111111111111111111111111 invoke [1]", "Program 11111111111111111111111111111111 success" ], "postBalances": [ "4179966000", "819999000", "1" ], "postTokenBalances": [], "preBalances": [ "4399970000", "600000000", "1" ], "preTokenBalances": [], "rewards": [], "status": { "Ok": null } }, "slot": "368211978", "transaction": { "message": { "accountKeys": [ "6qhddtBoEHqTc3VM35a3rb3aLUe6vDQfmLigo2G4r5s1", "5GTuMBag1M8tfe736kcV1vcAE734Zf1SRta8pmWf82TJ", "11111111111111111111111111111111" ], "addressTableLookups": [], "header": { "numReadonlySignedAccounts": 0, "numReadonlyUnsignedAccounts": 1, "numRequiredSignatures": 1 }, "instructions": [ { "accounts": [ 0, 1 ], "data": "3Bxs452Q9hdvHuwd", "programIdIndex": 2, "stackHeight": null } ], "recentBlockhash": "BLqtPS9BHPp9CRFTrVAsrxFMWC98VTUAQ3vi12bSquLo" }, "signatures": [ "3bLyqbPn26ofkaxSAVqadQnHqXu9hyoryixmKCn69nunKg2cSryDVAWnfCcYPcGtjSmXcMHfrzc3bw25zFTabXvs" ] }, "version": "0" }

🧑‍💻 Contributing

Contributions are welcome! Please open an issue or submit a pull request.

🔖 License

WTFPL License

-
security - not tested
F
license - not found
-
quality - not tested

A server that enables interaction with the Solana blockchain using your own private key, supporting operations like getting wallet information, checking balances, and transferring SOL.

  1. 📖 Table of Contents
    1. ✨ Features
      1. ⚙️ Setup
        1. Integration with Cursor
          1. 🛠️ Available Tools
            1. 1. get-latest-slot
            2. 2. get-wallet-address
            3. 3. get-wallet-balance
            4. 4. transfer
          2. 🧑‍💻 Contributing
            1. 🔖 License