项目简介
MCP Moni 是一个基于 Model Context Protocol (MCP) 构建的应用后端,专门用于与 Monad 测试网进行交互。它允许支持 MCP 的大型语言模型(LLM)客户端通过对话式界面访问和执行区块链操作,无需用户编写代码或理解复杂的底层细节。
主要功能点
- 余额查询: 检查 Monad 测试网上的 MON 或其他代币余额。
- 代币投资组合: 查看指定地址持有的所有代币余额列表。
- 代币转账: 提供代币转账的指导说明,或直接通过配置的测试钱包执行转账。
- MON 包装/解包: 将原生 MON 转换为 Wrapped MON (WMON),或将 WMON 转换回 MON。
- 区块链浏览: 查询 Monad 测试网的最新区块和交易详情。
- NFT 功能: 支持在 Magic Eden (Monad 测试网) 上创建 NFT 合集,并生成 NFT 艺术图片(图片生成为模拟功能)。
- 代币互换 (Swap): 集成去中心化交易所(DEX)功能,获取代币互换报价并执行互换交易。
- 质押 (Staking): 质押 MON 获取 aprMON(流动性质押)。
- 自然语言交互: 支持通过简单的自然语言命令执行部分区块链操作。
注意: 所有交易和操作都在 Monad 测试网上进行,请勿使用真实资产。直接执行交易功能需要配置测试钱包的私钥。
安装步骤
- 克隆项目仓库到本地:
git clone https://github.com/deseti/mcp-moni.git cd mcp-moni - 安装项目依赖:
npm install - 创建 '.env' 文件:
在项目根目录下创建一个名为 '.env' 的文件,并添加你的 Monad 测试网钱包私钥:
重要提示: 为了安全,请务必使用专门为测试目的创建的钱包,切勿使用包含真实资产的主钱包私钥。TEST_WALLET_PRIVATE_KEY=your_test_wallet_private_key_here - 构建项目:
npm run build - 手动运行 MCP 服务器(用于测试或调试):
服务器将在标准输入/输出(stdio)上运行,等待 MCP 客户端连接。node build/index.js
服务器配置 (适用于 MCP 客户端)
将 MCP Moni 服务器集成到支持 MCP 的 LLM 客户端(如 Claude Desktop)中,需要在客户端的配置文件中添加 MCP 服务器的启动信息。
例如,在 Claude Desktop 的 'claude_desktop_config.json' 文件中,找到 'mcpServers' 部分,添加以下配置:
{ "mcpServers": { "mcp-moni": { // <--- 服务器的唯一标识符,可在 Claude 中使用 "@mcp-moni" 激活 "command": "node", // <--- 启动服务器的命令,这里使用 node "args": [ // <--- 传递给命令的参数 "/<path-to-project>/build/index.js" // <--- 指向 MCP Moni 构建后的主文件路径 // 请将 "<path-to-project>" 替换为你实际克隆并构建项目的本地路径 ] } } // 其他配置... }
请根据你的实际项目路径修改 'args' 中的路径。保存配置文件并重启 LLM 客户端,客户端将能够识别并连接到 MCP Moni 服务器。
基本使用方法
-
确保你已经按照安装和配置步骤成功启动了 MCP Moni 服务器,并且你的 LLM 客户端(如 Claude Desktop)已配置并识别该服务器。
-
在 LLM 客户端的对话界面中,使用 '@' 符号加上你在客户端配置中指定的服务器名称(例如 '@mcp-moni')来激活 MCP Moni 服务器。
-
激活服务器后,你可以直接向 LLM 客户端提问或发送请求,LLM 将利用 MCP Moni 提供的工具来执行相应的 Monad 测试网操作。
例如:
- 询问余额:"Check the MON balance for address 0x..." (LLM 可能调用 'get-mon-balance' 工具)
- 询问代币组合:"Show me the token portfolio for my address." (LLM 可能调用 'get-my-portfolio' 工具)
- 请求转账:"Transfer 0.01 MON to address 0x...". LLM 可能会使用 'execute-transfer' 工具 (需要配置私钥)。
- 请求包装 MON:"Wrap 0.5 MON to WMON." (LLM 可能调用 'execute-wrap' 工具)
- 请求获取交易详情:"What are the details for transaction 0x...?" (LLM 可能调用 'get-transaction' 工具)
LLM 客户端将根据你的请求选择并调用合适的 MCP 工具,并将工具的执行结果返回给你。
信息
分类
开发者工具