modelscope·@ThomasMarches/substrate-mcp-rs
语言类型:英语 翻译结果:基板MCP服务器
这是一个用 Rust 编写的用于 Substrate 区块链的 Model Context Protocol (MCP) 服务器。该项目通过 MCP 协议暴露动态的 Substrate 区块链操作(如查询余额、区块、模块、存储、事件等),并且可以通过环境变量完全配置。
设计用于与 subxt 库接口。
AI 驱动的区块链操作
自定义仪表板和监控
克隆仓库并构建:
sh git clone https://github.com/ThomasMarches/substrate-mcp-rs.git cd substrate-mcp-rs cargo build --release
在项目根目录中创建一个 .env 文件,并包含以下变量:
env
RPC_URL=wss://your-node-url.example.com
SIGNING_KEYPAIR_HEX=your_signing_keypair_hex_here
您可以使用 subkey 生成密钥对并获取十六进制的秘密种子:
sh subkey generate --scheme Sr25519 --output-type Json
使用 secretSeed 字段(如果存在则去掉 0x 前缀)作为 SIGNING_KEYPAIR_HEX。
从您的节点导出运行时元数据,并将其放置在 artifacts/metadata.scale 中:
sh subxt metadata -f bytes > artifacts/metadata.scale
重要提示: 该文件必须命名为 metadata.scale 并位于 artifacts/ 目录中,否则构建将失败。
启动 MCP 服务器:
sh cargo run --release
服务器将启动并通过标准输入输出监听 MCP 请求。
要将此 MCP 服务器与 Cursor 一起使用,您需要将其添加到您的 Cursor MCP 配置中。这允许 Cursor 发现并与您的 Substrate MCP 服务器交互。
在发布模式下构建您的服务器:
sh cargo build --release
找到构建后的二进制文件路径(通常是 target/release/substrate-mcp-rs)。
在您的项目(或全局).cursor/mcp.json 文件中,为您的服务器添加一个条目。例如:
json
{
"mcpServers": {
"substrate-mcp-rs": {
"command": "$PROJECT_ROOT_ABSOLUTE_PATH/target/release/substrate-mcp-rs",
"args": []
}
}
}- 将 command 路径替换为您的构建二进制文件的绝对路径(如果不同)。
重启 Cursor。它现在应该能够检测并连接到您的 Substrate MCP 服务器,使工具可用。
有关更多详细信息,请参阅 Cursor 文档 或 模型上下文协议介绍。
服务器提供了一组用于与 Substrate 区块链交互的工具,包括:
query_balance: 获取账户余额list_pallets: 列出运行时中的所有模块list_pallet_entries: 列出某个模块的所有存储项dynamic_runtime_call: 执行运行时 API 调用send_dynamic_signed_transaction: 构建、签名并发送交易query_storage: 按模块和条目查询存储get_latest_events: 获取最新区块中的所有事件find_events: 按模块和变体查找特定事件get_latest_block: 获取最新区块的详细信息get_block_by_hash: 按哈希获取区块详细信息find_extrinsics: 查找最新区块中的外部调用get_system_info: 通过 RPC 获取系统信息custom_rpc: 发起自定义 RPC 调用请参阅 src/tooling/substrate.rs 以获取完整详细信息和参数。
src/main.rs: 入口点,设置日志记录并启动 MCP 服务器src/tooling/: 包含 Substrate 工具实现artifacts/: 在此放置您的运行时元数据文件 metadata.scale(在构建前需要)欢迎贡献!请提出问题或拉取请求。对于较大的更改,请先提出问题讨论您的提案。
cargo fmt 和 cargo clippyMIT
一座通过模型控制协议(Model Control Protocol)将Dune Analytics区块链数据连接到人工智能应用的桥梁,使大型语言模型(LLMs)能够通过自然语言交互访问链上数据。
暂无描述。
暂无描述。
暂无描述。
暂无描述。
暂无描述。