项目简介

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 测试网上进行,请勿使用真实资产。直接执行交易功能需要配置测试钱包的私钥。

安装步骤

  1. 克隆项目仓库到本地:
    git clone https://github.com/deseti/mcp-moni.git
    cd mcp-moni
  2. 安装项目依赖:
    npm install
  3. 创建 '.env' 文件: 在项目根目录下创建一个名为 '.env' 的文件,并添加你的 Monad 测试网钱包私钥:
    TEST_WALLET_PRIVATE_KEY=your_test_wallet_private_key_here
    重要提示: 为了安全,请务必使用专门为测试目的创建的钱包,切勿使用包含真实资产的主钱包私钥。
  4. 构建项目:
    npm run build
  5. 手动运行 MCP 服务器(用于测试或调试):
    node build/index.js
    服务器将在标准输入/输出(stdio)上运行,等待 MCP 客户端连接。

服务器配置 (适用于 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 服务器。

基本使用方法

  1. 确保你已经按照安装和配置步骤成功启动了 MCP Moni 服务器,并且你的 LLM 客户端(如 Claude Desktop)已配置并识别该服务器。

  2. 在 LLM 客户端的对话界面中,使用 '@' 符号加上你在客户端配置中指定的服务器名称(例如 '@mcp-moni')来激活 MCP Moni 服务器。

  3. 激活服务器后,你可以直接向 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 工具,并将工具的执行结果返回给你。

信息

分类

开发者工具