Skip to main content
Glama

getPoolDetails

Retrieve detailed liquidity pool information including token pairs, reserves, and trading metrics for DeFi analysis on supported blockchains.

Instructions

Get detailed information about a specific pool. Requires network ID from getNetworks and a pool address.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
networkYesNetwork ID from getNetworks (e.g., "ethereum", "solana")
poolAddressYesPool address or identifier
inversedNoWhether to invert the price ratio

Implementation Reference

  • The handler function that executes the tool logic: fetches detailed pool information from the DexPaprika API using the provided network and pool address, optionally inverting the price ratio, and formats the response for MCP.
    async ({ network, poolAddress, inversed }) => { const data = await fetchFromAPI(`/networks/${network}/pools/${poolAddress}?inversed=${inversed}`); return formatMcpResponse(data); }
  • Zod schema defining the input parameters for the getPoolDetails tool: required network ID, pool address, and optional inversed flag.
    { network: z.string().describe('Network ID from getNetworks (e.g., "ethereum", "solana")'), poolAddress: z.string().describe('Pool address or identifier'), inversed: z.boolean().optional().default(false).describe('Whether to invert the price ratio') },
  • src/index.js:139-151 (registration)
    Registration of the getPoolDetails tool on the MCP server, including name, description, input schema, and handler function.
    server.tool( 'getPoolDetails', 'Get detailed information about a specific pool. Requires network ID from getNetworks and a pool address.', { network: z.string().describe('Network ID from getNetworks (e.g., "ethereum", "solana")'), poolAddress: z.string().describe('Pool address or identifier'), inversed: z.boolean().optional().default(false).describe('Whether to invert the price ratio') }, async ({ network, poolAddress, inversed }) => { const data = await fetchFromAPI(`/networks/${network}/pools/${poolAddress}?inversed=${inversed}`); return formatMcpResponse(data); } );
  • Shared helper function used by getPoolDetails (and other tools) to format the API response into MCP-compatible structure.
    function formatMcpResponse(data) { return { content: [ { type: "text", text: JSON.stringify(data) } ] }; }
  • Shared helper function used by the handler to make API requests to DexPaprika, handling specific error cases like rate limits and deprecated endpoints.
    async function fetchFromAPI(endpoint) { try { const response = await fetch(`${API_BASE_URL}${endpoint}`); if (!response.ok) { if (response.status === 410) { throw new Error( 'This endpoint has been permanently removed. Please use network-specific endpoints instead. ' + 'For example, use /networks/{network}/pools instead of /pools. ' + 'Get available networks first using the getNetworks function.' ); } if (response.status === 429) { throw new Error( 'Rate limit exceeded. You have reached the maximum number of requests allowed for the free tier. ' + 'To increase your rate limits and access additional features, please consider upgrading to a paid plan at https://docs.dexpaprika.com/' ); } throw new Error(`API request failed with status ${response.status}`); } return await response.json(); } catch (error) { console.error(`Error fetching from API: ${error.message}`); throw error; } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/coinpaprika/dexpaprika-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server