项目简介
这是一个基于 Model Context Protocol (MCP) 标准实现的服务器端应用,利用 Meson 协议为大型语言模型(LLM)客户端提供进行跨链资产交易的能力。它允许用户通过对话的方式方便地在不同区块链之间转移数字资产。
主要功能点
- 跨链交易准备: 根据用户指令,调用 Meson API 准备跨链交易所需的数据,包括价格信息和待签名数据。
- 交易签名与执行: 使用配置的私钥对交易数据进行签名,并将签名后的交易提交到 Meson 网络执行。
- 交易状态查询: 调用 Meson API 查询已提交的跨链交易的当前状态。
- 支持多种主流区块链和代币的跨链转移。
- 支持在主网和测试网环境下运行。
安装步骤
- 确保您的系统已安装 Deno (版本 1.37.0 或更高)。您可以访问 Deno 官网 获取安装指南。
- 克隆代码仓库到本地:
git clone https://github.com/Dangoron/meson_mcp.git cd meson_mcp - 重要: 设置环境变量 'MESON_PRIVATE_KEY' 为您的以太坊兼容链私钥。这是进行交易签名必需的步骤,请确保私钥安全,避免直接在代码中硬编码,仅通过环境变量提供。
- Linux/MacOS:
export MESON_PRIVATE_KEY=your_private_key_here - Windows:
set MESON_PRIVATE_KEY=your_private_key_here
- Linux/MacOS:
- (可选)如果您想使用 Meson 主网进行交易,请设置环境变量 'MESON_USE_MAINNET' 为 '"true"'。默认情况下使用测试网。
- Linux/MacOS:
export MESON_USE_MAINNET="true" - Windows:
set MESON_USE_MAINNET="true"
- Linux/MacOS:
- 通过 Deno 运行 MCP 服务器程序:
服务器启动后,会监听标准输入输出 (Stdio) 等待 MCP 客户端连接。deno run --allow-net --allow-env main.ts
服务器配置
该 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 客户端中表现为:
- 用户向 LLM 提出跨链交易请求(例如:“我想把 Arbitrum Sepolia 上的 10 个 USDC 转到 Polygon Mumbai,我的地址是... ”)。
- LLM 客户端通过 MCP 调用服务器的 'prepareSwap' 工具,将用户的交易详情作为参数传递。
- MCP 服务器调用 Meson API 准备交易,返回待签名数据给客户端。
- LLM 客户端将待签名数据呈现给用户确认(或直接处理,取决于客户端实现)。
- LLM 客户端通过 MCP 调用服务器的 'executeSwap' 工具,将 'prepareSwap' 返回的编码数据和签名请求数据连同私钥(通过环境变量提供给服务器)进行签名并提交。
- MCP 服务器调用 Meson API 执行交易,返回交易 ID 和结果。
- LLM 客户端通过 MCP 调用服务器的 'checkSwapStatus' 工具,使用交易 ID 查询交易的实时状态,并反馈给用户。
信息
分类
商业系统