返回市场
航站 finance mcp

航站 finance mcp

作者:Tairon-ai5 星标更新:2025-08-29

项目介绍

<div align="center">

🌐 Aerodrome Finance MCP 服务器 v0.1

MIT 许可证 Node 版本 基础网络 Aerodrome Finance MCP 协议 Docker 就绪

适用于 Aerodrome Finance DEX 操作的生产就绪型 Model Context Protocol (MCP) 服务器

功能快速开始API工具示例提示安全

</div>

🚀 功能

🎯 完整的 DEX 集成

  • 完整支持 Aerodrome Finance V2 DEX 和集中流动性
  • 实时代币交换并带有滑点保护
  • 流动性池管理和分析
  • 多路径优化以获得最佳汇率
  • 在 Base 链上的交易优化
  • 支持稳定和波动性池

🧠 智能交易引擎

  • 通过多个 DEX 池进行智能路由
  • 自动检测和验证代币
  • 实时价格推送和报价
  • 滑点保护和 MEV 抵抗
  • 执行前的交易模拟
  • 价格影响计算

🤖 MCP 协议实现

  • 超过 11 种专门用于 DEX 自动化的工具
  • 兼容 Claude Desktop 和 AI 助手
  • 支持 HTTP 和 stdio 传输
  • 实时交易执行
  • 完整的错误处理和重试逻辑
  • 优化用于 LLM 的结构化响应

🏛️ 企业级架构

  • 使用 Express.js 构建,具备可扩展性
  • 使用 Ethers.js v5 进行区块链交互
  • 使用 Zod 模式进行输入验证
  • 支持 Docker 容器化
  • 完整的日志记录和监控
  • 经过生产测试的组件

📦 快速开始

✅ 前提条件

# 必需
Node.js >= 18.0.0
npm >= 9.0.0

# 可选
Docker & Docker Compose(用于容器化部署)
用于交易执行的私钥

📥 安装

# 克隆仓库
git clone https://github.com/Tairon-ai/aerodrome-finance-mcp.git
cd aerodrome-finance-mcp

# 安装依赖
npm install

# 配置环境
cp .env.example .env
# 编辑 .env 文件以配置您的设置

# 启动服务器
npm start

# 开发模式
npm run dev

# 用于 Claude Desktop 的 MCP stdio 服务器
npm run mcp

🐳 Docker 部署

# 使用 Docker Compose 构建和运行
docker-compose up -d

# 查看日志
docker-compose logs -f

# 停止服务
docker-compose down

🤖 Claude Desktop 集成

添加到您的 Claude Desktop 配置中:

{
  "mcpServers": {
    "aerodrome-finance": {
      "command": "node",
      "args": ["/path/to/aerodrome-finance-mcp/mcp/index.js"],
      "env": {
        "BASE_RPC_URL": "https://mainnet.base.org",
        "WALLET_PRIVATE_KEY": "your_private_key_without_0x"
      }
    }
  }
}

🛠 可用工具

🏦 DEX 操作

工具描述参数
getServiceInfo获取服务器能力和配置-
getTokenInfo获取代币详情(符号、小数位数、供应量)tokenAddress
getPoolInfo获取池子分析(储备金、TVL)poolAddress
getPoolByTokens根据代币对查找池子tokenA, tokenB, stable
getAllPools列出所有可用的池子limit
getQuote获取详细的交换报价tokenIn, tokenOut, amountIn, stable
getQuoteSimple获取快速价格估算tokenIn, tokenOut, amountIn
getQuoteRest通过 REST 获取准确报价tokenIn, tokenOut, amountIn, stable
executeSwap执行代币交换tokenIn, tokenOut, amountIn, slippage, deadline
addLiquidity向池子添加流动性tokenA, tokenB, amountA, amountB, stable
getWalletBalances获取钱包代币余额walletAddress, tokens

🔗 API 端点

🌐 核心端点

GET  /           # 服务器状态和信息
GET  /health     # 健康检查
GET  /mcp        # MCP 服务器信息
POST /mcp        # MCP 协议端点
GET  /mcp/tools  # 列出可用工具

💡 示例

💰 获取代币信息

// 获取 USDC 代币详情
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "getTokenInfo",
    "arguments": {
      "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
    }
  },
  "id": 1
}

🔄 执行交换

// 交换 1000 USDC 为 WETH
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "executeSwap",
    "arguments": {
      "tokenIn": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "tokenOut": "0x4200000000000000000000000000000000000006",
      "amountIn": "1000",
      "slippage": 0.5,
      "deadline": 20
    }
  },
  "id": 1
}

📊 获取交换报价

// 获取交换 1 ETH 到 USDC 的报价
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "getQuoteRest",
    "arguments": {
      "tokenIn": "0x4200000000000000000000000000000000000006",
      "tokenOut": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amountIn": "1.0",
      "stable": false
    }
  },
  "id": 1
}

