MCP CoinGecko
Access cryptocurrency market data and analytics using the free CoinGecko MCP API endpoint
- Name: MCP CoinGecko
- Package: Remote endpoint (no installation required)
- Endpoint:
https://mcp.api.coingecko.com/mcp
Overview
MCP CoinGecko is a Model Context Protocol server that provides access to CoinGecko's free cryptocurrency market data API. This MCP server connects to CoinGecko's remote endpoint, eliminating the need for local package installation and providing seamless access to real-time cryptocurrency data.
Free vs Pro
CoinGecko offers a free tier with basic rate limits suitable for development
and testing. For production applications requiring higher rate limits and
premium features, consider using McpCoinGeckoPro. For detailed pricing and
plan comparison, visit CoinGecko API
Pricing.
Usage with ADK TypeScript
import {McpCoinGecko} from "@iqai/adk";
const toolset = McpCoinGecko()
const tools = await toolset.getTools()import {McpToolset} from "@iqai/adk";
const toolset = new McpToolset({
name: "CoinGecko MCP Client",
description: "Client for CoinGecko market data",
transport: {
mode: "stdio",
command: "npx",
args: ["-y", "mcp-remote@latest", "https://mcp.api.coingecko.com/mcp"],
env: {
PATH: process.env.PATH || "",
},
},
})
const tools = await toolset.getTools(){
"mcpServers": {
"coingecko-mcp-server": {
"command": "npx",
"args": ["-y", "mcp-remote@latest", "https://mcp.api.coingecko.com/mcp"],
"env": {}
}
}
}Features
- Access to CoinGecko's free cryptocurrency market data API
- Real-time price data and market information
- No API key required for basic functionality
- Remote endpoint connection (no local installation needed)
Available Tools
get_asset_platformsfilter:stringjq_filter:string
get_asset_platformsDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all the asset platforms on CoinGecko** # Response Schema ```json { $ref: '#/$defs/asset_platform_get_response', $defs: { asset_platform_get_response: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'asset platform ID' }, chain_identifier: { type: 'number', description: 'chainlist\'s chain ID' }, image: { type: 'object', description: 'image of the asset platform', properties: { large: { type: 'string' }, small: { type: 'string' }, thumb: { type: 'string' } } }, name: { type: 'string', description: 'chain name' }, native_coin_id: { type: 'string', description: 'chain native coin ID' }, shortname: { type: 'string', description: 'chain shortname' } } } } } } ```
get_id_coinsid:stringcommunity_data:booleandeveloper_data:booleandex_pair_format:stringinclude_categories_details:booleanlocalization:booleanmarket_data:booleansparkline:booleantickers:boolean
get_id_coinsDescription
This endpoint allows you to **query all the metadata (image, websites, socials, description, contract address, etc.) and market data (price, ATH, exchange tickers, etc.) of a coin from the CoinGecko coin page based on a particular coin ID**
get_list_coins_categoriesjq_filter:string
get_list_coins_categoriesDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all the coins categories on CoinGecko** # Response Schema ```json { $ref: '#/$defs/category_get_list_response', $defs: { category_get_list_response: { type: 'object', properties: { category_id: { type: 'string', description: 'category ID' }, name: { type: 'string', description: 'category name' } } } } } ```
get_new_coins_listjq_filter:string
get_new_coins_listDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query the latest 200 coins that recently listed on CoinGecko** # Response Schema ```json { $ref: '#/$defs/list_get_new_response', $defs: { list_get_new_response: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'coin ID' }, activated_at: { type: 'number', description: 'timestamp when coin was activated on CoinGecko' }, name: { type: 'string', description: 'coin name' }, symbol: { type: 'string', description: 'coin symbol' } } } } } } ```
get_coins_marketsvs_currency:stringcategory:stringids:stringinclude_tokens:stringlocale:stringnames:stringorder:stringpage:numberper_page:numberprecision:stringprice_change_percentage:stringsparkline:booleansymbols:stringjq_filter:string
get_coins_marketsDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all the supported coins with price, market cap, volume and market related data** # Response Schema ```json { $ref: '#/$defs/market_get_response', $defs: { market_get_response: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'coin ID' }, ath: { type: 'number', description: 'coin all time high (ATH) in currency' }, ath_change_percentage: { type: 'number', description: 'coin all time high (ATH) change in percentage' }, ath_date: { type: 'string', description: 'coin all time high (ATH) date', format: 'date-time' }, atl: { type: 'number', description: 'coin all time low (atl) in currency' }, atl_change_percentage: { type: 'number', description: 'coin all time low (atl) change in percentage' }, atl_date: { type: 'string', description: 'coin all time low (atl) date', format: 'date-time' }, circulating_supply: { type: 'number', description: 'coin circulating supply' }, current_price: { type: 'number', description: 'coin current price in currency' }, fully_diluted_valuation: { type: 'number', description: 'coin fully diluted valuation (fdv) in currency' }, high_24h: { type: 'number', description: 'coin 24hr price high in currency' }, image: { type: 'string', description: 'coin image url' }, last_updated: { type: 'string', description: 'coin last updated timestamp', format: 'date-time' }, low_24h: { type: 'number', description: 'coin 24hr price low in currency' }, market_cap: { type: 'number', description: 'coin market cap in currency' }, market_cap_change_24h: { type: 'number', description: 'coin 24hr market cap change in currency' }, market_cap_change_percentage_24h: { type: 'number', description: 'coin 24hr market cap change in percentage' }, market_cap_rank: { type: 'number', description: 'coin rank by market cap' }, max_supply: { type: 'number', description: 'coin max supply' }, name: { type: 'string', description: 'coin name' }, price_change_24h: { type: 'number', description: 'coin 24hr price change in currency' }, price_change_percentage_24h: { type: 'number', description: 'coin 24hr price change in percentage' }, roi: { type: 'object', description: 'return on investment data', properties: { currency: { type: 'string', description: 'ROI currency' }, percentage: { type: 'number', description: 'ROI percentage' }, times: { type: 'number', description: 'ROI multiplier' } }, required: [ 'currency', 'percentage', 'times' ] }, symbol: { type: 'string', description: 'coin symbol' }, total_supply: { type: 'number', description: 'coin total supply' }, total_volume: { type: 'number', description: 'coin total trading volume in currency' } } } } } } ```
get_coins_top_gainers_losersvs_currency:stringduration:stringprice_change_percentage:stringtop_coins:stringjq_filter:string
get_coins_top_gainers_losersDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query the top 30 coins with largest price gain and loss by a specific time duration** # Response Schema ```json { $ref: '#/$defs/top_gainers_loser_get_response', $defs: { top_gainers_loser_get_response: { type: 'object', properties: { top_gainers: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'coin ID' }, image: { type: 'string', description: 'coin image url' }, market_cap_rank: { type: 'number', description: 'coin rank by market cap' }, name: { type: 'string', description: 'coin name' }, symbol: { type: 'string', description: 'coin symbol' }, usd: { type: 'number', description: 'coin price in USD' }, usd_14d_change: { type: 'number', description: 'coin 14 day change percentage in USD' }, usd_1h_change: { type: 'number', description: 'coin 1hr change percentage in USD' }, usd_1y_change: { type: 'number', description: 'coin 1 year change percentage in USD' }, usd_200d_change: { type: 'number', description: 'coin 200 day change percentage in USD' }, usd_24h_change: { type: 'number', description: 'coin 24hr change percentage in USD' }, usd_24h_vol: { type: 'number', description: 'coin 24hr volume in USD' }, usd_30d_change: { type: 'number', description: 'coin 30 day change percentage in USD' }, usd_7d_change: { type: 'number', description: 'coin 7 day change percentage in USD' } } } }, top_losers: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'coin ID' }, image: { type: 'string', description: 'coin image url' }, market_cap_rank: { type: 'number', description: 'coin rank by market cap' }, name: { type: 'string', description: 'coin name' }, symbol: { type: 'string', description: 'coin symbol' }, usd: { type: 'number', description: 'coin price in USD' }, usd_14d_change: { type: 'number', description: 'coin 14 day change percentage in USD' }, usd_1h_change: { type: 'number', description: 'coin 1hr change percentage in USD' }, usd_1y_change: { type: 'number', description: 'coin 1 year change percentage in USD' }, usd_200d_change: { type: 'number', description: 'coin 200 day change percentage in USD' }, usd_24h_change: { type: 'number', description: 'coin 24hr change percentage in USD' }, usd_24h_vol: { type: 'number', description: 'coin 24hr volume in USD' }, usd_30d_change: { type: 'number', description: 'coin 30 day change percentage in USD' }, usd_7d_change: { type: 'number', description: 'coin 7 day change percentage in USD' } } } } } } } } ```
get_coins_contractid:stringcontract_address:string
get_coins_contractDescription
This endpoint allows you to **query all the metadata (image, websites, socials, description, contract address, etc.) and market data (price, ATH, exchange tickers, etc.) of a coin from the CoinGecko coin page based on an asset platform and a particular token contract address**
get_range_contract_coins_market_chartid:stringcontract_address:stringfrom:stringto:stringvs_currency:stringinterval:stringprecision:stringjq_filter:string
get_range_contract_coins_market_chartDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **get the historical chart data within certain time range in UNIX along with price, market cap and 24hr volume based on asset platform and particular token contract address** # Response Schema ```json { $ref: '#/$defs/market_chart_get_range_response', $defs: { market_chart_get_range_response: { type: 'object', properties: { market_caps: { type: 'array', items: { type: 'array', items: { type: 'number' } } }, prices: { type: 'array', items: { type: 'array', items: { type: 'number' } } }, total_volumes: { type: 'array', items: { type: 'array', items: { type: 'number' } } } } } } } ```
get_coins_historyid:stringdate:stringlocalization:booleanjq_filter:string
get_coins_historyDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query the historical data (price, market cap, 24hrs volume, ...) at a given date for a coin based on a particular coin ID** # Response Schema ```json { $ref: '#/$defs/history_get_response', $defs: { history_get_response: { type: 'object', properties: { id: { type: 'string', description: 'coin ID' }, community_data: { type: 'object', description: 'coin community data', properties: { facebook_likes: { type: 'number', description: 'coin facebook likes' }, reddit_accounts_active_48h: { type: 'number', description: 'coin reddit accounts active 48h' }, reddit_average_comments_48h: { type: 'number', description: 'coin reddit average comments 48h' }, reddit_average_posts_48h: { type: 'number', description: 'coin reddit average posts 48h' }, reddit_subscribers: { type: 'number', description: 'coin reddit subscribers' } } }, developer_data: { type: 'object', description: 'coin developer data', properties: { closed_issues: { type: 'number', description: 'coin repository closed issues' }, code_additions_deletions_4_weeks: { type: 'object', description: 'coin code additions deletions 4 weeks', properties: { additions: { type: 'number' }, deletions: { type: 'number' } } }, commit_count_4_weeks: { type: 'number', description: 'coin commit count 4 weeks' }, forks: { type: 'number', description: 'coin repository forks' }, pull_request_contributors: { type: 'number', description: 'coin repository pull request contributors' }, pull_requests_merged: { type: 'number', description: 'coin repository pull requests merged' }, stars: { type: 'number', description: 'coin repository stars' }, subscribers: { type: 'number', description: 'coin repository subscribers' }, total_issues: { type: 'number', description: 'coin repository total issues' } } }, image: { type: 'object', description: 'coin image url', properties: { small: { type: 'string' }, thumb: { type: 'string' } } }, localization: { type: 'object', description: 'coin localization', additionalProperties: true }, market_data: { type: 'object', description: 'coin market data', properties: { current_price: { type: 'object', description: 'coin current price', properties: { btc: { type: 'number' }, eur: { type: 'number' }, usd: { type: 'number' } } }, market_cap: { type: 'object', description: 'coin market cap', properties: { btc: { type: 'number' }, eur: { type: 'number' }, usd: { type: 'number' } } }, total_volume: { type: 'object', description: 'coin total volume', properties: { btc: { type: 'number' }, eur: { type: 'number' }, usd: { type: 'number' } } } } }, name: { type: 'string', description: 'coin name' }, public_interest_stats: { type: 'object', description: 'coin public interest stats', properties: { alexa_rank: { type: 'number', description: 'coin alexa rank' }, bing_matches: { type: 'number', description: 'coin bing matches' } } }, symbol: { type: 'string', description: 'coin symbol' } } } } } ```
get_range_coins_market_chartid:stringfrom:stringto:stringvs_currency:stringinterval:stringprecision:stringjq_filter:string
get_range_coins_market_chartDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **get the historical chart data of a coin within certain time range in UNIX along with price, market cap and 24hr volume based on particular coin ID** # Response Schema ```json { $ref: '#/$defs/market_chart_get_range_response', $defs: { market_chart_get_range_response: { type: 'object', properties: { market_caps: { type: 'array', items: { type: 'array', items: { type: 'number' } } }, prices: { type: 'array', items: { type: 'array', items: { type: 'number' } } }, total_volumes: { type: 'array', items: { type: 'array', items: { type: 'number' } } } } } } } ```
get_range_coins_ohlcid:stringfrom:stringinterval:stringto:stringvs_currency:stringjq_filter:string
get_range_coins_ohlcDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **get the OHLC chart (Open, High, Low, Close) of a coin within a range of timestamp based on particular coin ID** # Response Schema ```json { $ref: '#/$defs/ohlc_get_range_response', $defs: { ohlc_get_range_response: { type: 'array', items: { type: 'array', items: { type: 'number' } } } } } ```
get_id_exchangesid:stringdex_pair_format:stringjq_filter:string
get_id_exchangesDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query exchange's data (name, year established, country, ...), exchange volume in BTC and top 100 tickers based on exchange's ID** # Response Schema ```json { $ref: '#/$defs/exchange_get_id_response', $defs: { exchange_get_id_response: { type: 'object', properties: { alert_notice: { type: 'string', description: 'alert notice for exchange' }, centralized: { type: 'boolean', description: 'exchange type (true for centralized, false for decentralized)' }, coins: { type: 'number', description: 'number of coins listed on the exchange' }, country: { type: 'string', description: 'exchange incorporated country' }, description: { type: 'string', description: 'exchange description' }, facebook_url: { type: 'string', description: 'exchange facebook url' }, has_trading_incentive: { type: 'boolean', description: 'exchange trading incentive' }, image: { type: 'string', description: 'exchange image url' }, name: { type: 'string', description: 'exchange name' }, other_url_1: { type: 'string' }, other_url_2: { type: 'string' }, pairs: { type: 'number', description: 'number of trading pairs on the exchange' }, public_notice: { type: 'string', description: 'public notice for exchange' }, reddit_url: { type: 'string', description: 'exchange reddit url' }, slack_url: { type: 'string', description: 'exchange slack url' }, telegram_url: { type: 'string', description: 'exchange telegram url' }, tickers: { type: 'array', items: { type: 'object', properties: { name: { type: 'string', description: 'coin name' }, tickers: { type: 'array', description: 'list of tickers', items: { type: 'object', properties: { base: { type: 'string', description: 'coin ticker base currency' }, bid_ask_spread_percentage: { type: 'number', description: 'coin ticker bid ask spread percentage' }, coin_id: { type: 'string', description: 'coin ticker base currency coin ID' }, converted_last: { type: 'object', description: 'coin ticker converted last price', properties: { btc: { type: 'number' }, eth: { type: 'number' }, usd: { type: 'number' } } }, converted_volume: { type: 'object', description: 'coin ticker converted volume', properties: { btc: { type: 'number' }, eth: { type: 'number' }, usd: { type: 'number' } } }, cost_to_move_down_usd: { type: 'number', description: 'coin ticker cost to move down in usd' }, cost_to_move_up_usd: { type: 'number', description: 'coin ticker cost to move up in usd' }, is_anomaly: { type: 'boolean', description: 'coin ticker anomaly' }, is_stale: { type: 'boolean', description: 'coin ticker stale' }, last: { type: 'number', description: 'coin ticker last price' }, last_fetch_at: { type: 'string', description: 'coin ticker last fetch timestamp' }, last_traded_at: { type: 'string', description: 'coin ticker last traded timestamp' }, market: { type: 'object', description: 'coin ticker exchange', properties: { has_trading_incentive: { type: 'boolean', description: 'exchange trading incentive' }, identifier: { type: 'string', description: 'exchange identifier' }, name: { type: 'string', description: 'exchange name' }, logo: { type: 'string', description: 'exchange image url' } }, required: [ 'has_trading_incentive', 'identifier', 'name' ] }, target: { type: 'string', description: 'coin ticker target currency' }, target_coin_id: { type: 'string', description: 'coin ticker target currency coin ID' }, timestamp: { type: 'string', description: 'coin ticker timestamp' }, token_info_url: { type: 'string', description: 'coin ticker token info url' }, trade_url: { type: 'string', description: 'coin ticker trade url' }, trust_score: { type: 'string', description: 'coin ticker trust score' }, volume: { type: 'number', description: 'coin ticker volume' } } } } } } }, trade_volume_24h_btc: { type: 'number' }, trust_score: { type: 'number', description: 'exchange trust score' }, trust_score_rank: { type: 'number', description: 'exchange trust score rank' }, twitter_handle: { type: 'string', description: 'exchange twitter handle' }, url: { type: 'string', description: 'exchange website url' }, year_established: { type: 'number', description: 'exchange established year' } } } } } ```
get_list_exchangesstatus:stringjq_filter:string
get_list_exchangesDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all the exchanges with ID and name** # Response Schema ```json { $ref: '#/$defs/exchange_get_list_response', $defs: { exchange_get_list_response: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'exchange ID' }, name: { type: 'string', description: 'exchange name' } }, required: [ 'id', 'name' ] } } } } ```
get_exchanges_tickersid:stringcoin_ids:stringdepth:booleandex_pair_format:stringinclude_exchange_logo:booleanorder:stringpage:numberjq_filter:string
get_exchanges_tickersDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query exchange's tickers based on exchange's ID** # Response Schema ```json { $ref: '#/$defs/ticker_get_response', $defs: { ticker_get_response: { type: 'object', properties: { name: { type: 'string', description: 'coin name' }, tickers: { type: 'array', description: 'list of tickers', items: { type: 'object', properties: { base: { type: 'string', description: 'coin ticker base currency' }, bid_ask_spread_percentage: { type: 'number', description: 'coin ticker bid ask spread percentage' }, coin_id: { type: 'string', description: 'coin ticker base currency coin ID' }, converted_last: { type: 'object', description: 'coin ticker converted last price', properties: { btc: { type: 'number' }, eth: { type: 'number' }, usd: { type: 'number' } } }, converted_volume: { type: 'object', description: 'coin ticker converted volume', properties: { btc: { type: 'number' }, eth: { type: 'number' }, usd: { type: 'number' } } }, cost_to_move_down_usd: { type: 'number', description: 'coin ticker cost to move down in usd' }, cost_to_move_up_usd: { type: 'number', description: 'coin ticker cost to move up in usd' }, is_anomaly: { type: 'boolean', description: 'coin ticker anomaly' }, is_stale: { type: 'boolean', description: 'coin ticker stale' }, last: { type: 'number', description: 'coin ticker last price' }, last_fetch_at: { type: 'string', description: 'coin ticker last fetch timestamp' }, last_traded_at: { type: 'string', description: 'coin ticker last traded timestamp' }, market: { type: 'object', description: 'coin ticker exchange', properties: { has_trading_incentive: { type: 'boolean', description: 'exchange trading incentive' }, identifier: { type: 'string', description: 'exchange identifier' }, name: { type: 'string', description: 'exchange name' }, logo: { type: 'string', description: 'exchange image url' } }, required: [ 'has_trading_incentive', 'identifier', 'name' ] }, target: { type: 'string', description: 'coin ticker target currency' }, target_coin_id: { type: 'string', description: 'coin ticker target currency coin ID' }, timestamp: { type: 'string', description: 'coin ticker timestamp' }, token_info_url: { type: 'string', description: 'coin ticker token info url' }, trade_url: { type: 'string', description: 'coin ticker trade url' }, trust_score: { type: 'string', description: 'coin ticker trust score' }, volume: { type: 'number', description: 'coin ticker volume' } } } } } } } } ```
get_range_exchanges_volume_chartid:stringfrom:numberto:numberjq_filter:string
get_range_exchanges_volume_chartDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query the historical volume chart data in BTC by specifying date range in UNIX based on exchange's ID** # Response Schema ```json { $ref: '#/$defs/volume_chart_get_range_response', $defs: { volume_chart_get_range_response: { type: 'array', items: { type: 'array', items: { type: 'number' } } } } } ```
get_globaljq_filter:string
get_globalDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you **query cryptocurrency global data including active cryptocurrencies, markets, total crypto market cap and etc** # Response Schema ```json { $ref: '#/$defs/global_get_response', $defs: { global_get_response: { type: 'object', properties: { data: { type: 'object', properties: { active_cryptocurrencies: { type: 'number', description: 'number of active cryptocurrencies' }, ended_icos: { type: 'number', description: 'number of ended icos' }, market_cap_change_percentage_24h_usd: { type: 'number', description: 'cryptocurrencies market cap change percentage in 24 hours in usd' }, market_cap_percentage: { type: 'object', description: 'cryptocurrencies market cap percentage', properties: { btc: { type: 'number' }, eth: { type: 'number' } } }, markets: { type: 'number', description: 'number of exchanges' }, ongoing_icos: { type: 'number', description: 'number of ongoing icos' }, total_market_cap: { type: 'object', description: 'cryptocurrencies total market cap', properties: { btc: { type: 'number' }, eth: { type: 'number' } } }, total_volume: { type: 'object', description: 'cryptocurrencies total volume', properties: { btc: { type: 'number' }, eth: { type: 'number' } } }, upcoming_icos: { type: 'number', description: 'number of upcoming icos' }, updated_at: { type: 'number' } } } } } } } ```
get_id_nftsid:stringjq_filter:string
get_id_nftsDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all the NFT data (name, floor price, 24hr volume ...) based on the NFT collection ID** # Response Schema ```json { $ref: '#/$defs/nft_get_id_response', $defs: { nft_get_id_response: { type: 'object', properties: { id: { type: 'string', description: 'NFT collection ID' }, asset_platform_id: { type: 'string', description: 'NFT collection asset platform ID' }, ath: { type: 'object', description: 'NFT collection all time highs', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, ath_change_percentage: { type: 'object', description: 'NFT collection all time highs change percentage', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, ath_date: { type: 'object', description: 'NFT collection all time highs date', properties: { native_currency: { type: 'string', format: 'date-time' }, usd: { type: 'string', format: 'date-time' } } }, banner_image: { type: 'object', description: 'NFT collection banner image url', properties: { small: { type: 'string' } } }, contract_address: { type: 'string', description: 'NFT collection contract address' }, description: { type: 'string', description: 'NFT collection description' }, explorers: { type: 'array', description: 'NFT collection block explorers links', items: { type: 'object', properties: { link: { type: 'string' }, name: { type: 'string' } } } }, floor_price: { type: 'object', description: 'NFT collection floor price', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, floor_price_14d_percentage_change: { type: 'object', description: 'NFT collection floor price 14 days percentage change', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, floor_price_1y_percentage_change: { type: 'object', description: 'NFT collection floor price 1 year percentage change', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, floor_price_24h_percentage_change: { type: 'object', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, floor_price_30d_percentage_change: { type: 'object', description: 'NFT collection floor price 30 days percentage change', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, floor_price_60d_percentage_change: { type: 'object', description: 'NFT collection floor price 60 days percentage change', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, floor_price_7d_percentage_change: { type: 'object', description: 'NFT collection floor price 7 days percentage change', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, floor_price_in_usd_24h_percentage_change: { type: 'number', description: 'NFT collection floor price in usd 24 hours percentage change' }, image: { type: 'object', description: 'NFT collection image url', properties: { small: { type: 'string' }, small_2x: { type: 'string' } } }, links: { type: 'object', description: 'NFT collection links', properties: { discord: { type: 'string' }, homepage: { type: 'string' }, twitter: { type: 'string' } } }, market_cap: { type: 'object', description: 'NFT collection market cap', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, market_cap_24h_percentage_change: { type: 'object', description: 'NFT collection market cap 24 hours percentage change', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, market_cap_rank: { type: 'number', description: 'coin market cap rank' }, name: { type: 'string', description: 'NFT collection name' }, native_currency: { type: 'string', description: 'NFT collection native currency' }, native_currency_symbol: { type: 'string', description: 'NFT collection native currency symbol' }, number_of_unique_addresses: { type: 'number', description: 'number of unique address owning the NFTs' }, number_of_unique_addresses_24h_percentage_change: { type: 'number', description: 'number of unique address owning the NFTs 24 hours percentage change' }, one_day_average_sale_price: { type: 'number', description: 'NFT collection one day average sale price' }, one_day_average_sale_price_24h_percentage_change: { type: 'number', description: 'NFT collection one day average sale price 24 hours percentage change' }, one_day_sales: { type: 'number', description: 'NFT collection one day sales' }, one_day_sales_24h_percentage_change: { type: 'number', description: 'NFT collection one day sales 24 hours percentage change' }, symbol: { type: 'string', description: 'NFT collection symbol' }, total_supply: { type: 'number', description: 'NFT collection total supply' }, user_favorites_count: { type: 'number', description: 'NFT collection user favorites count' }, volume_24h: { type: 'object', description: 'NFT collection volume in 24 hours', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, volume_24h_percentage_change: { type: 'object', description: 'NFT collection volume in 24 hours percentage change', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, volume_in_usd_24h_percentage_change: { type: 'number', description: 'NFT collection volume in usd 24 hours percentage change' } } } } } ```
get_list_nftsorder:stringpage:numberper_page:numberjq_filter:string
get_list_nftsDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all supported NFTs with ID, contract address, name, asset platform ID and symbol on CoinGecko** # Response Schema ```json { $ref: '#/$defs/nft_get_list_response', $defs: { nft_get_list_response: { type: 'object', properties: { id: { type: 'string', description: 'NFT collection ID' }, asset_platform_id: { type: 'string', description: 'NFT collection asset platform ID' }, contract_address: { type: 'string', description: 'NFT collection contract address' }, name: { type: 'string', description: 'NFT collection name' }, symbol: { type: 'string', description: 'NFT collection symbol' } } } } } ```
get_markets_nftsasset_platform_id:stringorder:stringpage:numberper_page:numberjq_filter:string
get_markets_nftsDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all the supported NFT collections with floor price, market cap, volume and market related data on CoinGecko** # Response Schema ```json { $ref: '#/$defs/nft_get_markets_response', $defs: { nft_get_markets_response: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'NFT collection ID' }, asset_platform_id: { type: 'string', description: 'NFT collection asset platform ID' }, contract_address: { type: 'string', description: 'NFT collection contract address' }, description: { type: 'string', description: 'NFT collection description' }, floor_price: { type: 'object', description: 'NFT collection floor price', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, floor_price_24h_percentage_change: { type: 'object', description: 'NFT collection floor price 24 hours percentage change', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, floor_price_in_usd_24h_percentage_change: { type: 'number', description: 'NFT collection floor price in usd 24 hours percentage change' }, image: { type: 'object', description: 'NFT collection image url', properties: { small: { type: 'string' }, small_2x: { type: 'string' } } }, market_cap: { type: 'object', description: 'NFT collection market cap', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, market_cap_24h_percentage_change: { type: 'object', description: 'NFT collection market cap 24 hours percentage change', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, market_cap_rank: { type: 'number', description: 'coin market cap rank' }, name: { type: 'string', description: 'NFT collection name' }, native_currency: { type: 'string', description: 'NFT collection native currency' }, native_currency_symbol: { type: 'string', description: 'NFT collection native currency symbol' }, number_of_unique_addresses: { type: 'number', description: 'number of unique address owning the NFTs' }, number_of_unique_addresses_24h_percentage_change: { type: 'number', description: 'number of unique address owning the NFTs 24 hours percentage change' }, one_day_average_sale_price: { type: 'number', description: 'NFT collection one day average sale price' }, one_day_average_sale_price_24h_percentage_change: { type: 'number', description: 'NFT collection one day average sale price 24 hours percentage change' }, one_day_sales: { type: 'number', description: 'NFT collection one day sales' }, one_day_sales_24h_percentage_change: { type: 'number', description: 'NFT collection one day sales 24 hours percentage change' }, symbol: { type: 'string', description: 'NFT collection symbol' }, total_supply: { type: 'number', description: 'NFT collection total supply' }, volume_24h: { type: 'object', description: 'NFT collection volume in 24 hours', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, volume_24h_percentage_change: { type: 'object', description: 'NFT collection volume in 24 hours percentage change', properties: { native_currency: { type: 'number' }, usd: { type: 'number' } } }, volume_in_usd_24h_percentage_change: { type: 'number', description: 'NFT collection volume in usd 24 hours percentage change' } } } } } } ```
get_nfts_market_chartid:stringdays:stringjq_filter:string
get_nfts_market_chartDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you **query historical market data of a NFT collection, including floor price, market cap, and 24hr volume, by number of days away from now** # Response Schema ```json { $ref: '#/$defs/market_chart_get_response', $defs: { market_chart_get_response: { type: 'object', properties: { floor_price_native: { type: 'array', description: 'NFT collection floor price in native currency', items: { type: 'array', items: { type: 'number' } } }, floor_price_usd: { type: 'array', description: 'NFT collection floor price in usd', items: { type: 'array', items: { type: 'number' } } }, h24_volume_native: { type: 'array', description: 'NFT collection volume in 24 hours in native currency', items: { type: 'array', items: { type: 'number' } } }, h24_volume_usd: { type: 'array', description: 'NFT collection volume in 24 hours in usd', items: { type: 'array', items: { type: 'number' } } }, market_cap_native: { type: 'array', description: 'NFT collection market cap in native currency', items: { type: 'array', items: { type: 'number' } } }, market_cap_usd: { type: 'array', description: 'NFT collection market cap in usd', items: { type: 'array', items: { type: 'number' } } } } } } } ```
get_onchain_categoriespage:integersort:stringjq_filter:string
get_onchain_categoriesDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all the supported categories on GeckoTerminal** # Response Schema ```json { $ref: '#/$defs/category_get_response', $defs: { category_get_response: { type: 'object', properties: { data: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { description: { type: 'string' }, fdv_usd: { type: 'string' }, h24_tx_count: { type: 'integer' }, h24_volume_usd: { type: 'string' }, name: { type: 'string' }, reserve_in_usd: { type: 'string' }, volume_change_percentage: { type: 'object', properties: { h1: { type: 'string' }, h12: { type: 'string' }, h24: { type: 'string' }, h6: { type: 'string' } } } } }, type: { type: 'string' } } } } } } } } ```
get_pools_onchain_categoriescategory_id:stringinclude:stringpage:integersort:stringjq_filter:string
get_pools_onchain_categoriesDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all the pools based on the provided category ID** # Response Schema ```json { $ref: '#/$defs/category_get_pools_response', $defs: { category_get_pools_response: { type: 'object', properties: { data: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { address: { type: 'string' }, base_token_price_native_currency: { type: 'string' }, base_token_price_quote_token: { type: 'string' }, base_token_price_usd: { type: 'string' }, fdv_usd: { type: 'string' }, h24_tx_count: { type: 'integer' }, h24_volume_usd: { type: 'string' }, market_cap_usd: { type: 'string' }, name: { type: 'string' }, pool_created_at: { type: 'string', format: 'date-time' }, price_change_percentage: { type: 'object', properties: { h1: { type: 'string' }, h24: { type: 'string' }, h6: { type: 'string' }, m15: { type: 'string' }, m30: { type: 'string' }, m5: { type: 'string' } } }, quote_token_price_base_token: { type: 'string' }, quote_token_price_native_currency: { type: 'string' }, quote_token_price_usd: { type: 'string' }, reserve_in_usd: { type: 'string' } } }, relationships: { type: 'object', properties: { base_token: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } }, dex: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } }, network: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } }, quote_token: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } } } }, type: { type: 'string' } } } }, included: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { address: { type: 'string' }, coingecko_coin_id: { type: 'string' }, decimals: { type: 'integer' }, image_url: { type: 'string' }, name: { type: 'string' }, symbol: { type: 'string' } } }, type: { type: 'string' } } } } } } } } ```
get_onchain_networkspage:integerjq_filter:string
get_onchain_networksDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all the supported networks on GeckoTerminal** # Response Schema ```json { $ref: '#/$defs/network_get_response', $defs: { network_get_response: { type: 'object', properties: { data: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { coingecko_asset_platform_id: { type: 'string' }, name: { type: 'string' } } }, type: { type: 'string' } } } } } } } } ```
get_networks_onchain_new_poolsinclude:stringinclude_gt_community_data:booleanpage:integerjq_filter:string
get_networks_onchain_new_poolsDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all the latest pools across all networks on GeckoTerminal** # Response Schema ```json { $ref: '#/$defs/new_pool_get_response', $defs: { new_pool_get_response: { type: 'object', properties: { data: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { address: { type: 'string' }, base_token_price_native_currency: { type: 'string' }, base_token_price_quote_token: { type: 'string' }, base_token_price_usd: { type: 'string' }, community_sus_report: { type: 'number' }, fdv_usd: { type: 'string' }, market_cap_usd: { type: 'string' }, name: { type: 'string' }, pool_created_at: { type: 'string' }, price_change_percentage: { type: 'object', properties: { h1: { type: 'string' }, h24: { type: 'string' }, h6: { type: 'string' }, m15: { type: 'string' }, m30: { type: 'string' }, m5: { type: 'string' } } }, quote_token_price_base_token: { type: 'string' }, quote_token_price_native_currency: { type: 'string' }, quote_token_price_usd: { type: 'string' }, reserve_in_usd: { type: 'string' }, sentiment_vote_negative_percentage: { type: 'number' }, sentiment_vote_positive_percentage: { type: 'number' }, transactions: { type: 'object', properties: { h1: { type: 'object', properties: { buyers: { type: 'integer' }, buys: { type: 'integer' }, sellers: { type: 'integer' }, sells: { type: 'integer' } } }, h24: { type: 'object', properties: { buyers: { type: 'integer' }, buys: { type: 'integer' }, sellers: { type: 'integer' }, sells: { type: 'integer' } } }, m15: { type: 'object', properties: { buyers: { type: 'integer' }, buys: { type: 'integer' }, sellers: { type: 'integer' }, sells: { type: 'integer' } } }, m30: { type: 'object', properties: { buyers: { type: 'integer' }, buys: { type: 'integer' }, sellers: { type: 'integer' }, sells: { type: 'integer' } } }, m5: { type: 'object', properties: { buyers: { type: 'integer' }, buys: { type: 'integer' }, sellers: { type: 'integer' }, sells: { type: 'integer' } } } } }, volume_usd: { type: 'object', properties: { h1: { type: 'string' }, h24: { type: 'string' }, h6: { type: 'string' }, m15: { type: 'string' }, m30: { type: 'string' }, m5: { type: 'string' } } } } }, relationships: { type: 'object', properties: { base_token: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } }, dex: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } }, quote_token: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } } } }, type: { type: 'string' } } } }, included: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { address: { type: 'string' }, coingecko_coin_id: { type: 'string' }, decimals: { type: 'integer' }, image_url: { type: 'string' }, name: { type: 'string' }, symbol: { type: 'string' } } }, type: { type: 'string' } } } } } } } } ```
get_network_networks_onchain_new_poolsnetwork:stringinclude:stringinclude_gt_community_data:booleanpage:integer
get_network_networks_onchain_new_poolsDescription
This endpoint allows you to **query all the latest pools based on provided network**
get_networks_onchain_dexesnetwork:stringpage:integerjq_filter:string
get_networks_onchain_dexesDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all the supported decentralized exchanges (DEXs) based on the provided network on GeckoTerminal** # Response Schema ```json { $ref: '#/$defs/dex_get_response', $defs: { dex_get_response: { type: 'object', properties: { data: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { name: { type: 'string' } } }, type: { type: 'string' } } } } } } } } ```
get_addresses_pools_networks_onchain_multinetwork:stringaddresses:stringinclude:stringinclude_composition:booleaninclude_volume_breakdown:boolean
get_addresses_pools_networks_onchain_multiDescription
This endpoint allows you to **query multiple pools based on the provided network and pool address**
get_pools_networks_onchain_infonetwork:stringpool_address:stringinclude:stringjq_filter:string
get_pools_networks_onchain_infoDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query pool metadata (base and quote token details, image, socials, websites, description, contract address, etc.) based on a provided pool contract address on a network** # Response Schema ```json { $ref: '#/$defs/info_get_response', $defs: { info_get_response: { type: 'object', properties: { data: { type: 'array', items: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { address: { type: 'string' }, categories: { type: 'array', items: { type: 'string' } }, coingecko_coin_id: { type: 'string' }, description: { type: 'string' }, discord_url: { type: 'string' }, farcaster_url: { type: 'string' }, freeze_authority: { type: 'string' }, gt_categories_id: { type: 'array', items: { type: 'string' } }, gt_score: { type: 'number' }, gt_score_details: { type: 'object', properties: { creation: { type: 'number' }, holders: { type: 'number' }, info: { type: 'number' }, pool: { type: 'number' }, transaction: { type: 'number' } } }, holders: { type: 'object', properties: { count: { type: 'integer' }, distribution_percentage: { type: 'object', properties: { '11_30': { type: 'number' }, '31_50': { type: 'number' }, rest: { type: 'number' }, top_10: { type: 'number' } } }, last_updated: { type: 'string' } } }, image: { type: 'object', properties: { large: { type: 'string' }, small: { type: 'string' }, thumb: { type: 'string' } } }, image_url: { type: 'string' }, is_honeypot: { anyOf: [ { type: 'boolean' }, { type: 'string' } ] }, mint_authority: { type: 'string' }, name: { type: 'string' }, symbol: { type: 'string' }, telegram_handle: { type: 'string' }, twitter_handle: { type: 'string' }, websites: { type: 'array', items: { type: 'string' } }, zora_url: { type: 'string' } } }, type: { type: 'string' } } } } } }, included: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { base_token_address: { type: 'string' }, community_sus_report: { type: 'number' }, quote_token_address: { type: 'string' }, sentiment_vote_negative_percentage: { type: 'number' }, sentiment_vote_positive_percentage: { type: 'number' } } }, type: { type: 'string' } } } } } } } } ```
get_timeframe_pools_networks_onchain_ohlcvnetwork:stringpool_address:stringtimeframe:stringtoken:stringaggregate:stringbefore_timestamp:integercurrency:stringinclude_empty_intervals:booleanlimit:integerjq_filter:string
get_timeframe_pools_networks_onchain_ohlcvDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **get the OHLCV chart (Open, High, Low, Close, Volume) of a pool based on the provided pool address on a network** # Response Schema ```json { $ref: '#/$defs/ohlcv_get_timeframe_response', $defs: { ohlcv_get_timeframe_response: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { ohlcv_list: { type: 'array', items: { type: 'array', items: { type: 'number' } } } } }, type: { type: 'string' } } }, meta: { type: 'object', properties: { base: { type: 'object', properties: { address: { type: 'string' }, coingecko_coin_id: { type: 'string' }, name: { type: 'string' }, symbol: { type: 'string' } } }, quote: { type: 'object', properties: { address: { type: 'string' }, coingecko_coin_id: { type: 'string' }, name: { type: 'string' }, symbol: { type: 'string' } } } } } } } } } ```
get_pools_networks_onchain_tradesnetwork:stringpool_address:stringtoken:stringtrade_volume_in_usd_greater_than:numberjq_filter:string
get_pools_networks_onchain_tradesDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query the last 300 trades in the past 24 hours based on the provided pool address** # Response Schema ```json { $ref: '#/$defs/trade_get_response', $defs: { trade_get_response: { type: 'object', properties: { data: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { block_number: { type: 'integer' }, block_timestamp: { type: 'string' }, from_token_address: { type: 'string' }, from_token_amount: { type: 'string' }, kind: { type: 'string' }, price_from_in_currency_token: { type: 'string' }, price_from_in_usd: { type: 'string' }, price_to_in_currency_token: { type: 'string' }, price_to_in_usd: { type: 'string' }, to_token_address: { type: 'string' }, to_token_amount: { type: 'string' }, tx_from_address: { type: 'string' }, tx_hash: { type: 'string' }, volume_in_usd: { type: 'string' } } }, type: { type: 'string' } } } } } } } } ```
get_addresses_tokens_networks_onchain_multinetwork:stringaddresses:stringinclude:stringinclude_composition:booleaninclude_inactive_source:boolean
get_addresses_tokens_networks_onchain_multiDescription
This endpoint allows you to **query multiple tokens data based on the provided token contract addresses on a network**
get_tokens_networks_onchain_infonetwork:stringaddress:stringjq_filter:string
get_tokens_networks_onchain_infoDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query token metadata (name, symbol, CoinGecko ID, image, socials, websites, description, etc.) based on a provided token contract address on a network** # Response Schema ```json { $ref: '#/$defs/info_get_response', $defs: { info_get_response: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { address: { type: 'string' }, categories: { type: 'array', items: { type: 'string' } }, coingecko_coin_id: { type: 'string' }, description: { type: 'string' }, discord_url: { type: 'string' }, farcaster_url: { type: 'string' }, freeze_authority: { type: 'string' }, gt_categories_id: { type: 'array', items: { type: 'string' } }, gt_score: { type: 'number' }, gt_score_details: { type: 'object', properties: { creation: { type: 'number' }, holders: { type: 'number' }, info: { type: 'number' }, pool: { type: 'number' }, transaction: { type: 'number' } } }, holders: { type: 'object', properties: { count: { type: 'integer' }, distribution_percentage: { type: 'object', properties: { '11_30': { type: 'number' }, '31_50': { type: 'number' }, rest: { type: 'number' }, top_10: { type: 'number' } } }, last_updated: { type: 'string' } } }, image: { type: 'object', properties: { large: { type: 'string' }, small: { type: 'string' }, thumb: { type: 'string' } } }, image_url: { type: 'string' }, is_honeypot: { anyOf: [ { type: 'boolean' }, { type: 'string' } ] }, mint_authority: { type: 'string' }, name: { type: 'string' }, symbol: { type: 'string' }, telegram_handle: { type: 'string' }, twitter_handle: { type: 'string' }, websites: { type: 'array', items: { type: 'string' } }, zora_url: { type: 'string' } } }, type: { type: 'string' } } } } } } } ```
get_tokens_networks_onchain_top_holdersnetwork:stringaddress:stringholders:stringjq_filter:string
get_tokens_networks_onchain_top_holdersDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query top token holders based on the provided token contract address on a network** # Response Schema ```json { $ref: '#/$defs/top_holder_get_response', $defs: { top_holder_get_response: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { holders: { type: 'array', items: { type: 'object', properties: { address: { type: 'string' }, amount: { type: 'string' }, label: { type: 'string' }, percentage: { type: 'string' }, rank: { type: 'number' }, value: { type: 'string' } } } }, last_updated_at: { type: 'string' } } }, type: { type: 'string' } } } } } } } ```
get_tokens_networks_onchain_holders_chartnetwork:stringtoken_address:stringdays:stringjq_filter:string
get_tokens_networks_onchain_holders_chartDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **get the historical token holders chart based on the provided token contract address on a network** # Response Schema ```json { $ref: '#/$defs/holders_chart_get_response', $defs: { holders_chart_get_response: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { token_holders_list: { type: 'array', items: { type: 'array', items: { type: 'string' } } } } }, type: { type: 'string' } } }, meta: { type: 'object', properties: { token: { type: 'object', properties: { address: { type: 'string' }, coingecko_coin_id: { type: 'string' }, name: { type: 'string' }, symbol: { type: 'string' } } } } } } } } } ```
get_timeframe_tokens_networks_onchain_ohlcvnetwork:stringtoken_address:stringtimeframe:stringaggregate:stringbefore_timestamp:integercurrency:stringinclude_empty_intervals:booleaninclude_inactive_source:booleanlimit:integerjq_filter:string
get_timeframe_tokens_networks_onchain_ohlcvDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **get the OHLCV chart (Open, High, Low, Close, Volume) of a token based on the provided token address on a network** # Response Schema ```json { $ref: '#/$defs/ohlcv_get_timeframe_response', $defs: { ohlcv_get_timeframe_response: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { ohlcv_list: { type: 'array', items: { type: 'array', items: { type: 'number' } } } } }, type: { type: 'string' } } }, meta: { type: 'object', properties: { base: { type: 'object', properties: { address: { type: 'string' }, coingecko_coin_id: { type: 'string' }, name: { type: 'string' }, symbol: { type: 'string' } } }, quote: { type: 'object', properties: { address: { type: 'string' }, coingecko_coin_id: { type: 'string' }, name: { type: 'string' }, symbol: { type: 'string' } } } } } } } } } ```
get_tokens_networks_onchain_poolsnetwork:stringtoken_address:stringinclude:stringinclude_inactive_source:booleanpage:integersort:string
get_tokens_networks_onchain_poolsDescription
This endpoint allows you to **query top pools based on the provided token contract address on a network**
get_tokens_networks_onchain_tradesnetwork:stringtoken_address:stringtrade_volume_in_usd_greater_than:numberjq_filter:string
get_tokens_networks_onchain_tradesDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query the last 300 trades in the past 24 hours, across all pools, based on the provided token contract address on a network** # Response Schema ```json { $ref: '#/$defs/trade_get_response', $defs: { trade_get_response: { type: 'object', properties: { data: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { block_number: { type: 'integer' }, block_timestamp: { type: 'string' }, from_token_address: { type: 'string' }, from_token_amount: { type: 'string' }, kind: { type: 'string' }, pool_address: { type: 'string' }, pool_dex: { type: 'string' }, price_from_in_currency_token: { type: 'string' }, price_from_in_usd: { type: 'string' }, price_to_in_currency_token: { type: 'string' }, price_to_in_usd: { type: 'string' }, to_token_address: { type: 'string' }, to_token_amount: { type: 'string' }, tx_from_address: { type: 'string' }, tx_hash: { type: 'string' }, volume_in_usd: { type: 'string' } } }, type: { type: 'string' } } } } } } } } ```
get_tokens_networks_onchain_top_tradersnetwork_id:stringtoken_address:stringinclude_address_label:booleansort:stringtraders:stringjq_filter:string
get_tokens_networks_onchain_top_tradersDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query top token traders based on the provided token contract address on a network** # Response Schema ```json { $ref: '#/$defs/top_trader_get_response', $defs: { top_trader_get_response: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { traders: { type: 'array', items: { type: 'object', properties: { address: { type: 'string' }, average_buy_price_usd: { type: 'string' }, average_sell_price_usd: { type: 'string' }, explorer_url: { type: 'string' }, label: { type: 'string' }, name: { type: 'string' }, realized_pnl_usd: { type: 'string' }, token_balance: { type: 'string' }, total_buy_count: { type: 'integer' }, total_buy_token_amount: { type: 'string' }, total_buy_usd: { type: 'string' }, total_sell_count: { type: 'integer' }, total_sell_token_amount: { type: 'string' }, total_sell_usd: { type: 'string' }, type: { type: 'string' }, unrealized_pnl_usd: { type: 'string' } } } } } }, type: { type: 'string' } } } } } } } ```
get_pools_onchain_megafilterbuy_tax_percentage_max:numberbuy_tax_percentage_min:numberbuys_duration:stringbuys_max:integerbuys_min:integerchecks:stringdexes:stringfdv_usd_max:numberfdv_usd_min:numberh24_volume_usd_max:numberh24_volume_usd_min:numberinclude:stringinclude_unknown_honeypot_tokens:booleannetworks:stringpage:integerpool_created_hour_max:numberpool_created_hour_min:numberreserve_in_usd_max:numberreserve_in_usd_min:numbersell_tax_percentage_max:numbersell_tax_percentage_min:numbersells_duration:stringsells_max:integersells_min:integersort:stringtx_count_duration:stringtx_count_max:integertx_count_min:integer
get_pools_onchain_megafilterDescription
This endpoint allows you to **query pools based on various filters across all networks on GeckoTerminal**
get_pools_onchain_trending_searchinclude:stringpools:integerjq_filter:string
get_pools_onchain_trending_searchDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all the trending search pools across all networks on GeckoTerminal** # Response Schema ```json { $ref: '#/$defs/trending_search_get_response', $defs: { trending_search_get_response: { type: 'object', properties: { data: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { address: { type: 'string' }, fdv_usd: { type: 'string' }, market_cap_usd: { type: 'string' }, name: { type: 'string' }, pool_created_at: { type: 'string' }, reserve_in_usd: { type: 'string' }, trending_rank: { type: 'number' }, volume_usd: { type: 'object', properties: { h24: { type: 'string' } } } } }, relationships: { type: 'object', properties: { base_token: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } }, dex: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } }, network: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } }, quote_token: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } } } }, type: { type: 'string' } } } }, included: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { address: { type: 'string' }, coingecko_coin_id: { type: 'string' }, decimals: { type: 'integer' }, image_url: { type: 'string' }, name: { type: 'string' }, symbol: { type: 'string' } } }, type: { type: 'string' } } } } } } } } ```
get_search_onchain_poolsinclude:stringnetwork:stringpage:integerquery:stringjq_filter:string
get_search_onchain_poolsDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **search for pools on a network** # Response Schema ```json { $ref: '#/$defs/pool_get_response', $defs: { pool_get_response: { type: 'object', properties: { data: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { address: { type: 'string' }, base_token_price_native_currency: { type: 'string' }, base_token_price_quote_token: { type: 'string' }, base_token_price_usd: { type: 'string' }, fdv_usd: { type: 'string' }, market_cap_usd: { type: 'string' }, name: { type: 'string' }, pool_created_at: { type: 'string' }, price_change_percentage: { type: 'object', properties: { h1: { type: 'string' }, h24: { type: 'string' }, h6: { type: 'string' }, m15: { type: 'string' }, m30: { type: 'string' }, m5: { type: 'string' } } }, quote_token_price_base_token: { type: 'string' }, quote_token_price_native_currency: { type: 'string' }, quote_token_price_usd: { type: 'string' }, reserve_in_usd: { type: 'string' }, transactions: { type: 'object', properties: { h1: { type: 'object', properties: { buyers: { type: 'integer' }, buys: { type: 'integer' }, sellers: { type: 'integer' }, sells: { type: 'integer' } } }, h24: { type: 'object', properties: { buyers: { type: 'integer' }, buys: { type: 'integer' }, sellers: { type: 'integer' }, sells: { type: 'integer' } } }, m15: { type: 'object', properties: { buyers: { type: 'integer' }, buys: { type: 'integer' }, sellers: { type: 'integer' }, sells: { type: 'integer' } } }, m30: { type: 'object', properties: { buyers: { type: 'integer' }, buys: { type: 'integer' }, sellers: { type: 'integer' }, sells: { type: 'integer' } } }, m5: { type: 'object', properties: { buyers: { type: 'integer' }, buys: { type: 'integer' }, sellers: { type: 'integer' }, sells: { type: 'integer' } } } } }, volume_usd: { type: 'object', properties: { h1: { type: 'string' }, h24: { type: 'string' }, h6: { type: 'string' }, m15: { type: 'string' }, m30: { type: 'string' }, m5: { type: 'string' } } } } }, relationships: { type: 'object', properties: { base_token: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } }, dex: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } }, quote_token: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, type: { type: 'string' } } } } } } }, type: { type: 'string' } } } }, included: { type: 'array', items: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { address: { type: 'string' }, coingecko_coin_id: { type: 'string' }, decimals: { type: 'integer' }, image_url: { type: 'string' }, name: { type: 'string' }, symbol: { type: 'string' } } }, type: { type: 'string' } } } } } } } } ```
get_addresses_networks_simple_onchain_token_pricenetwork:stringaddresses:stringinclude_24hr_price_change:booleaninclude_24hr_vol:booleaninclude_inactive_source:booleaninclude_market_cap:booleaninclude_total_reserve_in_usd:booleanmcap_fdv_fallback:booleanjq_filter:string
get_addresses_networks_simple_onchain_token_priceDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **get token price based on the provided token contract address on a network** # Response Schema ```json { $ref: '#/$defs/token_price_get_addresses_response', $defs: { token_price_get_addresses_response: { type: 'object', properties: { data: { type: 'object', properties: { id: { type: 'string' }, attributes: { type: 'object', properties: { h24_price_change_percentage: { type: 'object', additionalProperties: true }, h24_volume_usd: { type: 'object', additionalProperties: true }, last_trade_timestamp: { type: 'object', additionalProperties: true }, market_cap_usd: { type: 'object', additionalProperties: true }, token_prices: { type: 'object', additionalProperties: true }, total_reserve_in_usd: { type: 'object', additionalProperties: true } } }, type: { type: 'string' } } } } } } } ```
get_holding_chart_public_treasuryentity_id:stringcoin_id:stringdays:stringinclude_empty_intervals:booleanjq_filter:string
get_holding_chart_public_treasuryDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query historical cryptocurrency holdings chart of public companies & governments** by Entity ID and Coin ID # Response Schema ```json { $ref: '#/$defs/public_treasury_get_holding_chart_response', $defs: { public_treasury_get_holding_chart_response: { type: 'object', properties: { holding_value_in_usd: { type: 'array', items: { type: 'array', items: { type: 'number' } } }, holdings: { type: 'array', items: { type: 'array', items: { type: 'number' } } } } } } } ```
get_transaction_history_public_treasuryentity_id:stringcoin_ids:stringorder:stringpage:numberper_page:numberjq_filter:string
get_transaction_history_public_treasuryDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you **query public companies & governments' cryptocurrency transaction history** by Entity ID # Response Schema ```json { $ref: '#/$defs/public_treasury_get_transaction_history_response', $defs: { public_treasury_get_transaction_history_response: { type: 'object', properties: { transactions: { type: 'array', items: { type: 'object', properties: { average_entry_value_usd: { type: 'number', description: 'average entry value in usd after the transaction' }, coin_id: { type: 'string', description: 'coin ID' }, date: { type: 'number', description: 'transaction date in UNIX timestamp' }, holding_balance: { type: 'number', description: 'total holding balance after the transaction' }, holding_net_change: { type: 'number', description: 'net change in holdings after the transaction' }, source_url: { type: 'string', description: 'source document URL' }, transaction_value_usd: { type: 'number', description: 'transaction value in usd' }, type: { type: 'string', description: 'transaction type: buy or sell', enum: [ 'buy', 'sell' ] } } } } } } } } ```
get_searchquery:stringjq_filter:string
get_searchDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **search for coins, categories and markets listed on CoinGecko** # Response Schema ```json { $ref: '#/$defs/search_get_response', $defs: { search_get_response: { type: 'object', properties: { categories: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'category ID' }, name: { type: 'string', description: 'category name' } } } }, coins: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'coin ID' }, api_symbol: { type: 'string', description: 'coin api symbol' }, large: { type: 'string', description: 'coin large image url' }, market_cap_rank: { type: 'number', description: 'coin market cap rank' }, name: { type: 'string', description: 'coin name' }, symbol: { type: 'string', description: 'coin symbol' }, thumb: { type: 'string', description: 'coin thumb image url' } } } }, exchanges: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'exchange ID' }, large: { type: 'string', description: 'exchange large image url' }, market_type: { type: 'string', description: 'exchange market type' }, name: { type: 'string', description: 'exchange name' }, thumb: { type: 'string', description: 'exchange thumb image url' } } } }, icos: { type: 'array', items: { type: 'string' } }, nfts: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'NFT collection ID' }, name: { type: 'string', description: 'NFT name' }, symbol: { type: 'string', description: 'NFT collection symbol' }, thumb: { type: 'string', description: 'NFT collection thumb image url' } } } } } } } } ```
get_search_trendingshow_max:stringjq_filter:string
get_search_trendingDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you **query trending search coins, NFTs and categories on CoinGecko in the last 24 hours** # Response Schema ```json { $ref: '#/$defs/trending_get_response', $defs: { trending_get_response: { type: 'object', properties: { categories: { type: 'array', items: { type: 'object', properties: { id: { type: 'number' }, coins_count: { type: 'number', description: 'category number of coins' }, data: { type: 'object', properties: { market_cap: { type: 'number', description: 'category market cap' }, market_cap_btc: { type: 'number', description: 'category market cap in btc' }, market_cap_change_percentage_24h: { type: 'object', description: 'category market cap change percentage in 24 hours', properties: { btc: { type: 'number' }, usd: { type: 'number' } } }, sparkline: { type: 'string', description: 'category sparkline image url' }, total_volume: { type: 'number', description: 'category total volume' }, total_volume_btc: { type: 'number', description: 'category total volume in btc' } } }, market_cap_1h_change: { type: 'number', description: 'category market cap 1 hour change' }, name: { type: 'string', description: 'category name' }, slug: { type: 'string', description: 'category web slug' } } } }, coins: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'coin ID' }, coin_id: { type: 'number' }, data: { type: 'object', properties: { content: { type: 'string' }, market_cap: { type: 'string', description: 'coin market cap in usd' }, market_cap_btc: { type: 'string', description: 'coin market cap in btc' }, price: { type: 'number', description: 'coin price in usd' }, price_btc: { type: 'string', description: 'coin price in btc' }, price_change_percentage_24h: { type: 'object', description: 'coin price change percentage in 24 hours', properties: { btc: { type: 'number' }, usd: { type: 'number' } } }, sparkline: { type: 'string', description: 'coin sparkline image url' }, total_volume: { type: 'string', description: 'coin total volume in usd' }, total_volume_btc: { type: 'string', description: 'coin total volume in btc' } } }, large: { type: 'string', description: 'coin large image url' }, market_cap_rank: { type: 'number', description: 'coin market cap rank' }, name: { type: 'string', description: 'coin name' }, price_btc: { type: 'number', description: 'coin price in btc' }, score: { type: 'number', description: 'coin sequence in the list' }, slug: { type: 'string', description: 'coin web slug' }, small: { type: 'string', description: 'coin small image url' }, symbol: { type: 'string', description: 'coin symbol' }, thumb: { type: 'string', description: 'coin thumb image url' } } } }, nfts: { type: 'array', items: { type: 'object', properties: { id: { type: 'string', description: 'NFT collection ID' }, data: { type: 'object', properties: { content: { type: 'string' }, floor_price: { type: 'string', description: 'NFT collection floor price' }, floor_price_in_usd_24h_percentage_change: { type: 'string', description: 'NFT collection floor price in usd 24 hours percentage change' }, h24_average_sale_price: { type: 'string', description: 'NFT collection 24 hours average sale price' }, h24_volume: { type: 'string', description: 'NFT collection volume in 24 hours' }, sparkline: { type: 'string', description: 'NFT collection sparkline image url' } } }, floor_price_24h_percentage_change: { type: 'number', description: 'NFT collection floor price 24 hours percentage change' }, floor_price_in_native_currency: { type: 'number', description: 'NFT collection floor price in native currency' }, name: { type: 'string', description: 'NFT collection name' }, native_currency_symbol: { type: 'string', description: 'NFT collection native currency symbol' }, nft_contract_id: { type: 'number' }, symbol: { type: 'string', description: 'NFT collection symbol' }, thumb: { type: 'string', description: 'NFT collection thumb image url' } } } } } } } } ```
get_simple_pricevs_currencies:stringids:stringinclude_24hr_change:booleaninclude_24hr_vol:booleaninclude_last_updated_at:booleaninclude_market_cap:booleaninclude_tokens:stringnames:stringprecision:stringsymbols:stringjq_filter:string
get_simple_priceDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query the prices of one or more coins by using their unique Coin API IDs** # Response Schema ```json { $ref: '#/$defs/price_get_response', $defs: { price_get_response: { type: 'object', additionalProperties: true } } } ```
get_simple_supported_vs_currenciesjq_filter:string
get_simple_supported_vs_currenciesDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query all the supported currencies on CoinGecko** # Response Schema ```json { $ref: '#/$defs/supported_vs_currency_get_response', $defs: { supported_vs_currency_get_response: { type: 'array', items: { type: 'string' } } } } ```
get_id_simple_token_priceid:stringcontract_addresses:stringvs_currencies:stringinclude_24hr_change:booleaninclude_24hr_vol:booleaninclude_last_updated_at:booleaninclude_market_cap:booleanprecision:stringjq_filter:string
get_id_simple_token_priceDescription
When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance. Only omit if you're sure you don't need the data. This endpoint allows you to **query one or more token prices using their token contract addresses** # Response Schema ```json { $ref: '#/$defs/token_price_get_id_response', $defs: { token_price_get_id_response: { type: 'object', properties: { last_updated_at: { type: 'number', description: 'last updated timestamp' }, usd: { type: 'number', description: 'price in USD' }, usd_24h_change: { type: 'number', description: '24hr change in USD' }, usd_24h_vol: { type: 'number', description: '24hr volume in USD' }, usd_market_cap: { type: 'number', description: 'market cap in USD' } } } } } ```
search_docsquery:stringlanguage:stringdetail:string
search_docsDescription
Search for documentation for how to use the client to interact with the API.
Environment Variables
No environment variables are required for basic functionality. The free CoinGecko API endpoint is publicly accessible.
PATH: Automatically included if not provided (for system compatibility)
Usage Examples
Here's a complete example of using MCP CoinGecko with an ADK agent:
import { McpCoinGecko, AgentBuilder } from "@iqai/adk";
async function main() {
// Initialize CoinGecko MCP toolset
const toolset = McpCoinGecko();
// Get available tools
const coinGeckoTools = await toolset.getTools();
// Create agent with CoinGecko tools
const { runner } = await AgentBuilder.create("crypto_agent")
.withModel("gemini-2.5-flash")
.withDescription("A cryptocurrency market data assistant")
.withTools(...coinGeckoTools)
.build();
try {
// Example queries
const response = await runner.ask("What's the current price of Bitcoin?");
console.log(response);
} finally {
// Clean up resources
await toolset.close();
}
}
main().catch(console.error);Best Practices
- Rate Limit Management: The free tier has rate limits. Configure retry options with appropriate delays to handle rate limiting gracefully
- Resource Cleanup: Always call
await toolset.close()when done to properly close connections - Caching: Implement caching for frequently accessed data to reduce API calls and stay within rate limits
- Error Handling: Be prepared to handle different error scenarios. Implement retry logic with exponential backoff for rate limit errors
Troubleshooting
Connection Timeout
- Check your internet connection
- Verify CoinGecko API status at status.coingecko.com
- Increase retry delay in
retryOptionsconfiguration
Rate Limit Errors
- The free tier has rate limits. Consider upgrading to CoinGecko Pro for higher limits
- Implement caching to reduce API calls
- Add retry logic with exponential backoff
Tool Not Found or Invalid Schema
- Call
await toolset.getTools()to refresh and get the latest tool schemas - Check the CoinGecko API Documentation for API changes
Resources
- CoinGecko API Documentation - Complete API reference and endpoint documentation
- CoinGecko API Pricing - Pricing and plan comparison
- CoinGecko API Status - Real-time API status and incident reports
- CoinGecko MCP Server - Official MCP server documentation
- Model Context Protocol - MCP specification and standards