# io.github.cyanheads/coingecko-mcp-server (npm · @cyanheads/coingecko-mcp-server)

Crypto market data via CoinGecko — prices, markets, history, trending, and deep coin metadata.

- Trust score: 66/100 (medium)
- Change this week: +51
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-07

## Components

- npm · `@cyanheads/coingecko-mcp-server`: 66/100 (this document), [markdown](https://verifymcp.io/servers/cyanheads-coingecko-mcp-server/cyanheads-coingecko-mcp-server.md), [page](https://verifymcp.io/servers/cyanheads-coingecko-mcp-server/cyanheads-coingecko-mcp-server)

## Channel facts

- Registry: `npm`
- Package: `@cyanheads/coingecko-mcp-server`
- Version: `0.1.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-07.

- **Supply Chain Security**: 86/100
  - No malware found by supply-chain analysis.
  - Known CVEs were checked across the 125 of 132 dependencies we could resolve, so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Dependency health was assessed across the 125 of 132 dependencies we could resolve, so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 53 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 82/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1754 tokens (~159/item across 11 items; 8 tools + 3 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### Claude

```bash
claude mcp add cyanheads-coingecko-mcp-server -- npx -y @cyanheads/coingecko-mcp-server
```

### Codex

```bash
codex mcp add cyanheads-coingecko-mcp-server -- npx -y @cyanheads/coingecko-mcp-server
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "cyanheads-coingecko-mcp-server": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@cyanheads/coingecko-mcp-server"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add cyanheads-coingecko-mcp-server --command npx --arg -y --arg @cyanheads/coingecko-mcp-server
```

### Hermes

```yaml
mcp_servers:
  cyanheads-coingecko-mcp-server:
    command: "npx"
    args: ["-y", "@cyanheads/coingecko-mcp-server"]
```

### Other

```json
{
  "mcpServers": {
    "cyanheads-coingecko-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/coingecko-mcp-server"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-06 (score 66, +31)

- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Schema quality: unverified → 100
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional] First check of Tool coverage: 100
- [functional] First check of Tool coverage: 100
- [functional] First check of Schema quality: fail
- [functional] First check of Schema quality: excellent
- [functional] First check of Schema quality: fail

### 2026-08-02 (score 35, +30)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: our sandbox run of this package did not complete, so we have no schema to compare.
- [functional regression] Security disclosure: fail → unverified
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional] Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess.
- [functional] Capabilities: Protocol version not yet verified: our sandbox run of this package did not complete, so we never saw its MCP handshake.
- [functional] Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess.
- [functional] Licence: Apache-2.0

### 2026-08-01 (score 5, −10)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-31 (score 15, −10)

- [security regression] Provenance: unverified → fail
- [security regression] Malware scan: pass → unverified
- [security improvement] Install scripts: unverified → pass
- [functional regression] Dependency health: partial → unverified
- [functional improvement] License: unverified → pass
- [functional improvement] Maintenance: unverified → pass
- [functional] Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess.
- [functional] Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess.
- [functional] Licence: Apache-2.0

### 2026-07-29 (score 25, +1)

- [functional improvement] Dependency health: unverified → partial
- [functional] Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.
- [functional] Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.

### 2026-07-27 (score 24)

First indexed and scored.

## MCP tools (8)

### `coingecko_search_coins` (~128 tokens)

coingecko-mcp-server: 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.

Input parameters:

- `query` (string, required): Coin name or ticker symbol to resolve (e.g. "bitcoin", "ETH", "solana").

Output parameters:

- `attribution` (string): Required data-source attribution.
- `cap` (number): The cap applied to the candidate list. Present only when capped.
- `coins` (array): Ranked slug candidates (top 25 by relevance). Data provided by CoinGecko.
- `notice` (string): Guidance when nothing matched — echoes the query and suggests how to broaden.
- `shown` (number): Number of candidates returned. Present only when capped.
- `truncated` (boolean): True when the candidate list was capped at the limit. Present only when capped.

### `coingecko_get_prices` (~205 tokens)

coingecko-mcp-server: 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".

Input parameters:

- `ids` (array, required): CoinGecko slugs to price (e.g. ["bitcoin","ethereum"]). Not tickers — resolve with coingecko_search_coins. Up to 250 per call.
- `vs_currencies` (array): Currency codes to price against (e.g. ["usd","eur","btc"]). Defaults to ["usd"].

Output parameters:

- `attribution` (string): Required data-source attribution.
- `lastUpdatedAtUnixSec` (number): Upstream last-updated time as a Unix timestamp in seconds (note: market-chart timestamps are milliseconds).
- `missing` (array): Requested ids absent from the response (unknown slug or upstream silent miss). Re-resolve these with coingecko_search_coins. Empty when all ids resolved.
- `notice` (string): Guidance when some requested ids returned no data — lists the missing ids and how to recover.
- `prices` (array): One row per (id, currency) that returned a price. Data provided by CoinGecko.

### `coingecko_list_categories` (~132 tokens)

coingecko-mcp-server: 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.

Input parameters:

- `name_contains` (string): Local name filter — every whitespace-separated token must appear in the category display name (case-insensitive, punctuation-insensitive). Omit to return the full list.

Output parameters:

- `attribution` (string): Required data-source attribution.
- `categories` (array): Matching categories (full list when no filter). Data provided by CoinGecko.
- `notice` (string): Guidance when the filter matched nothing — suggests browsing unfiltered.
- `totalCount` (number): Total categories available upstream before any local filter.

### `coingecko_list_markets` (~239 tokens)

coingecko-mcp-server: 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.

Input parameters:

- `category` (string): Restrict to a category slug from coingecko_list_categories (e.g. "layer-1", "decentralized-finance-defi"). Omit for all coins.
- `order` (string): Sort order. Use price_change_percentage_24h_desc for top gainers, _asc for top losers.
- `page` (integer): 1-based page number for paging beyond per_page rows.
- `per_page` (integer): Rows per page (max 250).
- `vs_currency` (string): Currency to denominate the table in (e.g. "usd", "eur", "btc"). Single currency.

Output parameters:

- `appliedCategory` (string): Category slug applied, when filtered.
- `appliedOrder` (string): Sort order applied.
- `attribution` (string): Required data-source attribution.
- `cap` (number): The per_page cap applied. Present only when the page is full.
- `coins` (array): Ranked market rows for this page. Data provided by CoinGecko.
- `shown` (number): Rows returned on this page. Present only when the page is full.
- `truncated` (boolean): True when the page filled to per_page (more rows likely on the next page). Present only when the page is full.

### `coingecko_get_coin` (~240 tokens)

coingecko-mcp-server: 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.

Input parameters:

- `id` (string, required): CoinGecko slug (e.g. "ethereum"). Not a ticker — resolve with coingecko_search_coins.
- `sections` (array): Subset of sections to return: profile, market, links, developer, community, sentiment. Omit for all sections.
- `vs_currency` (string): Currency for the market-data figures (price, cap, ATH/ATL). Single currency; defaults to "usd".

Output parameters:

- `attribution` (string): Required data-source attribution.
- `community` (object): Community stats (CoinGecko no longer returns Twitter follower counts). Present when the community section is requested.
- `developer` (object): Developer activity. Present when the developer section is requested.
- `id` (string): CoinGecko slug.
- `links` (object): Official and social links. Present when the links section is requested.
- `market` (object): Market data in vs_currency. Present when the market section is requested.
- `name` (string): Display name.
- `profile` (object): Identity and descriptive metadata. Present when the profile section is requested.
- `sentiment` (object): Sentiment vote split. Present when the sentiment section is requested.
- `symbol` (string): Ticker symbol.

### `coingecko_get_market_chart` (~280 tokens)

coingecko-mcp-server: 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.

Input parameters:

- `days`: recent mode: number of days back, or "max" for full history. Required when mode=recent.
- `from` (integer): range mode: start time as a Unix timestamp in SECONDS. Required when mode=range.
- `id` (string, required): CoinGecko slug (e.g. "bitcoin"). Not a ticker — resolve with coingecko_search_coins.
- `mode` (string): recent: last N days (use days). range: explicit window (use from and to as Unix seconds).
- `to` (integer): range mode: end time as a Unix timestamp in SECONDS. Required when mode=range.
- `vs_currency` (string): Currency to denominate the series in. Single currency; defaults to "usd".

Output parameters:

- `attribution` (string): Required data-source attribution.
- `granularity` (string): Point spacing CoinGecko applied for this span (computed from the requested range).
- `id` (string): CoinGecko slug the series is for.
- `marketCaps` (array): Market-cap series over the same window.
- `pointCount` (number): Number of price points returned.
- `prices` (array): Price series. Data provided by CoinGecko.
- `volumes` (array): Volume series over the same window.
- `vsCurrency` (string): Currency the series is denominated in.

### `coingecko_get_trending` (~88 tokens)

coingecko-mcp-server: 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.)

