Substrate MCP Server

Substrate MCP Server

site icon
2025.05.01 4
Rust区块链服务AI 集成监控系统开发效率金融服务
Substrate MCP Server 是一个基于 Rust 编写的 Model Context Protocol (MCP) 服务器,专为 Substrate 区块链设计。它通过 MCP 协议提供动态的 Substrate 区块链操作,如查询余额、区块、存储、事件等,并支持通过环境变量进行完全配置。该服务器旨在与 subxt 库接口,适用于 AI 驱动的区块链操作和自定义监控系统。
View on GitHub

Overview

基本能力

产品定位

Substrate MCP Server 是一个为 Substrate 区块链设计的 MCP 服务器,提供动态的区块链操作接口,支持 AI 驱动的区块链操作和自定义监控系统。

核心功能

  • 查询账户余额和存储
  • 列出 pallets 及其条目
  • 获取和过滤事件和 extrinsics
  • 提交和监控动态签名交易
  • 访问系统和区块信息
  • 自定义 RPC 调用

适用场景

  1. AI 驱动的区块链操作
  2. 与 LLMs 集成,允许用户通过自然语言查询区块链数据
  3. 构建能够回答问题和获取余额的聊天机器人
  4. 提供实时链上活动更新

  5. 自定义仪表盘和监控

  6. 创建自定义仪表盘和监控系统
  7. 显示实时数据和分析
  8. 设置关键事件的警报和通知

工具列表

  • query_balance: 查询账户余额
  • list_pallets: 列出所有 pallets
  • list_pallet_entries: 列出 pallet 的存储条目
  • dynamic_runtime_call: 执行运行时 API 调用
  • send_dynamic_signed_transaction: 构造、签名和发送交易
  • query_storage: 查询存储
  • get_latest_events: 获取最新区块的事件
  • find_events: 查找特定事件
  • get_latest_block: 获取最新区块详情
  • get_block_by_hash: 通过哈希获取区块详情
  • find_extrinsics: 查找最新区块的 extrinsics
  • get_system_info: 获取系统信息
  • custom_rpc: 自定义 RPC 调用

常见问题解答

  • 如何生成签名密钥对? 使用 subkey generate --scheme Sr25519 --output-type Json 生成密钥对,并使用 secretSeed 字段作为 SIGNING_KEYPAIR_HEX
  • 如何获取运行时元数据? 使用 subxt metadata -f bytes > artifacts/metadata.scale 导出元数据,并确保文件名为 metadata.scale 且位于 artifacts/ 目录。

使用教程

使用依赖

  • Rust
  • 访问 Substrate 节点的 WebSocket 端点
  • 有效的签名密钥对(十六进制)
  • 目标链的运行时元数据文件

安装教程

  1. 克隆仓库并构建: sh git clone https://github.com/ThomasMarches/substrate-mcp-rs.git cd substrate-mcp-rs cargo build --release
  2. 创建 .env 文件并配置 RPC_URLSIGNING_KEYPAIR_HEX
  3. 确保运行时元数据文件 metadata.scale 位于 artifacts/ 目录。

调试方式

  1. 启动 MCP 服务器: sh cargo run --release
  2. 服务器将通过 stdio 监听 MCP 请求。

与 Cursor 集成

  1. 构建服务器: sh cargo build --release
  2. .cursor/mcp.json 中添加服务器配置。
  3. 重启 Cursor 以检测和连接服务器。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。