项目简介

这是一个基于 Model Context Protocol (MCP) 标准实现的服务器端应用,利用 Meson 协议为大型语言模型(LLM)客户端提供进行跨链资产交易的能力。它允许用户通过对话的方式方便地在不同区块链之间转移数字资产。

主要功能点

  • 跨链交易准备: 根据用户指令,调用 Meson API 准备跨链交易所需的数据,包括价格信息和待签名数据。
  • 交易签名与执行: 使用配置的私钥对交易数据进行签名,并将签名后的交易提交到 Meson 网络执行。
  • 交易状态查询: 调用 Meson API 查询已提交的跨链交易的当前状态。
  • 支持多种主流区块链和代币的跨链转移。
  • 支持在主网和测试网环境下运行。

安装步骤

  1. 确保您的系统已安装 Deno (版本 1.37.0 或更高)。您可以访问 Deno 官网 获取安装指南。
  2. 克隆代码仓库到本地:
    git clone https://github.com/Dangoron/meson_mcp.git
    cd meson_mcp
  3. 重要: 设置环境变量 'MESON_PRIVATE_KEY' 为您的以太坊兼容链私钥。这是进行交易签名必需的步骤,请确保私钥安全,避免直接在代码中硬编码,仅通过环境变量提供。
    • Linux/MacOS:
      export MESON_PRIVATE_KEY=your_private_key_here
    • Windows:
      set MESON_PRIVATE_KEY=your_private_key_here
    请将 'your_private_key_here' 替换为您的实际私钥。
  4. (可选)如果您想使用 Meson 主网进行交易,请设置环境变量 'MESON_USE_MAINNET' 为 '"true"'。默认情况下使用测试网。
    • Linux/MacOS:
      export MESON_USE_MAINNET="true"
    • Windows:
      set MESON_USE_MAINNET="true"
  5. 通过 Deno 运行 MCP 服务器程序:
    deno run --allow-net --allow-env main.ts
    服务器启动后,会监听标准输入输出 (Stdio) 等待 MCP 客户端连接。

服务器配置

该 MCP 服务器设计用于通过标准输入输出 (Stdio) 协议与 MCP 客户端进行通信。LLM 客户端需要知道如何启动这个服务器进程并与其建立连接。以下是提供给 MCP 客户端用于启动该服务器的配置信息概览(请根据您的 MCP 客户端的具体配置方式填写):

  • 服务器名称 (server name): 'meson-crosschain-mcp' (服务器在其能力声明中定义的名称)
  • 启动命令 (command): 'deno' (用于执行 Deno 脚本的命令)
  • 命令参数 (args):
    • 'run' (Deno 的运行子命令)
    • '--allow-net' (允许网络访问,因为服务器需要调用 Meson API)
    • '--allow-env' (允许访问环境变量,用于获取私钥和网络配置)
    • 'main.ts' (服务器的主程序文件)
  • 环境变量 (env):
    • 'MESON_PRIVATE_KEY': 您的私钥(请确保客户端配置的安全存储)
    • 'MESON_USE_MAINNET': '"true"' 或 '"false"' (根据需要配置主网或测试网)

基本使用方法

MCP 服务器通过其暴露的工具为 LLM 客户端提供功能。LLM 客户端(通常是聊天界面或应用)会解析用户的意图,并调用相应的 MCP 工具来执行操作。典型的跨链交易流程在 LLM 客户端中表现为:

  1. 用户向 LLM 提出跨链交易请求(例如:“我想把 Arbitrum Sepolia 上的 10 个 USDC 转到 Polygon Mumbai,我的地址是... ”)。
  2. LLM 客户端通过 MCP 调用服务器的 'prepareSwap' 工具,将用户的交易详情作为参数传递。
  3. MCP 服务器调用 Meson API 准备交易,返回待签名数据给客户端。
  4. LLM 客户端将待签名数据呈现给用户确认(或直接处理,取决于客户端实现)。
  5. LLM 客户端通过 MCP 调用服务器的 'executeSwap' 工具,将 'prepareSwap' 返回的编码数据和签名请求数据连同私钥(通过环境变量提供给服务器)进行签名并提交。
  6. MCP 服务器调用 Meson API 执行交易,返回交易 ID 和结果。
  7. LLM 客户端通过 MCP 调用服务器的 'checkSwapStatus' 工具,使用交易 ID 查询交易的实时状态,并反馈给用户。

信息

分类

商业系统