🤖 提示

💬 与 Claude、ChatGPT 或其他 AI 助手互动的示例提示

这些提示展示了如何通过自然语言与集成 AI 助手的 MCP 服务器进行交互:

💱 代币交换

“当前 ETH 在 Aerodrome 上的价格是多少 USDC?”

“将 100 USDC 交换为 AERO 代币,滑点为 0.5%”

“执行一个将 0.5 ETH 交换为 USDC 的交易,并使用最大滑点保护”

“找到将 10,000 USDC 交换为 WETH 的最佳路径”

💧 流动性管理

“向 WETH/USDC 池子添加流动性,1 ETH 和等值的 USDC”

“WETH/USDC 波动性池子的当前 TVL 是多少?”

“显示 Aerodrome 上按交易量排名的前 10 个池子”

“计算向 AERO/USDC 添加流动性的最优比例”

📊 市场分析

“获取 WETH/USDC 对的 24 小时成交量”

“显示所有可用的 AERO 代币池子”

“交换 50 ETH 到 USDC 的价格影响是多少?”

“比较 USDC/DAI 在稳定性和波动性池子之间的汇率”

💼 投资组合管理

“检查我所有代币的钱包余额”

“我的总投资组合价值是多少美元?”

“显示我的流动性头寸及其当前价值”

“监控我在 Base 链上的交易”

🔧 与 AI 助手集成的小贴士

在使用这些提示与 MCP 服务器时:

  1. 始终指定代币地址或符号 以确保操作准确
  2. 设置适当的滑点 (通常为 0.5-2%)
  3. 监控 gas 费用 在进行大额交易之前
  4. 检查余额 在尝试交换之前
  5. 先使用报价 再执行实际交换

🧪 测试

🔍 使用 cURL 进行 API 测试

# 检查服务器健康状况
curl http://localhost:8080/health

# 获取 MCP 服务器信息
curl http://localhost:8080/mcp

# 列出所有可用工具
curl http://localhost:8080/mcp/tools

# 执行一个工具
curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "getTokenInfo",
      "arguments": {
        "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
      }
    },
    "id": 1
  }'

🔒 安全

🔐 最佳实践

  • 私钥管理:永远不要提交私钥。使用环境变量
  • 交易模拟:在执行前测试操作
  • 滑点保护:设置适当的限制(通常为 0.5-2%)
  • gas 管理:监控 gas 费用并设置合理的限制
  • 访问控制:为生产环境实施身份验证
  • 监控:使用 Basescan 来跟踪所有交易

🛡️ 安全特性

  • 自动 gas 估计并带有缓冲
  • 执行前的交易模拟
  • 所有交换的滑点保护
  • 使用 Zod 模式进行输入验证
  • 完整的错误处理
  • 支持速率限制

📊 支持的网络及代币

🌐 网络

  • Base 主网(链 ID:8453)
  • RPC:https://mainnet.base.org
  • 探索器:Basescan

🪙 关键代币

  • WETH0x4200000000000000000000000000000000000006
  • AERO0x940181a94A35A4569E4529A3CDfB74e38FD98631
  • USDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
  • DAI0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb

📜 关键合约

  • 路由器0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43
  • 工厂0x420DD381b31aEf6683db6B902084cB0FFECe40Da
  • 投票者0x16613524e02ad97eDfeF371bC883F2F5d6C480A5

🚀 部署

🏭 生产部署

# 为生产构建
npm run build

# 启动生产服务器
NODE_ENV=production npm start

# 使用 PM2
pm2 start server.js --name aerodrome-mcp

# 使用 Docker
docker build -t aerodrome-mcp .
docker run -d -p 8080:8080 --env-file .env aerodrome-mcp

🔑 环境变量

# 交易所需
WALLET_PRIVATE_KEY=your_private_key_without_0x

# 可选
PORT=8080
BASE_RPC_URL=https://mainnet.base.org
NODE_ENV=production

📈 性能

  • 响应时间:读取操作小于 100 毫秒
  • 交易速度:在 Base 网络上约为 2 秒
  • 吞吐量:每秒 100+ 请求
  • gas 优化:在 Base 上费用极低
  • 缓存:针对重复查询进行了优化

🤝 贡献

我们欢迎贡献!请参阅我们的 贡献指南 了解详细信息。

# 分叉并克隆
git fork https://github.com/Tairon-ai/aerodrome-finance-mcp
git clone https://github.com/Tairon-ai/aerodrome-finance-mcp

# 创建功能分支
git checkout -b feature/amazing-feature

# 进行更改并测试
npm test

# 提交并推送
git commit -m 'feat: 添加了惊人的功能'
git push origin feature/amazing-feature

# 打开拉取请求

📄 许可证

此项目采用 MIT 许可证 - 详情见 LICENSE 文件。


🙏 致谢


<div align="center">

Tairon.ai 团队与 Claude 的帮助下构建

</div>