Penumbra MCP 服务器使用说明
项目简介
Penumbra MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,旨在为大型语言模型 (LLM) 提供与 Penumbra 区块链进行交互的能力。通过此服务器,LLM 可以安全、便捷地获取 Penumbra 区块链上的数据,例如验证器集合、链状态、交易详情、DEX 状态和治理提案等信息,从而扩展 LLM 在区块链领域的应用场景。
主要功能点
- 获取验证器集合信息 (get_validator_set): 查询当前 Penumbra 区块链的验证器集合,了解网络共识参与者的信息。
- 获取链状态 (get_chain_status): 查询 Penumbra 区块链的当前状态,包括区块高度、链 ID 等关键信息。
- 查询交易详情 (get_transaction): 根据交易哈希查询 Penumbra 区块链上特定交易的详细信息。
- 获取 DEX 状态 (get_dex_state): 查询 Penumbra 去中心化交易所 (DEX) 的当前状态,包括最新的批量拍卖结果等。
- 获取治理提案 (get_governance_proposals): 查询当前 Penumbra 区块链上活跃的治理提案。
安装步骤
- 安装 Node.js 和 npm 或 yarn: 确保你的开发环境中已安装 Node.js 和包管理器 npm 或 yarn。
- 下载仓库代码: 从 GitHub 仓库 https://github.com/bmorphism/penumbra-mcp 克隆或下载代码到本地。
- 进入项目目录: 使用命令行工具进入下载的代码仓库根目录。
- 安装依赖: 在项目根目录下运行以下命令安装项目依赖:
- 使用 npm: 'npm install'
- 使用 yarn: 'yarn add'
- 构建项目: 运行以下命令构建项目:
- 'npm run build'
服务器配置
Penumbra MCP 服务器需要配置后才能与 MCP 客户端(例如 Claude 桌面应用)连接。以下是 Claude 桌面应用的 MCP 服务器配置示例,你需要将此配置添加到 Claude 桌面应用的设置文件 ('~/Library/Application Support/Claude/claude_desktop_config.json' 或其他操作系统对应的配置文件位置)。
{ "mcpServers": { "penumbra-mcp": { // 服务器名称,可以自定义 "command": "node", // 启动服务器的命令,这里使用 Node.js 运行 "args": ["/path/to/penumbra-mcp/build/index.js"], // 服务器启动参数,指向构建后的 index.js 文件路径,请替换为你的实际路径 "env": { // 环境变量配置 "PENUMBRA_NODE_URL": "https://rpc.penumbra.zone", // Penumbra 节点 RPC URL,默认为官方主网节点 "PENUMBRA_NETWORK": "mainnet", // Penumbra 网络名称,默认为 mainnet "PENUMBRA_CHAIN_ID": "penumbra-1" // Penumbra 链 ID,默认为 penumbra-1 // ... 其他 Penumbra 相关配置,可以根据需要调整 } } } }
配置说明:
- '"penumbra-mcp"': 自定义的服务器名称,在 Claude 中用于标识该 MCP 服务器。
- '"command": "node"': 指定用于启动服务器的可执行命令,这里是 'node',表示使用 Node.js 运行时环境。
- '"args": ["/path/to/penumbra-mcp/build/index.js"]': 配置启动参数,'args' 是一个字符串数组,第一个元素是服务器入口文件 'index.js' 的路径。请务必将 '/path/to/penumbra-mcp' 替换为你本地代码仓库的实际路径。 该路径指向的是执行 'npm run build' 后生成的 'build/index.js' 文件。
- '"env": { ... }': 配置环境变量,用于设置 Penumbra 节点连接信息和其他参数。
- 'PENUMBRA_NODE_URL': Penumbra 节点 RPC URL。可以根据需要修改为本地节点或其他远程节点。
- 'PENUMBRA_NETWORK': Penumbra 网络名称,例如 'mainnet'、'testnet' 等。
- 'PENUMBRA_CHAIN_ID': Penumbra 链 ID。
- 其他环境变量如 'PENUMBRA_REQUEST_TIMEOUT'、'PENUMBRA_DEX_BATCH_INTERVAL' 等可以根据需要进行调整,具体含义请参考仓库 README 文档。
注意: 请根据你的实际代码存放路径和 Penumbra 网络配置,修改 'args' 中的文件路径和 'env' 中的环境变量。
基本使用方法
完成服务器配置后,在 MCP 客户端(例如 Claude 桌面应用)中,你可以通过自然语言指令调用 Penumbra MCP 服务器提供的工具,例如:
- 查询验证器集合: 在 Claude 中输入 'Tell Claude: "Show me the current Penumbra validator set"'
- 查询链状态: 在 Claude 中输入 'Tell Claude: "What's the current status of the Penumbra chain?"'
- 查询交易详情: 在 Claude 中输入 'Tell Claude: "Look up Penumbra transaction [交易哈希]"',将 '[交易哈希]' 替换为实际的 Penumbra 交易哈希值。
- 查询 DEX 状态: 在 Claude 中输入 'Tell Claude: "Show me the current Penumbra DEX state"'
- 查询治理提案: 在 Claude 中输入 'Tell Claude: "List active Penumbra governance proposals"' 或 'Tell Claude: "List completed Penumbra governance proposals"'
MCP 客户端会将这些自然语言指令转换为对 Penumbra MCP 服务器的工具调用请求,服务器执行相应的工具并返回结果给客户端。
信息
分类
网页与API