Skip to main content
Glama
kukapay

liquidity-pools-mcp

by kukapay

Liquidity Pools MCP Server

An MCP server that tracks and analyzes DEX liquidity pools to power intelligent DeFi agents and automated strategies.

GitHub License Python Version Status

Features

  • Liquidity Pool Data Retrieval: Fetches liquidity pool details for a specified chain ID and token address using the DexScreener API.

  • Markdown Table Output: Presents pool data in a clear markdown table with columns for Dex ID, Pair Address, Base/Quote Token Symbols, Price USD, 24h Buy/Sell Transactions, 24h Volume, Liquidity USD, and Market Cap.

  • Total Liquidity Calculation: Computes and displays the total liquidity in USD across all pools.

  • Prompt Guidance: Includes a prompt to guide users on analyzing liquidity pool data, including pool count, table output, total liquidity, and notable metrics.

Related MCP server: dex-kline-mcp

Prerequisites

  • Python 3.10 or higher.

  • uv: Recommended for managing dependencies (documentation).

Installation

  1. Clone the Repository:

    git clone https://github.com/kukapay/liquidity-pools-mcp.git
    cd liquidity-pools-mcp
  2. Install Dependencies:

    Using uv (recommended for faster dependency management):

    uv sync

    Or using pip:

    pip install mcp[cli]
  3. Installing to Claude Desktop:

    Install the server as a Claude Desktop application:

    uv run mcp install main.py --name "Liquidity Pools"

    Configuration file as a reference:

    {
       "mcpServers": {
           "Liquidity Pools": {
               "command": "uv",
               "args": [ "--directory", "/path/to/liquidity-pools-mcp", "run", "main.py" ] 
           }
       }
    }

    Replace /path/to/liquidity-pools-mcp with your actual installation path.

Usage

Use the MCP Inspector or integrate with a client (e.g., Claude Desktop) to call the get_liquidity_pools tool.

Example Prompt:

Fetch the liquidity pools for token 0xe6DF05CE8C8301223373CF5B969AFCb1498c5528 on chain bsc.

Example Output:

| Dex ID      | Pair Address                              | Base/Quote | Price USD | 24h Buys/Sells | 24h Volume | Liquidity USD | Market Cap |
|-------------|-------------------------------------------|------------|-----------|----------------|------------|---------------|------------|
| pancakeswap | 0x123...abc                              | CAKE/BUSD  | 2.45      | 150/100        | 500000     | 1000000       | 2000000    |
| apeswap     | 0x456...def                              | CAKE/BNB   | 2.43      | 80/50          | 300000     | 800000        | 1900000    |

**Total Liquidity USD**: 1800000

License

This project is licensed under the MIT License. See the LICENSE file for details.

Available Tools

1 tool
get_liquidity_poolsA
Fetch all liquidity pools for a given chain ID and token address from DexScreener API.

Args:
    chain_id (str): The blockchain identifier (e.g., 'bsc' for Binance Smart Chain, 'eth' for Ethereum)
    token_address (str): The contract address of the token (e.g., '0xe6DF05CE8C8301223373CF5B969AFCb1498c5528')
    ctx (Context): MCP context for logging and request handling

Returns:
    str: A markdown table containing liquidity pool details including dexId, pairAddress, 
         base/quote token symbols, price USD, 24h buy/sell transactions, 24h volume, 
         liquidity USD, and market cap, followed by total liquidity USD
ParametersJSON Schema
NameRequiredDescriptionDefault
chain_idYes
token_addressYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior: it fetches data from an external API (DexScreener), specifies the return format (a markdown table with detailed metrics), and mentions logging/request handling via the MCP context parameter. However, it lacks details on error handling, rate limits, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core purpose, followed by organized sections for Args and Returns. Every sentence adds value: the first sentence states the action, the Args section details parameters with examples, and the Returns section specifies the output format. There is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (2 parameters, no annotations, no output schema), the description is largely complete. It covers the purpose, parameters, and return format adequately. However, it lacks information on potential errors, rate limits, or authentication, which would be helpful for a tool interacting with an external API.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds significant meaning beyond the input schema, which has 0% description coverage. It provides concrete examples for both parameters (e.g., 'bsc' for chain_id, a sample token address), clarifies data types (str), and explains the purpose of each parameter in the context of the API call. This fully compensates for the schema's lack of documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Fetch all liquidity pools') with the target resource ('for a given chain ID and token address from DexScreener API'). It provides a complete verb+resource+source combination that leaves no ambiguity about what the tool does, especially since there are no sibling tools to differentiate from.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through the parameter explanations (e.g., chain ID examples like 'bsc' and 'eth'), but does not explicitly state when to use this tool versus alternatives. With no sibling tools mentioned, there's no guidance on tool selection, though the parameter details offer some practical context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • First observedget_liquidity_pools

TDQS

A4.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The tool has a single, clearly defined purpose of fetching liquidity pools from DexScreener API.

Naming Consistency5/5

The single tool follows a clear verb_noun pattern (get_liquidity_pools), which is consistent within this minimal set. There are no other tools to create inconsistency.

Tool Count2/5

A single tool is too few for a server focused on liquidity pools, which typically involves operations like creating, updating, or analyzing pools beyond just fetching. This feels incomplete for the domain.

Completeness2/5

The tool surface is severely incomplete for liquidity pool management. It only provides a fetch operation (get), missing essential CRUD operations like create, update, or delete pools, as well as analytical tools for deeper insights.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers