TypeScriptADK-TS

MCP CoinGecko

Access free CoinGecko market data — prices, trending coins, and token metadata — without an API key.

  • Endpoint: https://mcp.api.coingecko.com/mcp
  • Provider: CoinGecko

Overview

The CoinGecko MCP server wraps CoinGecko's free public API, giving your agent access to cryptocurrency prices, market capitalizations, trending coins, and token metadata. No API key is required, making it the quickest way to add crypto market awareness to any agent.

This server connects to CoinGecko's hosted MCP endpoint — no local installation or npm package needed.

Getting Started

No installation required. Connect directly to the CoinGecko hosted endpoint:

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 free public market data",
  transport: {
    mode: "stdio",
    command: "npx",
    args: ["-y", "mcp-remote@latest", "https://mcp.api.coingecko.com/mcp"],
  },
});

const tools = await toolset.getTools();
{
  "mcpServers": {
    "coingecko-mcp-server": {
      "command": "npx",
      "args": ["-y", "mcp-remote@latest", "https://mcp.api.coingecko.com/mcp"]
    }
  }
}

Environment Variables

No environment variables are required. CoinGecko's public API is used directly.

Available Tools

get_asset_platforms
filter:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_id_coins
id:stringcommunity_data:booleandeveloper_data:booleandex_pair_format:stringinclude_categories_details:booleanlocalization:booleanmarket_data:booleansparkline:booleantickers:boolean

Description

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_categories
jq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_new_coins_list
jq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_coins_markets
vs_currency:stringcategory:stringids:stringinclude_tokens:stringlocale:stringnames:stringorder:stringpage:numberper_page:numberprecision:stringprice_change_percentage:stringsparkline:booleansymbols:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_coins_top_gainers_losers
vs_currency:stringduration:stringprice_change_percentage:stringtop_coins:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_coins_contract
id:stringcontract_address:string

Description

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_chart
id:stringcontract_address:stringfrom:stringto:stringvs_currency:stringinterval:stringprecision:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_coins_history
id:stringdate:stringlocalization:booleanjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_range_coins_market_chart
id:stringfrom:stringto:stringvs_currency:stringinterval:stringprecision:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_range_coins_ohlc
id:stringfrom:stringinterval:stringto:stringvs_currency:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_id_exchanges
id:stringdex_pair_format:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_list_exchanges
status:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_exchanges_tickers
id:stringcoin_ids:stringdepth:booleandex_pair_format:stringinclude_exchange_logo:booleanorder:stringpage:numberjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_range_exchanges_volume_chart
id:stringfrom:numberto:numberjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_global
jq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_id_nfts
id:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_list_nfts
order:stringpage:numberper_page:numberjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_markets_nfts
asset_platform_id:stringorder:stringpage:numberper_page:numberjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_nfts_market_chart
id:stringdays:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_onchain_categories
page:integersort:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_pools_onchain_categories
category_id:stringinclude:stringpage:integersort:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_onchain_networks
page:integerjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_networks_onchain_new_pools
include:stringinclude_gt_community_data:booleanpage:integerjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_network_networks_onchain_new_pools
network:stringinclude:stringinclude_gt_community_data:booleanpage:integer

Description

This endpoint allows you to query all the latest pools based on provided network

get_networks_onchain_dexes
network:stringpage:integerjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_addresses_pools_networks_onchain_multi
network:stringaddresses:stringinclude:stringinclude_composition:booleaninclude_volume_breakdown:boolean

Description

This endpoint allows you to query multiple pools based on the provided network and pool address

get_pools_networks_onchain_info
network:stringpool_address:stringinclude:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_timeframe_pools_networks_onchain_ohlcv
network:stringpool_address:stringtimeframe:stringtoken:stringaggregate:stringbefore_timestamp:integercurrency:stringinclude_empty_intervals:booleanlimit:integerjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_pools_networks_onchain_trades
network:stringpool_address:stringtoken:stringtrade_volume_in_usd_greater_than:numberjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_addresses_tokens_networks_onchain_multi
network:stringaddresses:stringinclude:stringinclude_composition:booleaninclude_inactive_source:boolean

Description

This endpoint allows you to query multiple tokens data based on the provided token contract addresses on a network

get_tokens_networks_onchain_info
network:stringaddress:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_tokens_networks_onchain_top_holders
network:stringaddress:stringholders:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_tokens_networks_onchain_holders_chart
network:stringtoken_address:stringdays:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_timeframe_tokens_networks_onchain_ohlcv
network:stringtoken_address:stringtimeframe:stringaggregate:stringbefore_timestamp:integercurrency:stringinclude_empty_intervals:booleaninclude_inactive_source:booleanlimit:integerjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_tokens_networks_onchain_pools
network:stringtoken_address:stringinclude:stringinclude_inactive_source:booleanpage:integersort:string

Description

This endpoint allows you to query top pools based on the provided token contract address on a network

get_tokens_networks_onchain_trades
network:stringtoken_address:stringtrade_volume_in_usd_greater_than:numberjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_tokens_networks_onchain_top_traders
network_id:stringtoken_address:stringinclude_address_label:booleansort:stringtraders:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_pools_onchain_megafilter
buy_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

Description

This endpoint allows you to query pools based on various filters across all networks on GeckoTerminal

get_pools_onchain_trending_search
include:stringpools:integerjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_search_onchain_pools
include:stringnetwork:stringpage:integerquery:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_addresses_networks_simple_onchain_token_price
network: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

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_holding_chart_public_treasury
entity_id:stringcoin_id:stringdays:stringinclude_empty_intervals:booleanjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_transaction_history_public_treasury
entity_id:stringcoin_ids:stringorder:stringpage:numberper_page:numberjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_search
query:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_search_trending
show_max:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_simple_price
vs_currencies:stringids:stringinclude_24hr_change:booleaninclude_24hr_vol:booleaninclude_last_updated_at:booleaninclude_market_cap:booleaninclude_tokens:stringnames:stringprecision:stringsymbols:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_simple_supported_vs_currencies
jq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

get_id_simple_token_price
id:stringcontract_addresses:stringvs_currencies:stringinclude_24hr_change:booleaninclude_24hr_vol:booleaninclude_last_updated_at:booleaninclude_market_cap:booleanprecision:stringjq_filter:string

Description

When using this tool, always use the jq_filter parameter to reduce the response size and improve performance.

search_docs
query:stringlanguage:stringdetail:string

Description

Search for documentation for how to use the client to interact with the API.

Integration Example

import { AgentBuilder, McpCoinGecko } from "@iqai/adk";

async function main() {
  // Initialize McpCoinGecko toolset
  const toolset = McpCoinGecko();

  // Get available McpCoinGecko tools
  const coinGeckoTools = await toolset.getTools();

  // Create agent with McpCoinGecko tools
  const { runner } = await AgentBuilder.create("coingecko_agent")
    .withModel("gemini-2.5-flash")
    .withDescription("A crypto market research agent powered by CoinGecko data")
    .withTools(...coinGeckoTools)
    .build();

  const response = await runner.ask(
    "What are the top 10 cryptocurrencies by market cap right now?",
  );

  console.log(response);
}

main().catch(console.error);

Further Resources