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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.