mcpField
S
Solana Mcp Services

Solana Mcp Services

本地服务
github.com/ArcReactor9金融数据280 周前更新

关于 Solana Mcp Services

Solana MCP 服务让 LLM 和 AI 应用通过 API 与 Solana 区块链交互,提供链上查询、SOL 转账和 PumpFun 代币创建等操作。

主要功能

  1. 01查询网络、余额与账户信息
  2. 02检索交易记录
  3. 03创建钱包并转账 SOL
  4. 04创建 PumpFun 代币
  5. 05通过 WebSocket 接收实时更新

适用场景

  1. 01检查 Solana 地址余额和交易历史
  2. 02从一个地址向另一个地址转账 SOL
  3. 03为 PumpFun 创建自定义代币
  4. 04订阅余额变化和新交易通知

MCP 相关

该 MCP 服务向 AI 客户端提供网络状态、余额、交易记录、钱包、SOL 转账、账户信息和 PumpFun 代币创建操作。支持通过 MCP 专用接口执行操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"SolanaMcpService": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Solana MCP(Model Context Protocol)服务

这是一个 MCP 服务,可让 Claude 等大模型(LLM)与 Solana 区块链交互。该服务提供一组 API 和 WebSocket 接口,使 AI 模型能够执行查询余额、发送代币、检索交易历史、创建自定义 PumpFun 代币等操作。

在线服务: MCP 服务现已上线,可通过 https://mcp.so/ 访问。

功能

  • 提供用于与 Solana 区块链交互的 REST API 端点
  • 支持 WebSocket 连接,以获取实时更新
  • 包含专为 MCP 设计的处理程序
  • 内置 HTML 测试界面,方便测试所有功能
  • 安全处理区块链操作
  • 全面的错误处理和日志记录
  • 支持创建自定义 PumpFun 代币

快速开始

使用已部署的服务

开始使用最简单的方法是使用我们已部署的 MCP 服务:

  1. 通过 https://mcp.so/ 访问服务
  2. 使用测试界面试用可用功能
  3. 使用 API 端点将其集成到你的 AI 应用中
自托管
先决条件
  • Node.js(v14+)
  • npm 或 yarn
  • Solana CLI 工具(可选,用于高级测试)
安装
  1. 克隆此仓库并安装依赖项:
# Install dependencies
npm install
  1. 配置环境变量:
# Copy the example configuration file
copy .env.example .env   # For Windows
# cp .env.example .env   # For Linux

# Edit the .env file to set your configuration
  1. 启动服务:
npm start

服务默认运行在 http://localhost:3000。你可以访问此地址查看测试界面。

项目结构

├── src/
│   ├── controllers/    # API endpoint handlers
│   ├── services/       # Business logic
│   ├── models/         # Data models
│   ├── utils/          # Helper functions
│   ├── middleware/     # Express middleware
│   ├── mcp/            # MCP-specific handlers
│   └── index.js        # Entry point
├── public/             # Static assets
├── tests/              # Test files
└── .env                # Environment configuration

API 端点

网络信息
GET /api/network

获取当前 Solana 网络状态。

响应:

{
  "status": "online",
  "currentSlot": 123456789,
  "network": "devnet"
}
余额查询
GET /api/balance/:address

获取指定地址的 SOL 余额。

响应:

{
  "address": "B4QLphqm5gwfzpo8ibW1EmpoyQwoQybj5v7vJRvXoZn6",
  "balance": 12.34,
  "unit": "SOL"
}
交易历史
GET /api/transactions/:address

获取指定地址的近期交易历史。

响应:

{
  "transactions": [
    {
      "signature": "xxxxxxxxxxxxxxxxxxxxxx",
      "timestamp": "2023-04-15T14:23:45Z",
      "type": "transfer",
      "amount": 1.5,
      "status": "confirmed"
    }
  ]
}
创建钱包
POST /api/wallet/create

创建新的 Solana 钱包(包括公钥和私钥)。

响应:

{
  "publicKey": "B4QLphqm5gwfzpo8ibW1EmpoyQwoQybj5v7vJRvXoZn6",
  "secretKey": "[base58 encoded private key]"
}
转账 SOL
POST /api/transfer

将 SOL 从一个地址发送到另一个地址。

请求正文:

