Aerodrome Swap MCP Server
Integrates with the Aerodrome Swap API to enable token swaps, pool information retrieval, price queries, and quote generation via the MCP framework.
README
Aerodrome Swap MCP Server
This is a Model Context Protocol (MCP) server that provides integration with the Aerodrome Swap API. It allows users to interact with Aerodrome's decentralized exchange functionality through the MCP framework.
Features
- Interact with Aerodrome Swap API
- Support for token swaps
- Pool information retrieval
- Price information retrieval
- Quote generation
Prerequisites
- Python 3.8+
- Conda environment activated
Installation
# Clone the repository
git clone <repository-url>
cd aerodrome-swap-mcp
# Install dependencies
pip install -r requirements.txt
Usage
# Start the MCP server
uvx aerodrome-swap-mcp
Or alternatively, you can install and run it locally:
# Install the package
pip install -e .
# Start the MCP server
aerodrome-swap-mcp
API Reference
This MCP server provides the following tools for interacting with the Aerodrome Swap API:
Token Operations
-
get_tokens - Get all tokens with optional filtering
target(str, optional): The target blockchain, "base", "aero", "optimistic-ethereum", "velo". Defaults to "aero".limit(int, optional): Max tokens to return (1-1000, default: 100). Defaults to 100.offset(int, optional): Skip tokens for pagination (default: 0). Defaults to 0.listed_only(bool, optional): Only return listed tokens. Defaults to False.
-
get_token_by_address - Get detailed information about a specific token.
address(str): The token address.target(str, optional): The target blockchain, "base", "aero", "optimistic-ethereum", "velo". Defaults to "aero".
-
get_tokens_batch - Get information for multiple tokens in a single request. Useful for efficiently fetching data for token lists.
addresses(List[str]): The list of token addresses to retrieve information for.target(str, optional): The target blockchain, "base", "aero", "optimistic-ethereum", "velo". Defaults to "aero".
-
search_tokens - Search for tokens by symbol or address. This is useful for token selection in UI components.
query(str): Search term (symbol or address).target(str, optional): The target blockchain, "base", "aero", "optimistic-ethereum", "velo". Defaults to "aero".limit(int, optional): Max results (1-50, default: 10)
Price Operations
-
get_prices - Get current token prices. This endpoint is optimized for high-frequency price queries with intelligent caching.
target(str, optional): The target blockchain, "base", "aero", "optimistic-ethereum", "velo". Defaults to "aero".limit(int, optional): limit (int, optional): Max pools to return (1-1000, default: 100). Only worked when "symbols" is empty. Defaults to 50.offset(int, optional): Skip pools for pagination (default: 0). Only worked when "symbols" is empty. Defaults to 0.symbols(Optional[List[str]], optional): The token symbols to filter prices by. When "symbols" is set, "limit" and "offset" are ignored. Exp, "AERO,USDC". Defaults to None.
-
get_price_by_address - Get price for a specific token.
address(str): The token address.target(str, optional): The target blockchain, "base", "aero", "optimistic-ethereum", "velo". Defaults to "aero".
Pool Operations
-
get_pools - Get a list of Aerodrome pools
target(str, optional): The target blockchain, "base", "aero", "optimistic-ethereum", "velo". Defaults to "aero".limit(int, optional): Max pools to return (1-1000, default: 100). Defaults to 100.offset(int, optional): Skip pools for pagination (default: 0). Defaults to 0.token(Optional[str], optional): The token address to filter pools by. Defaults to None.
-
get_pools_detailed - Get detailed pool information with TVL, APR, volume, fees, and voting rewards
target(str, optional): The target blockchain, "base", "aero", "optimistic-ethereum", "velo". Defaults to "aero".limit(int, optional): Max pools to return (1-1000, default: 100). Defaults to 100.offset(int, optional): Skip pools for pagination (default: 0). Defaults to 0.sort_by(str, optional): The field to sort by, must be one of: tvl, apr, volume, fees. Defaults to "tvl".symbol(Optional[str], optional): The pool symbol. Defaults to None.min_tvl(Optional[int], optional): The minimum TVL to filter pools by. Defaults to None.
-
get_pool_by_address - Get detailed information about a specific pool by address.
address(str): The address of the pool.token0(Optional[str], optional): The token0 address to filter pools by. Defaults to None.target(str, optional): The target blockchain, "base", "aero", "optimistic-ethereum", "velo". Defaults to "aero".
-
search_pools - Search for pools by token pair and other criteria. At least one token address is required.
token0(Optional[str], optional): The token0 address to filter pools by. Defaults to None.token1(Optional[str], optional): The token1 address to filter pools by. Defaults to None.target(str, optional): The target blockchain, "base", "aero", "optimistic-ethereum", "velo". Defaults to "aero".
Swap Operations
-
get_quote - Get quotes for Aerodrome
from_token(str): Token to swap from (contract address)to_token(str): Token to swap to (contract address)amount(int): Amount to swap (in token units, not wei)target(str, optional): The target blockchain, "base", "aero", "optimistic-ethereum", "velo". Defaults to "aero".
-
build_swap - Simulates transaction (customer needs to approve on their end)
from_token(str): Token to swap from (contract address)to_token(str): Token to swap to (contract address)amount(str): Amount to swap (in token units, not wei)wallet_address(str): Wallet address to execute swap.target(str, optional): The target blockchain, "base", "aero", "optimistic-ethereum", "velo". Defaults to "aero".slippage(float, optional): Slippage tolerance (0.001-0.5, default: 0.005)
-
get_transaction - Get transaction after swap.
tx_hash(str): Transaction hash.target(str, optional): The target blockchain. Defaults to "aero".
Development
To contribute to this project:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
推荐服务器
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 模型以安全和受控的方式获取实时的网络信息。