使用说明

项目简介

AllNads 是一个构建在 Monad 区块链上的 AI 驱动的智能钱包平台,它利用可组合 NFT 和 ERC-6551 协议,为用户提供 AI 助手来管理区块链资产。该仓库包含 AllNads 平台的后端实现,其中 mcp 目录下包含了两个关键的 MCP 服务器实现,分别是 'allnads-mcp-server' 和 'evm-mcp-server',它们为 AI 助手提供与区块链交互的能力。

主要功能点

  • 资源管理 (Resources): 虽然仓库描述中没有明确提及资源托管,但 MCP 服务器作为应用后端,必然负责管理和提供区块链数据等资源,供 AI 助手访问。
  • 工具注册和执行 (Tools): 'mcp/allnads-mcp/src/tools' 和 'mcp/evm-mcp/src/tools' 目录包含了多种预定义的工具,例如 'send_mon' (发送 MON 代币), 'change_template' (更换 NFT 组件), 'evm_account_balance' (查询 EVM 账户余额) 等,这些工具允许 AI 助手调用外部功能,与区块链进行交互。
  • Prompt 模板 (Prompts): 仓库中虽然没有明确的 Prompt 模板定义文件,但 'backend/src/config/prompts.ts' 文件包含了 'getSystemPrompt' 函数,用于生成系统 Prompt,支持定制化的 LLM 交互模式。
  • JSON-RPC 协议通信: MCP 服务器通过 JSON-RPC 协议与客户端通信,处理客户端的资源访问、工具调用和 Prompt 获取等请求。
  • 会话管理: 后端服务器 ('backend/src/services/sessionService.ts') 具备会话管理功能,支持在 WebSocket 环境下与客户端保持持久连接。
  • 能力声明: MCP 服务器通过注册和声明工具,向客户端暴露自身的能力。
  • 多种传输协议支持: 通过 'StdioServerTransport' 和 'SSEServerTransport' 实现了 Stdio 和 SSE 传输协议的支持,为 MCP 客户端提供了灵活的连接方式。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/LanfordCai/allnads.git
    cd allnads
  2. 安装 backend 依赖:

    cd backend
    npm install
    cd ..
  3. 安装 contract 依赖:

    cd contract
    npm install
    cd ..
  4. 安装 mcp 依赖:

    cd mcp/allnads-mcp
    npm install
    cd ../evm-mcp
    npm install
    cd ../..
  5. 配置环境变量:

    • 复制 '.env.example' 文件并重命名为 '.env',根据需要配置 Privy, Monad RPC, OpenRouter API Key 等环境变量。
    • 确保配置 'MONAD_TESTNET_ALLNADS_ADDRESS', 'LOCALHOST_ALLNADS_ADDRESS' 等合约地址,以及 'MONAD_PRIVATE_KEY', 'HARDHAT_PRIVATE_KEY' 等私钥。
    • 特别注意配置 'ALLNADS_SERVER_API_URL' 和 'ALLNADS_SERVER_API_KEY',这两个变量用于 MCP 服务器与 AllNads 后端 API 的安全通信。
  6. 编译智能合约 (可选): 如果需要部署或测试智能合约,可以执行以下命令:

    cd contract
    npm run compile
    npm run deploy --network monadTestnet # 或 localhost
    cd ..
  7. 构建后端服务:

    cd backend
    npm run build
    cd ..
  8. 启动 MCP 服务器:

    • EVM MCP Server:
      cd mcp/evm-mcp
      npm run start
    • AllNads MCP Server:
      cd mcp/allnads-mcp
      npm run start
      或在 HTTP 模式下启动 (SSE 传输协议):
      cd mcp/allnads-mcp
      USE_HTTP=true npm run start

服务器配置

以下是 MCP 客户端连接 'allnads-mcp-server' 和 'evm-mcp-server' 的配置信息示例 (JSON 格式),客户端需要根据实际情况进行配置:

AllNads MCP Server 配置 (allnads-mcp-server):

{
  "server name": "allnads-mcp-server",
  "command": "node",
  "args": [
    "--loader",
    "ts-node/esm",
    "mcp/allnads-mcp/src/server.ts"
  ],
  "description": "AllNads 账户管理 MCP 服务器"
}

EVM MCP Server 配置 (evm-mcp-server):

{
  "server name": "evm-mcp-server",
  "command": "node",
  "args": [
    "--loader",
    "ts-node/esm",
    "mcp/evm-mcp/src/server.ts"
  ],
  "description": "EVM 区块链查询 MCP 服务器"
}

配置参数说明:

  • 'server name': MCP 服务器的名称,客户端用于标识和选择服务器。例如 '"allnads-mcp-server"' 或 '"evm-mcp-server"'.
  • 'command': 启动 MCP 服务器的命令,通常为 '"node"' (Node.js 环境)。
  • 'args': 启动命令的参数数组,用于指定服务器入口文件和加载器。
    • '"mcp/allnads-mcp/src/server.ts"' 或 '"mcp/evm-mcp/src/server.ts"': 指定 MCP 服务器的入口文件路径。
    • '"--loader"', '"ts-node/esm"': 用于在 Node.js 环境中直接运行 TypeScript 代码。
  • 'description': MCP 服务器的描述信息,用于帮助用户理解服务器的功能和用途,例如 '"AllNads 账户管理 MCP 服务器"' 或 '"EVM 区块链查询 MCP 服务器"'.

基本使用方法

  1. 启动 'allnads-mcp-server' 和 'evm-mcp-server' 这两个 MCP 服务器。
  2. 在 MCP 客户端中,配置服务器连接信息,包括服务器名称、启动命令及其参数。
  3. 客户端可以通过 JSON-RPC 协议与 MCP 服务器进行通信,调用已注册的工具,例如:
    • 调用 'allnads-mcp-server' 的 'send_mon' 工具发送 MON 代币。
    • 调用 'evm-mcp-server' 的 'evm_account_balance' 工具查询 EVM 账户余额。
  4. AI 助手可以通过 MCP 客户端利用这些工具,实现与区块链的交互,例如查询 NFT 资产、执行代币交易等。

注意: 实际使用时,需要根据 MCP 客户端的具体配置方法进行操作,并确保 MCP 客户端与 MCP 服务器的网络连接正常。

信息

分类

AI与计算