项目简介

MCP Moni 是一个基于 Model Context Protocol (MCP) 的服务器实现,专门用于连接大型语言模型 (LLM) 客户端(如 Claude Desktop)到 Monad 测试网。它允许用户通过自然语言或结构化工具调用来执行各种区块链相关的任务,无需编写代码或深入了解底层技术细节。

主要功能点

  • 余额查询: 检查指定地址的 MON 或其他支持代币的余额,以及查看完整的代币组合。
  • 代币转移: 提供如何手动转移代币的说明,或通过配置的测试钱包直接执行转账操作(仅限测试网)。
  • MON 包裹与解包裹: 将原生 MON 转换为 WMON (Wrapped MON),或将 WMON 解包回原生 MON。
  • 区块链探索: 查询 Monad 测试网的最新区块列表和特定交易的详细信息。
  • NFT 功能: 支持生成 NFT 图像(模拟)和在 Magic Eden (Monad 测试网) 上创建 NFT 合集(需要配置测试钱包)。
  • 代币互换 (Swap): 获取代币互换的报价,并通过配置的测试钱包直接在集成 DEX 上执行代币互换。
  • 流动性质押 (Liquid Staking): 将 MON 质押到 Apriori 协议以获取 aprMON(需要配置测试钱包)。当前 unstake/claim 功能已禁用,aprMON 解质押需通过 Swap 进行。
  • 自然语言支持: 理解并执行部分自然语言发出的区块链操作请求(如包裹/解包裹、转账、Swap)。

安装步骤

  1. 克隆仓库: 将项目仓库克隆到本地计算机的任意目录。
    git clone https://github.com/deseti/mcp-moni.git
    cd mcp-moni
  2. 安装依赖: 进入项目目录,使用 npm 安装所需的库。
    npm install
  3. 配置测试钱包: 在项目根目录创建一个名为 '.env' 的文件,并在其中添加你的 Monad 测试网测试钱包私钥强烈建议仅使用测试钱包,切勿使用包含真实资产的主钱包。
    TEST_WALLET_PRIVATE_KEY=你的测试钱包私钥
    请确保私钥前没有 '0x',或者如果包含 '0x',则整个字符串是有效的私钥格式。
  4. 构建项目: 编译 TypeScript 代码为 JavaScript。
    npm run build
  5. 运行 MCP 服务器: 启动 MCP Moni 服务器。
    node build/index.js
    服务器将通过标准输入/输出来与 MCP 客户端通信。

服务器配置 (供 MCP 客户端使用)

MCP Moni 服务器需要通过 MCP 客户端(如 Claude Desktop)来启动和交互。客户端需要配置 MCP 服务器的启动信息。通常,您需要在客户端的配置文件中添加一个条目,指定如何运行 MCP Moni。

例如,在 Claude Desktop 的 'claude_desktop_config.json' 文件中(该文件通常位于用户应用数据目录,Windows: '%AppData%\Claude\claude_desktop_config.json',macOS: '~/Library/Application Support/Claude/claude_desktop_config.json'),您需要找到或创建 'mcpServers' 部分,并添加以下结构:

{
  "mcpServers": {
    "mcp-moni": { // <--- 这是服务器标识符,您在LLM中将使用@mcp-moni来调用
      "command": "node", // <--- 执行服务器的主程序,对于 Node.js 项目通常是 "node"
      "args": ["/<path-to-project>/build/index.js"] // <--- 传递给主程序的参数,即服务器的入口文件路径
    }
  }
}
  • 将 '<path-to-project>' 替换为您在步骤 1 中克隆项目到本地的 绝对路径
  • 保存配置文件并重启您的 MCP 客户端(如 Claude Desktop)。

基本使用方法

配置并启动 MCP 客户端(并由其启动 MCP Moni 服务器)后,您可以在 LLM 的聊天界面中通过服务器标识符 '@mcp-moni' 来调用 MCP Moni 的功能。

  1. 激活服务器: 在聊天对话中输入 '@mcp-moni',客户端将识别并连接到该服务器。

  2. 发出请求: 在 '@mcp-moni' 之后,您可以输入自然语言请求或特定的工具调用。

    • 自然语言请求: 尝试输入例如:
      • 'check MON balance for 0x...' (检查 MON 余额)
      • 'show my token portfolio' (显示我的代币组合,使用 '.env' 中的钱包)
      • 'warp 0.1 MON' (包裹 0.1 MON 到 WMON)
      • 'unwrap 0.5 WMON' (解包裹 0.5 WMON 到 MON)
      • 'send 0.05 MON to 0x...' (转账 0.05 MON 到指定地址,使用 '.env' 中的钱包)
      • 'swap 1 USDC to MON' (获取 1 USDC 换 MON 的报价)
      • 'stake 10 MON' (质押 10 MON,使用 '.env' 中的钱包)
      • 'create NFT collection named "My Collection" with symbol "MYC"' (创建 NFT 合集,需要提供其他参数如图片)
    • 工具调用 (高级): 如果您熟悉工具名称和参数,可以直接使用 JSON-RPC 格式进行调用。例如,要调用 'get-mon-balance' 工具:
      @mcp-moni tool_code:get-mon-balance({"address": "0x..."})
      LLM 客户端通常会提供更友好的方式来构建工具调用。查阅您 LLM 客户端的文档以了解如何直接调用工具。

服务器将处理您的请求,并在聊天界面中返回结果。

关键词

Monad测试网, 区块链交互, 数字资产管理, NFT, DEX

信息

分类

开发者工具