Output parameters:

- `attribution` (string): Required data-source attribution.
- `coins` (array): Trending coins ranked by CoinGecko search volume. Data provided by CoinGecko.
- `nftCount` (number): Number of trending NFTs upstream also reported (detail not surfaced by this tool).

### `coingecko_get_global` (~114 tokens)

coingecko-mcp-server: 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.

Input parameters:

- `vs_currency` (string): Currency for total market cap and volume (e.g. "usd", "eur", "btc"). Defaults to "usd". Dominance and the change percentages are always USD-denominated upstream.

Output parameters:

- `activeCryptocurrencies` (number): Count of active cryptocurrencies tracked.
- `attribution` (string): Required data-source attribution.
- `btcDominance` (number): Bitcoin share of total market cap, as a percentage.
- `ethDominance` (number): Ethereum share of total market cap, as a percentage.
- `marketCapChangePercentage24h` (number): 24-hour change in total market cap, as a percentage (always USD-denominated).
- `markets` (number): Count of active markets (exchanges/pairs) tracked.
- `ongoingIcos` (number): Count of ongoing ICOs.
- `totalMarketCap` (number): Total crypto market capitalization in vs_currency.
- `totalVolume24h` (number): Total 24-hour trading volume in vs_currency.
- `updatedAtUnixSec` (number): Snapshot time as a Unix timestamp in seconds.
- `volumeChangePercentage24h` (number): 24-hour change in total volume, as a percentage (always USD-denominated).

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/cyanheads-coingecko-mcp-server/cyanheads-coingecko-mcp-server#diagnostics

## Score history

- 2026-08-07: 66
- 2026-08-06: 66
- 2026-08-05: 35
- 2026-08-04: 35
- 2026-08-03: 35
- 2026-08-02: 35
- 2026-08-01: 5
- 2026-07-31: 15
- 2026-07-29: 25
- 2026-07-28: 24
- 2026-07-27: 24

## Links

- npm package: https://www.npmjs.com/package/@cyanheads/coingecko-mcp-server
- Socket report: https://socket.dev/npm/package/@cyanheads/coingecko-mcp-server
- Repository: https://github.com/cyanheads/coingecko-mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/cyanheads-coingecko-mcp-server/cyanheads-coingecko-mcp-server.xml
- Changelog JSON feed: https://verifymcp.io/servers/cyanheads-coingecko-mcp-server/cyanheads-coingecko-mcp-server.json
- HTML version of this page: https://verifymcp.io/servers/cyanheads-coingecko-mcp-server/cyanheads-coingecko-mcp-server
