Solana区块链MCP服务器

WalletMCP是一个用于与Solana区块链交互的模型上下文协议(MCP)服务器实现,提供开发者友好的工具,用于处理钱包、交易、程序缓冲区、日志和SOL转账。

  • by paulfruitful
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 paulfruitful/walletmcp

使用说明

WalletMCP-Solana区块链MCP服务器

WalletMCP是一个用于与Solana区块链交互的模型上下文协议(MCP)服务器实现。 它提供了开发人员友好的工具,用于通过MCP兼容的接口处理钱包、交易、程序缓冲区、日志和SOL传输。

📺 演示视频


点击上图观看演示视频

🧠 特性

  • 🔍 检索钱包交易和SOL余额。
  • 📜 从Solana区块链访问程序日志。
  • 🧾 索赔未使用的租金(列出并关闭BPF可升级加载器缓冲区)。
  • 💸 以编程方式发送SOL交易。
  • 🧩 使用Zod进行模式验证的完全符合MCP的工具定义。

🔧 使用的技术

  • Solana Web3.js SDK –Solana区块链交互
  • 模型上下文协议(MCP) –工具注册协议
  • 萨德 –输入验证
  • TypeScript –强大的打字和现代工具

📋 需求

  • Node.js v16+
  • Yarn或npm

🚀 入门指南

  1. 克隆存储库
    git clone https://github.com/paulfruitful/WalletMCP
    

  ```bash
  cd walletMCP
  1. 安装依赖项

    npm install
    
  2. 构建MCP服务器

    npm run build
    

测试服务器:

要测试服务器,您可以使用Claude Desktop MCP客户端。单击此处下载桌面应用程序: 下载克劳德桌面

适用于克劳德桌面

运行以下命令this命令打开Claude Desktop配置文件

在Windows上:

   code $env:AppData\Claude\claude_desktop_config.json

在Mac/Linux上:

   code ~/Library/Application\ Support/Claude/claude_desktop_config.json

打开配置文件后,添加服务器:

{
  "mcpServers": {
    "walletmcp": {
      "command": "node",
      "args": [
          "YOUR_PATH_PREFIX\\WalletMCP\\build\\index.js"
      ]
  }
  }
}

一切就绪! 现在,您可以在Claude Desktop中使用服务器提供的工具。 您可以在Claude客户端上通过询问与Solana钱包相关的问题来激活这些工具。

问题和提示,如:

  • “我最近的交易是什么?”

  • “我有多少SOL?”

  • “我有多少未使用的缓冲区?”

  • “您可以将SOL发送到帐户[accountAddress]吗?”

  • “特定程序[programId]的日志是什么?”

⚙️ 工具及其说明

getTransactions

描述:检索钱包的最近交易。
输入:

  • walletAddress (字符串)
  • limit (number)-要获取的最大事务数。

getBalance

描述:取钱包的SOL余额。
输入:

  • walletAddress (字符串)

listBuffers

描述:列出与付款人密钥关联的程序缓冲区。
输入:

  • payerKey (数字数组)

closeBuffer

描述:关闭缓冲区并将灯口退还给付款人。
输入:

  • bufferPubkey (字符串)
  • payerKey (数字数组)

getProgramLogs

描述:从特定程序ID获取事务日志。
输入:

  • programId (字符串)
  • limit (number)-可选,默认值为10

sendSolTransaction

描述:将SOL从一个钱包发送到另一个钱包。
输入:

  • fromPrivateKey (数字数组)
  • toPublicKeyStr (字符串)
  • amountSol (编号)
  • mode (“main”|“dev”)

🛡️ 安全考虑

  • 始终保护您的私钥。
  • 密钥未存储或记录在服务器中

🤝 贡献

该项目对Solana开发社区的贡献开放。 如果您有改进的想法,请随时打开问题或提交拉取请求。