使用说明

项目简介

MCPilot 是一套 Model Context Protocol (MCP) 服务器,旨在使大型语言模型 (LLM) 能够安全地与区块链交互。它通过集成 MetaMask 钱包,允许用户使用自然语言安全地管理 Web3 资产和操作,无需担心私钥泄露的风险。

主要功能点

  • 自然语言区块链交互:用户可以使用自然语言指令,轻松完成代币交换、跨链桥接、合约签署等复杂的区块链操作。无需编写代码,降低了 Web3 的使用门槛。
  • 安全私钥管理:用户的私钥被安全地存储在 MetaMask 钱包中,MCPilot 服务器不会接触到用户的私钥,所有交易签名都在 MetaMask 钱包应用内完成,确保资产安全。
  • Web2/Web3 互操作性:MCPilot 允许 LLM 同时集成 Web2 和 Web3 服务,从而实现跨平台的数据流动和智能合约交互,扩展了 LLM 的应用场景。
  • 模块化 MCP 服务器套件:MCPilot 包含多个独立的 MCP 服务器,每个服务器专注于特定功能,用户可以根据需求选择性部署,例如:
    • 'metamask-mcp': 提供 MetaMask 钱包交互能力。
    • 'chainlist-mcp': 提供区块链网络信息查询能力。
    • 'solc-mcp': 提供 Solidity 智能合约编译能力。
    • 'erc20-mcp': 提供 ERC20 代币管理能力。
    • 'polygon-mcp', 'celo-mcp', 'zircuit-mcp': 提供特定区块链网络的合约验证和代币信息查询能力。

安装步骤

  1. 克隆仓库

    git clone https://github.com/Xiawpohr/mcpilot.git
  2. 进入项目目录

    cd mcpilot
  3. 安装依赖

    根据您需要使用的 MCP 服务器,进入相应的 package 目录(例如 'packages/metamask-mcp'),并运行包管理器命令安装依赖。

    cd packages/metamask-mcp
    npm install  # 或 yarn install

    对其他需要使用的 package 执行相同的操作。

  4. 配置环境变量 (可选)

    部分 MCP 服务器(例如 'polygon-mcp', 'celo-mcp')可能需要 API 密钥才能访问区块链浏览器 API。如果需要使用这些服务器,请在相应的 package 目录下创建 '.env' 文件,并根据 'env.ts' 文件中的定义配置 API 密钥。例如,'packages/polygon-mcp' 需要配置 'POLYGONSCAN_API_KEY'。

服务器配置

以下 JSON 配置示例用于配置支持 MCP 协议的客户端(例如 Claude Desktop)以连接 MCPilot 服务器。您需要将 '/PATH/TO/YOUR_PROJECT' 替换为 MCPilot 项目在您本地机器上的实际路径。

{
  "mcpServers": {
    "metamask-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/metamask-mcp/src/index.ts"
      ],
      "comment": "连接 MetaMask 钱包,进行账户和交易管理"
    },
    "chainlist-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/chainlist-mcp/src/index.ts"
      ],
      "comment": "获取 Chainlist 提供的区块链网络信息"
    },
    "solc-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/solc-mcp/src/index.ts"
      ],
      "comment": "编译 Solidity 智能合约代码"
    },
    "erc20-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/erc20-mcp/src/index.ts"
      ],
      "comment": "管理 ERC20 标准代币,例如查询余额、批准和转移"
    },
    "polygon-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/polygon-mcp/src/index.ts"
      ],
      "comment": "在 Polygon 网络上验证智能合约"
    },
    "celo-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/celo-mcp/src/index.ts"
      ],
      "comment": "在 Celo 网络上验证智能合约"
    },
    "zircuit-server": {
      "command": "npx",
      "args": [
        "tsx",
        "/PATH/TO/YOUR_PROJECT/packages/zircuit-mcp/src/index.ts"
      ],
      "comment": "获取 Zircuit 网络上的代币列表"
    }
  }
}

基本使用方法

  1. 启动 MCPilot 服务器

    根据您需要的功能,启动相应的 MCP 服务器。例如,如果您需要使用 MetaMask 交互功能,请在 'packages/metamask-mcp' 目录下打开终端,并运行启动命令:

    cd packages/metamask-mcp
    npx tsx src/index.ts

    您可以根据需要同时启动多个 MCP 服务器,以便 LLM 客户端可以访问不同的功能。

  2. 配置 MCP 客户端

    在您的 MCP 客户端(例如 Claude Desktop)中,打开 MCP 服务器配置,并将上述 “服务器配置” JSON 代码粘贴到配置中。确保根据实际情况修改项目路径。

  3. 使用自然语言与区块链交互

    在 MCP 客户端中,您可以使用自然语言向 LLM 发出指令,LLM 将会调用 MCPilot 服务器提供的工具来与区块链进行交互。例如:

    • 询问 MetaMask 钱包地址:'我的 MetaMask 钱包地址是什么?'
    • 查询 ETH 余额:'我的 ETH 余额是多少?'
    • 发起代币转账:'向 0xRecipientAddress 转账 10 DAI'
    • 部署智能合约:'部署一个新的 ERC20 代币,名称为 TestToken,符号为 TTK,精度为 18'

    LLM 将会解析您的自然语言指令,并调用相应的 MCP 工具来执行区块链操作,并通过 MetaMask 钱包安全地完成交易签名。

信息

分类

AI与计算