io.github.cyanheads/coingecko-mcp-server
Crypto market data via CoinGecko — prices, markets, history, trending, and deep coin metadata.
Versions
0.1.0latestTools 8
coingecko_list_markets Ranked market table — top coins sorted by market cap, volume, or 24h price change, optionally filtered to a category. The entry point for "top 20 DeFi coins" or "biggest gainers today". Returns standard market fields per coin (price, cap, volume, supply, 24h/1h/7d change, ATH/ATL). Discover valid category slugs with coingecko_list_categories and pass the category_id exactly.
coingecko_search_coins Resolve a coin name or ticker symbol to a CoinGecko ID (slug). The required first step before any ID-keyed tool — CoinGecko keys data by slug (bitcoin, ethereum), not ticker (BTC, ETH), and tickers are not unique (many coins share ETH/USDC). Returns ranked matches with id, symbol, name, and market_cap_rank to disambiguate; pick the intended coin from the ranked candidates.
coingecko_get_global Global crypto market snapshot: total market cap and 24h volume (in a chosen currency), BTC/ETH dominance, active-coin and active-market counts, ongoing ICOs, and 24h market-cap and volume change. One call for the macro picture — no coin id needed.
coingecko_get_trending Coins trending on CoinGecko in the last 24 hours, by search volume — a heartbeat for "what\'s hot in crypto right now". No parameters. Returns trending coins with rank, USD price, and 24h change. (Upstream reports market cap and volume as pre-formatted display strings, not numbers, so those are omitted rather than presented as numeric data.)
coingecko_get_market_chart Historical price, market cap, and volume time series for a coin. Two modes: recent (last N days; granularity auto-scales — ≤1 day → ~5-min, 2–90 → hourly, >90 → daily) or range (explicit Unix-second from/to). Returns timestamped point arrays. Use for trend/charting questions, not the current snapshot (use coingecko_get_prices for that). The id must be a CoinGecko slug (resolve tickers with coingecko_search_coins). Chart timestamps are milliseconds.
coingecko_get_coin Deep profile for a single coin: description, categories, genesis date, homepage/whitepaper/repo/social links, full market data (price, cap, supply, ATH/ATL, multi-window price change), developer activity (GitHub stars/forks/commits), community stats, and sentiment vote split. The full picture for "tell me everything about Ethereum". The id must be a CoinGecko slug (resolve tickers with coingecko_search_coins). Use sections to fetch only part of the large record. Note: categories here are display names (e.g. "Layer 1 (L1)"), not the category_id slugs from coingecko_list_categories.
coingecko_get_prices Current price and core market stats (market cap, 24h volume, 24h change) for one or more coins in one or more fiat/crypto currencies. Batch-friendly — pass a whole portfolio in one call (up to 250 ids). IDs must be CoinGecko slugs (bitcoin, ethereum), not tickers; resolve unknown tickers with coingecko_search_coins first. Any requested ids that returned no data are reported in the missing field (a wrong slug yields a silent upstream miss, not an error), so a typo reads as "unresolved", not "nonexistent".
coingecko_list_categories List CoinGecko\'s coin categories (category_id + display name) — the valid slugs for coingecko_list_markets\'s category filter. ~800 categories; pass name_contains to filter the list locally by name (e.g. "defi", "layer 1", "gaming") with strict token matching, instead of scanning all of them. Use the returned category_id exactly when filtering markets.
Permissions 3
network medium shell high env_vars low