Skip to main content

MCP server for Aerodrome Swap API

Project description

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:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aerodrome_swap_mcp-0.1.1.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aerodrome_swap_mcp-0.1.1-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file aerodrome_swap_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: aerodrome_swap_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for aerodrome_swap_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 810de5c328e89c9964a01d070f5b8c4ac70d0e54c7bad71a59914e90d8f8fc14
MD5 4059d9c0ed90f980e6a47b9e211ffa96
BLAKE2b-256 2e49667f478b7e97e486df9e6322ec7acbe9a5e1a3bb32ad81e7ad308fcfefd5

See more details on using hashes here.

File details

Details for the file aerodrome_swap_mcp-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for aerodrome_swap_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ff4f75ce6f26bc7ccf70a95fb8a7cae4401716a59766e5ee8d3c00b9d447cd3a
MD5 19e20d4f7510a78a42cd52955f738ad5
BLAKE2b-256 d08772c148fff5f3eee23c21095940b03eb46d41de1ea79b284134a909595a94

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page