项目简介

Odos DEX MCP 服务器是一个遵循 Model Context Protocol (MCP) 标准的应用后端。它允许兼容 MCP 的客户端(如 AI 助手、IDE 扩展等)与去中心化交易所(DEX)进行交互,核心功能是利用 Odos 交易聚合器来获取加密货币兑换的最佳报价并执行交易。

主要功能点

该服务器通过 MCP 的 工具 (Tools) 机制,向连接的客户端暴露以下能力:

  • 查询交易报价 ('ODOS_GET_QUOTE'): 根据指定的区块链、卖出代币、买入代币和卖出数量,获取最优的兑换报价信息,包括预计收到的数量、价格影响、Gas 估算等。
  • 执行兑换交易 ('ODOS_SWAP'): 根据之前获取的报价(特别是其中的路径 ID),代表用户在区块链上实际执行代币兑换操作。此功能需要用户在服务器环境中配置私钥。
  • 获取链 ID ('ODOS_GET_CHAIN_ID'): 根据链名称(如 "fraxtal", "mainnet", "optimism" 等),查询对应的区块链 ID。

安装步骤

运行此 MCP 服务器需要 Node.js (推荐 v18 或更新版本) 和 pnpm。

推荐使用 'pnpm dlx' 直接运行,无需全局安装:

  1. 确保您已安装 Node.js 和 pnpm。
  2. 在 MCP 客户端配置中指定运行命令(见下方配置说明)。

如果您希望全局安装或从源代码构建(用于开发):

  1. 全局安装:
    pnpm add -g mcp-odos
    安装后,'mcp-odos' 命令即可全局使用。
  2. 从源代码构建:
    • 克隆仓库:'git clone https://github.com/IQAIcom/mcp-odos.git && cd mcp-odos'
    • 安装依赖:'pnpm install'
    • 构建项目:'pnpm run build' (通常 'pnpm install' 会自动触发构建)

服务器配置(面向 MCP 客户端)

MCP 服务器通常由 MCP 客户端启动和管理。您需要在客户端的配置中告知客户端如何启动此服务器。配置信息通常以 JSON 格式提供,核心是指定服务器的启动命令和参数。

一个典型的 MCP 客户端配置片段可能包含以下信息:

  • 'mcpServers': 一个对象,其中包含多个 MCP 服务器的定义。
  • 'iq-odos-mcp-server': 这是您给这个服务器实例取的一个名字。
    • 'command': 启动服务器的可执行文件或命令。如果使用 'pnpm dlx',此处为 '"pnpm"';如果全局安装,此处为 '"mcp-odos"'。
    • 'args': 传递给 'command' 的参数数组。如果使用 'pnpm dlx',此处为 '["dlx", "mcp-odos"]';如果全局安装,此处为 '[]'。
    • 'env': 一个对象,用于设置服务器进程的环境变量。执行交易 ('ODOS_SWAP') 功能需要配置 'WALLET_PRIVATE_KEY' 环境变量,值为您的钱包私钥(请注意安全风险,妥善保管您的私钥)。例如:'{ "WALLET_PRIVATE_KEY": "您的私钥" }'。
    • 'workingDirectory': 通常不需要指定,除非您是从源代码构建并运行。

客户端配置示例(描述而非代码块): 您需要在 MCP 客户端的配置文件中添加一个 MCP 服务器定义,指定服务器名称(例如 'iq-odos-mcp-server'),并配置启动命令 ('command') 和参数 ('args')。如果需要执行交易,还需要在 'env' 字段中设置 'WALLET_PRIVATE_KEY' 环境变量,并填入您的以太坊私钥。例如,使用 'pnpm dlx' 的配置中,'command' 是 'pnpm','args' 是 '["dlx", "mcp-odos"]'。使用全局安装时,'command' 是 'mcp-odos','args' 是 '[]'。

基本使用方法

配置完成后,MCP 客户端启动时会自动启动此服务器。您无需手动与其交互。

当您使用 MCP 客户端进行操作时(例如,通过 AI 助手),AI 或客户端能够识别并调用此服务器暴露的工具。例如:

  • 如果您请求 AI "在 Optimism 上用 1 ETH 兑换 USDC",AI 可能会调用 'ODOS_GET_QUOTE' 工具来获取报价。
  • 如果您确认报价并指示 AI "执行兑换",AI 可能会调用 'ODOS_SWAP' 工具来完成链上交易。
  • 如果您询问 AI "Polygon 的链 ID 是多少",AI 可能会调用 'ODOS_GET_CHAIN_ID' 工具来查询。

具体的交互方式取决于您的 MCP 客户端界面和功能。

信息

分类

商业系统