Aerodrome Finance MCP Server
Enables AI assistants to perform Aerodrome Finance DEX operations on Base chain, including token swaps, liquidity management, and market analysis through natural language.
README
<div align="center">
🌐 Aerodrome Finance MCP Server v0.1
Production-ready Model Context Protocol (MCP) server for Aerodrome Finance DEX operations on Base chain
Features • Quick Start • API • Tools • Examples • Prompts • Security
</div>
🚀 Features
🎯 Complete DEX Integration
- Full Aerodrome Finance V2 DEX support with concentrated liquidity
- Real-time token swaps with slippage protection
- Liquidity pool management and analytics
- Multi-route path optimization for best rates
- Gas-optimized transactions on Base chain
- Support for stable and volatile pools
🧠 Intelligent Trading Engine
- Smart routing through multiple DEX pools
- Automatic token detection and validation
- Real-time price feeds and quotes
- Slippage protection and MEV resistance
- Transaction simulation before execution
- Price impact calculations
🤖 MCP Protocol Implementation
- 11+ specialized tools for DEX automation
- Compatible with Claude Desktop and AI assistants
- HTTP and stdio transport support
- Real-time transaction execution
- Comprehensive error handling and retry logic
- Structured responses optimized for LLMs
🏛️ Enterprise-Ready Architecture
- Built with Express.js for scalability
- Ethers.js v5 for blockchain interactions
- Zod schemas for input validation
- Docker containerization support
- Comprehensive logging and monitoring
- Production-tested components
📦 Quick Start
✅ Prerequisites
# Required
Node.js >= 18.0.0
npm >= 9.0.0
# Optional
Docker & Docker Compose (for containerized deployment)
Private key for transaction execution
📥 Installation
# Clone the repository
git clone https://github.com/Tairon-ai/aerodrome-finance-mcp.git
cd aerodrome-finance-mcp
# Install dependencies
npm install
# Configure environment
cp .env.example .env
# Edit .env with your configuration
# Start the server
npm start
# Development mode
npm run dev
# MCP stdio server for Claude Desktop
npm run mcp
🐳 Docker Deployment
# Build and run with Docker Compose
docker-compose up -d
# View logs
docker-compose logs -f
# Stop services
docker-compose down
🤖 Claude Desktop Integration
Add to your Claude Desktop configuration:
{
"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"
}
}
}
}
🛠 Available Tools
🏦 DEX Operations
| Tool | Description | Parameters |
|---|---|---|
getServiceInfo |
Get server capabilities and config | - |
getTokenInfo |
Get token details (symbol, decimals, supply) | tokenAddress |
getPoolInfo |
Get pool analytics (reserves, TVL) | poolAddress |
getPoolByTokens |
Find pools by token pair | tokenA, tokenB, stable |
getAllPools |
List all available pools | limit |
getQuote |
Get detailed swap quote | tokenIn, tokenOut, amountIn, stable |
getQuoteSimple |
Get quick price estimate | tokenIn, tokenOut, amountIn |
getQuoteRest |
Get accurate quote via REST | tokenIn, tokenOut, amountIn, stable |
executeSwap |
Execute token swap | tokenIn, tokenOut, amountIn, slippage, deadline |
addLiquidity |
Add liquidity to pool | tokenA, tokenB, amountA, amountB, stable |
getWalletBalances |
Get wallet token balances | walletAddress, tokens |
🔗 API Endpoints
🌐 Core Endpoints
GET / # Server status and info
GET /health # Health check
GET /mcp # MCP server information
POST /mcp # MCP protocol endpoint
GET /mcp/tools # List available tools
💡 Examples
💰 Get Token Information
// Get USDC token details
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "getTokenInfo",
"arguments": {
"tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}
},
"id": 1
}
🔄 Execute Swap
// Swap 1000 USDC for WETH
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "executeSwap",
"arguments": {
"tokenIn": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"tokenOut": "0x4200000000000000000000000000000000000006",
"amountIn": "1000",
"slippage": 0.5,
"deadline": 20
}
},
"id": 1
}
📊 Get Swap Quote
// Get quote for swapping 1 ETH to USDC
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "getQuoteRest",
"arguments": {
"tokenIn": "0x4200000000000000000000000000000000000006",
"tokenOut": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amountIn": "1.0",
"stable": false
}
},
"id": 1
}
🤖 Prompts
💬 Example Prompts for Claude, ChatGPT, or Other AI Assistants
These prompts demonstrate how to interact with the MCP server through natural language when integrated with AI assistants:
💱 Token Swapping
"What's the current price of ETH in USDC on Aerodrome?"
"Swap 100 USDC to AERO tokens with 0.5% slippage"
"Execute a swap of 0.5 ETH to USDC with maximum slippage protection"
"Find the best route to swap 10,000 USDC to WETH"
💧 Liquidity Management
"Add liquidity to the WETH/USDC pool with 1 ETH and equivalent USDC"
"What's the current TVL in the WETH/USDC volatile pool?"
"Show me the top 10 pools by volume on Aerodrome"
"Calculate the optimal ratio for adding liquidity to AERO/USDC"
📊 Market Analysis
"Get the 24h volume for WETH/USDC pair"
"Show me all available pools for AERO token"
"What's the price impact of swapping 50 ETH to USDC?"
"Compare rates between stable and volatile pools for USDC/DAI"
💼 Portfolio Management
"Check my wallet balances for all tokens"
"What's my total portfolio value in USD?"
"Show me my liquidity positions and their current values"
"Monitor my transactions on Base chain"
🔧 Integration Tips for AI Assistants
When using these prompts with the MCP server:
- Always specify token addresses or symbols for accurate operations
- Set appropriate slippage (typically 0.5-2%)
- Monitor gas prices before large transactions
- Check balances before attempting swaps
- Use quotes first before executing actual swaps
🧪 Testing
🔍 API Testing with cURL
# Check server health
curl http://localhost:8080/health
# Get MCP server info
curl http://localhost:8080/mcp
# List all available tools
curl http://localhost:8080/mcp/tools
# Execute a tool
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
}'
🔒 Security
🔐 Best Practices
- Private Key Management: Never commit private keys. Use environment variables
- Transaction Simulation: Test operations before execution
- Slippage Protection: Set appropriate limits (typically 0.5-2%)
- Gas Management: Monitor gas prices and set reasonable limits
- Access Control: Implement authentication for production
- Monitoring: Use Basescan to track all transactions
🛡️ Security Features
- Automatic gas estimation with buffer
- Transaction simulation before execution
- Slippage protection on all swaps
- Input validation with Zod schemas
- Comprehensive error handling
- Rate limiting support
📊 Supported Networks & Tokens
🌐 Network
- Base Mainnet (Chain ID: 8453)
- RPC:
https://mainnet.base.org - Explorer: Basescan
🪙 Key Tokens
- WETH:
0x4200000000000000000000000000000000000006 - AERO:
0x940181a94A35A4569E4529A3CDfB74e38FD98631 - USDC:
0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 - DAI:
0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb
📜 Key Contracts
- Router:
0xcF77a3Ba9A5CA399B7c97c74d54e5b1Beb874E43 - Factory:
0x420DD381b31aEf6683db6B902084cB0FFECe40Da - Voter:
0x16613524e02ad97eDfeF371bC883F2F5d6C480A5
🚀 Deployment
🏭 Production Deployment
# Build for production
npm run build
# Start production server
NODE_ENV=production npm start
# With PM2
pm2 start server.js --name aerodrome-mcp
# With Docker
docker build -t aerodrome-mcp .
docker run -d -p 8080:8080 --env-file .env aerodrome-mcp
🔑 Environment Variables
# Required for transactions
WALLET_PRIVATE_KEY=your_private_key_without_0x
# Optional
PORT=8080
BASE_RPC_URL=https://mainnet.base.org
NODE_ENV=production
📈 Performance
- Response Time: <100ms for read operations
- Transaction Speed: ~2s on Base network
- Throughput: 100+ requests per second
- Gas Optimization: Ultra-low fees on Base
- Caching: Optimized for repeated queries
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
# Fork and clone
git fork https://github.com/Tairon-ai/aerodrome-finance-mcp
git clone https://github.com/Tairon-ai/aerodrome-finance-mcp
# Create feature branch
git checkout -b feature/amazing-feature
# Make changes and test
npm test
# Commit and push
git commit -m 'feat: add amazing feature'
git push origin feature/amazing-feature
# Open Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Aerodrome Finance - Leading DEX on Base
- Base - Ethereum L2 built by Coinbase
- Model Context Protocol - AI integration standard
- Ethers.js - Ethereum library
<div align="center">
Built by Tairon.ai team with help from Claude
</div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。