{
  "fromSecretKey": "[base58 encoded private key]",
  "toAddress": "B4QLphqm5gwfzpo8ibW1EmpoyQwoQybj5v7vJRvXoZn6",
  "amount": 0.05
}

响应:

{
  "transactionId": "xxxxxxxxxxxxxxxxxxxxxx",
  "status": "confirmed"
}
账户信息
GET /api/account/:address

获取某个地址的详细账户信息。

响应:

{
  "address": "B4QLphqm5gwfzpo8ibW1EmpoyQwoQybj5v7vJRvXoZn6",
  "lamports": 12340000000,
  "executable": false,
  "owner": "11111111111111111111111111111111",
  "rentEpoch": 123
}
创建 PumpFun 代币
POST /api/mcp/execute

在 Solana 区块链上创建自定义 PumpFun 代币。

请求正文:

{
  "tool": "createPumpFunToken",
  "params": {
    "name": "My Token Name",
    "symbol": "MTN",
    "description": "This is my custom token",
    "twitter": "https://x.com/xxx",
    "telegram": "https://t.me/xxx",
    "website": "https://mywebsite.com",
    "amount": "0.1",
    "slippage": "10",
    "priorityFee": "0.0005"
  }
}

响应:

{
  "success": true,
  "transaction": "transaction_signature_hash",
  "mint": "token_mint_address",
  "metadata": "metadata_address"
}
MCP 专用
POST /api/mcp/execute

执行 MCP 专用操作,例如获取余额、检索交易记录、发送 SOL 等。

MCP 集成

此服务专为支持 Claude 等 AI 模型与 Solana 区块链交互而设计。支持以下 MCP 操作:

  • getNetworkStatus - 获取网络状态
  • getBalance - 查询余额
  • getTransactions - 获取交易历史
  • createWallet - 创建新钱包
  • transferSol - 转账 SOL
  • getAccountInfo - 获取账户信息
  • createPumpFunToken - 创建自定义 PumpFun 代币
MCP 请求示例
{
  "action": "getBalance",
  "parameters": {
    "address": "B4QLphqm5gwfzpo8ibW1EmpoyQwoQybj5v7vJRvXoZn6"
  }
}

WebSocket 支持

服务支持通过 WebSocket 连接获取实时更新和发送命令。WebSocket 服务与 HTTP 服务使用同一端口。

连接 WebSocket:ws://localhost:3000/ws

WebSocket 事件
  • connect - 已建立连接
  • balance - 余额更新
  • transaction - 新交易通知
  • error - 错误通知

部署

生产环境推荐设置
  • 使用 PM2 或 Docker 进行部署
  • 设置适当的环境变量
  • 配置 HTTPS(生产环境推荐)
  • 设置适当的日志记录
  • 为面向公众的 API 实施速率限制
Docker 部署
# Build the image
docker build -t solana-mcp-server .

# Run the container
docker run -p 3000:3000 -d solana-mcp-server
Linux 服务器部署
# Clone the repository
git clone [repository-url] solana-mcp-server
cd solana-mcp-server

# Install dependencies
npm install --production

# Configure environment
cp .env.example .env
nano .env  # Edit as needed

# Start with PM2 (recommended for production)
npm install -g pm2
pm2 start ecosystem.config.js

# Configure PM2 to start on boot
pm2 startup
pm2 save

故障排除

常见问题
  1. 连接错误 - 检查是否可以访问 Solana 网络,并确认 RPC 端点
  2. 交易失败 - 确保有足够的 SOL 支付交易手续费
  3. API 速率限制 - 检查是否触及 Solana RPC 端点的速率限制
  4. WebSocket 断开连接 - 在客户端中实现妥善的重新连接逻辑
日志

查看日志以获取详细的错误信息:

# If using PM2
pm2 logs

# If using Docker
docker logs [container-id]

安全注意事项

  • 私钥数据只能在客户端处理,不应存储在服务端
  • 在生产环境中使用 HTTPS
  • 考虑添加适当的身份验证机制
  • 配置合理的速率限制
  • 定期更新依赖项以修补安全漏洞
  • 使用环境变量存储敏感配置

贡献

欢迎提交问题和拉取请求。请按照以下步骤参与贡献:

  1. Fork 此仓库
  2. 创建功能分支
  3. 提交更改
  4. 推送到你的分支
  5. 创建拉取请求

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。