内容
# 🔄 Odos 服务器
[](https://www.npmjs.com/package/@iqai/mcp-odos)
[](https://opensource.org/licenses/ISC)
## 📖 概述
Odos 服务器使 AI 代理能够与 [Odos](https://odos.xyz) 进行交互,Odos 是一种领先的 DEX 聚合器,可以在多个去中心化交易所中找到最佳的兑换路线。该服务器提供了对报价检索和兑换执行功能的全面访问。
通过实现模型上下文协议(MCP),该服务器允许大型语言模型(LLM)直接在其上下文窗口中获取兑换报价、比较价格和执行代币兑换,从而弥合了 AI 和去中心化金融之间的差距。
## ✨ 功能
* **获取报价**:获取跨多个 DEX 的最佳兑换报价和路线。
* **多链支持**:在 Fraxtal、以太坊等各种区块链网络上执行兑换。
* **执行兑换**:执行代币兑换,并自动处理许可。
* **链 ID 查询**:检索支持的区块链网络的链 ID。
## 📦 安装
### 🚀 使用 npx(推荐)
在不全局安装的情况下使用此服务器:
```bash
npx @iqai/mcp-odos
```
### 🔧 从源代码构建
```bash
git clone https://github.com/IQAIcom/mcp-odos.git
cd mcp-odos
pnpm install
pnpm run build
```
## ⚡ 使用 MCP 客户端运行
在您的 MCP 客户端设置中添加以下配置(例如 `claude_desktop_config.json`)。
### 📋 最小配置
```json
{
"mcpServers": {
"odos": {
"command": "npx",
"args": ["-y", "@iqai/mcp-odos"],
"env": {
"WALLET_PRIVATE_KEY": "您的钱包私钥"
}
}
}
}
```
### ⚙️ 高级配置(本地构建)
```json
{
"mcpServers": {
"odos": {
"command": "node",
"args": ["/绝对路径/to/mcp-odos/dist/index.js"],
"env": {
"WALLET_PRIVATE_KEY": "您的钱包私钥"
}
}
}
}
```
## 🔐 配置(环境变量)
| 变量 | 是否必填 | 描述 | 默认值 |
| :--- | :--- | :--- | :--- |
| `WALLET_PRIVATE_KEY` | 是 | 执行兑换的钱包私钥 | - |
## 💡 使用示例
### 🔍 获取报价
* "获取在 Fraxtal 上兑换 1000 USDC 为 FRAX 的报价。"
* "在以太坊上兑换 ETH 为 USDC 的最佳汇率是多少?"
* "在 Fraxtal 上用 100 USDC 能兑换多少 FRAX?"
### 💱 执行兑换
* "在 Fraxtal 上兑换 100 USDC 为 FRAX。"
* "执行交易:卖出 1000 USDC 为 ETH。"
* "用我的 USDC 兑换最大金额的 FRAX。"
### 🔗 链信息
* "Fraxtal 的链 ID 是什么?"
* "获取以太坊主网的链 ID。"
## 🛠️ MCP 工具
<!-- AUTO-GENERATED TOOLS START -->
### `ODOS_GET_CHAIN_ID`
获取给定链名的链 ID
| 参数 | 类型 | 是否必填 | 描述 |
|-----------|------|----------|-------------|
| `chain` | 字符串 | ✅ | 要获取 ID 的链名 |
### `ODOS_GET_QUOTE`
获取兑换或交换操作的报价
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|-----------|------|----------|---------|-------------|
| `chain` | 字符串 | | "fraxtal" | 执行交易的区块链网络。默认使用 fraxtal |
| `fromToken` | 字符串 | ✅ | | 兑换的代币(地址)。 |
| `toToken` | 字符串 | ✅ | | 兑换到的代币(地址)。 |
| `amount` | 字符串 | ✅ | | 兑换的代币数量,单位为 wei。 |
| `prettyFormat` | 布尔值 | | true | 是否格式化报价。 |
### `ODOS_SWAP`
执行兑换交易
| 参数 | 类型 | 是否必填 | 默认值 | 描述 |
|-----------|------|----------|---------|-------------|
| `chain` | 字符串 | | "fraxtal" | 执行交易的区块链网络。默认使用 fraxtal |
| `fromToken` | 字符串 | ✅ | | 兑换的代币(地址)。 |
| `toToken` | 字符串 | ✅ | | 兑换到的代币(地址)。 |
| `amount` | 字符串 | ✅ | | 兑换的代币数量,单位为 wei。 |
| `prettyFormat` | 布尔值 | | true | 是否格式化报价。 |
<!-- AUTO-GENERATED TOOLS END -->
## 👨💻 开发
### 🏗️ 构建项目
```bash
pnpm run build
```
### 👁️ 开发模式(监听)
```bash
pnpm run watch
```
### ✅ 校验和格式化
```bash
pnpm run lint
pnpm run format
```
### 📁 项目结构
* `src/tools/`:单个工具定义
* `src/services/`:API 客户端和业务逻辑
* `src/utils/`:共享实用程序
* `src/index.ts`:服务器入口点
## 📚 资源
* [Odos 文档](https://docs.odos.xyz)
* [模型上下文协议(MCP)](https://modelcontextprotocol.io)
* [Odos 平台](https://odos.xyz)
## ⚠️ 免责声明
本项目是一个非官方工具,与 Odos 没有直接关联。它与金融数据和去中心化交易所交互。用户应谨慎行事,并独立验证所有数据。在去中心化交易所进行交易存在风险。
## 📄 许可证
[ISC](LICENSE)