Skip to main content
Glama
Bitcompare MCP Server

Bitcompare MCP Server

Official

@bitcompare/mcp-server

The official crypto yield data MCP server: native Claude access to live and historical crypto lending, savings, staking, borrowing, stablecoin, price, coin metadata, and market data. Built on Model Context Protocol — works with Claude Desktop, Claude Code, Claude.ai, and any MCP-compatible agent.

One npm install, twenty-one tools, one API key.

npx -y @bitcompare/mcp-server

Free API keys can call get_rates, get_rate_by_symbol and list_providers (30 requests/minute, 10,000/month). Every other tool, including get_rate_history, needs a paid plan (Starter at $49/mo or above). Sign up at https://auth.bitcompare.net/pro/signup. Requires npm 1.2.0 or later; 1.1.0 has 18 tools and only works with Pro or Enterprise.

What you get

21 read-only tools. Calls use the same API key and request quotas as REST:

  • Crypto yield data — current & historical lending, borrowing, savings, and staking APYs across CeFi and DeFi providers

  • Coins — metadata, price history, similar coins, and top-by-market-cap lookups

  • Prices — aggregated exchange prices with median + outlier filtering

  • Global market stats — total market cap, dominance, Fear & Greed Index, 24h top movers

  • Stablecoin data — peg deviation leaderboard, historical drift, and yield comparison

  • Symbol resolution — map exchange-specific tickers (BTC, XBT, wBTC) to canonical coin IDs

Full tool catalog: https://www.bitcompare.net/mcp · machine-readable: https://api.bitcompare.net/mcp/tools.json · agent manifest: https://api.bitcompare.net/llms.txt.

Related MCP server: YieldOracle

Install

You don't need to install it — run via npx:

BITCOMPARE_API_KEY=ck_live_... npx @bitcompare/mcp-server --test

Configure Claude Desktop

Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "bitcompare": {
      "command": "npx",
      "args": ["-y", "@bitcompare/mcp-server"],
      "env": {
        "BITCOMPARE_API_KEY": "ck_live_..."
      }
    }
  }
}

Restart Claude Desktop. Ask "what's the best yield on BTC right now?" — Claude will call get_rates and answer from live data.

Configure Claude Code

In your project's .claude/settings.local.json:

{
  "mcpServers": {
    "bitcompare": {
      "command": "npx",
      "args": ["-y", "@bitcompare/mcp-server"],
      "env": {
        "BITCOMPARE_API_KEY": "ck_live_..."
      }
    }
  }
}

Hosted alternative

If you prefer not to install anything, we also run the MCP server at https://api.bitcompare.net/mcp over Streamable HTTP. Point your MCP client at that URL with an Authorization: Bearer ck_live_* header.

Docker

A container is provided for hosted introspection (e.g. Glama). It installs the published npm package and runs the server over stdio:

docker build -t bitcompare-mcp .
docker run -i -e BITCOMPARE_API_KEY=ck_live_... bitcompare-mcp

tools/list introspection works without a key; tool calls need a valid ck_live_ key: Free keys can call the three Free tools, and paid plans (Starter or above) can call all 21.

CLI flags

  • --test — validate your key and list available tools, then exit

  • --version — print version

  • --help — print help

  • --base-url <url> — override API base URL (for staging/dev)

Source

The server is developed in the Bitcompare services monorepo and published to npm as @bitcompare/mcp-server. This repository mirrors the published package and its container for public discovery and hosted introspection.

Support

License

MIT — see LICENSE.

Available Tools

21 tools
coin_historyHistorical coin price chartA
Read-onlyIdempotent
Inspect

Historical price timeseries for a coin. Requests use the nearest 1, 7, 30, 90 or 365-day window (default 7), bounded by available data. Requires a paid plan (Starter or above) over MCP; this endpoint does not apply the rate-history per-plan day clamp.

Inputs: coinId (required), days. Returns: data

fear_greed_indexFear & Greed indexA
Read-onlyIdempotent
Inspect

Current Fear & Greed index value and historical trend.

Inputs: no named parameters. Returns: value, history, updatedAt, classification

get_coinGet coin metadataA
Read-onlyIdempotent
Inspect

Full metadata for a coin: description, links, categories, market data, developer stats.

Inputs: coinId (required). Returns: id, name, rank, price, +2 more

get_priceAggregated exchange priceA
Read-onlyIdempotent
Inspect

Current aggregated price for one or more symbols, computed from multiple exchange feeds.

Inputs: symbols (required), vs. Returns: count, prices, timestamp

get_price_by_symbolAggregated price for a single symbolA
Read-onlyIdempotent
Inspect

Aggregated exchange price for one symbol, plus the raw per-provider prices that fed the aggregate. Use get_price for multiple symbols in one call.

Inputs: symbol (required), vs, region. Returns: data

get_rate_by_symbolGet rates for a single symbolA
Read-onlyIdempotent
Inspect

Fetch all provider rates for a specific coin symbol. Optionally filter by category — pass category="lending"/"borrowing"/"staking" for yield questions, since unfiltered results mix in spot prices (category="price").

Inputs: symbol (required), category. Returns: data

get_rate_changesRate change feed (observations)A
Read-onlyIdempotent
Inspect

The immutable rate-change log: every material yield move with full provenance (previous rate, raw value, multiplier, collection method, confidence, base/bonus split). Time-ascending pages via cursor. Unfiltered windows are capped at 31 days — filter by provider or symbol to walk deep history. Use for "what changed since X?" and audit trails.

Inputs: since (required), limit, until, cursor, +3 more. Returns: data, pagination

get_rate_historyHistorical ratesA
Read-onlyIdempotent
Inspect

Historical rate timeseries for a symbol. Recent history (~30 days) is per-tick; older history is daily granularity. Depth is clamped to your plan (up to 365 days on Pro) and bounded by how far back data has been recorded. (Current plan: up to 7 days of history.)

Inputs: symbol (required), days, provider. Returns: data

get_ratesGet current ratesA
Read-onlyIdempotent
Inspect

List current rates across providers, optionally filtered by symbol, category, or provider. For "what is the best yield on BTC right now?" style questions, ALWAYS pass category="lending"/"borrowing"/"staking" — an unfiltered call mostly returns spot prices (category="price"), not yields.

Inputs: limit, symbol, category, provider. Returns: data

list_coinsList coinsA
Read-onlyIdempotent
Inspect

Paginated list of coins with optional name/symbol search.

Inputs: page, limit, search. Returns: coins

list_earn_productsCanonical earn products & variantsA
Read-onlyIdempotent
Inspect

The canonical earn product graph: products (provider × asset × category) with their term variants — lockups, tiers, minimum deposits, payout schedules, withdrawal notice, TVL, promo flags — each carrying collection method, confidence (0-100 with bands), verification timestamps, and geo eligibility resolved from variant overrides or provider defaults. Use for "what are the actual terms behind this rate?"

Inputs: limit, offset, symbol, category, +2 more. Returns: data

list_providersList rate providersA
Read-onlyIdempotent
Inspect

All rate providers, optionally filtered by product category.

Inputs: limit, category. Returns: providers

market_summaryGlobal market summaryA
Read-onlyIdempotent
Inspect

One-call summary of total market cap, 24h volume, BTC/ETH dominance, and recent trend.

Inputs: no named parameters. Returns: trend24h, btcDominance, ethDominance, volume24hUsd, +1 more

resolve_symbolResolve symbol to canonical coinA
Read-onlyIdempotent
Inspect

Map an exchange-specific or ambiguous symbol to bitcompare's canonical coin id. Useful when an exchange uses a non-standard ticker.

Inputs: symbol (required), context. Returns: name, input, coinId, symbol

resolve_symbols_batchBatch resolve symbolsA
Read-onlyIdempotent
Inspect

Resolve up to 100 symbols in a single request. Requires a plan with bulk endpoints enabled. Your current plan does not include bulk endpoints — calls will return 403.

Inputs: symbols (required), context. Returns: resolved

similar_coinsSimilar coinsA
Read-onlyIdempotent
Inspect

Coins related to the given coin by category/sector similarity.

Inputs: coinId (required), limit. Returns: coins

stablecoin_earn_benchmarkBitcompare Earn Index (BEI-Stable)A
Read-onlyIdempotent
Inspect

The Bitcompare Earn Index for stablecoins: median USDC/USDT lending APY across servable providers, with CeFi/DeFi splits, TVL-weighted variant, deltas, and an immutable daily history. Use for "what does stablecoin yield pay right now / how has it trended?" — this is the citable market reference, not a single provider quote.

Inputs: segment, history_days. Returns: data

stablecoin_indexStablecoin stability leaderboardA
Read-onlyIdempotent
Inspect

Ranked stablecoin leaderboard with stability scores, peg deviation, and market cap.

Inputs: limit. Returns: stablecoins

stablecoin_peg_stabilityStablecoin peg stabilityB
Read-onlyIdempotent
Inspect

Peg deviation history and stability stats for a stablecoin.

Inputs: symbol (required), period. Returns: symbol, history, deviation, pegTarget

top_coinsTop coins by market capB
Read-onlyIdempotent
Inspect

Top N coins ordered by market capitalisation.

Inputs: limit. Returns: coins

top_moversTop gainers/losersA
Read-onlyIdempotent
Inspect

Biggest 24h gainers and losers within a rank segment.

Inputs: limit, segment. Returns: losers, gainers

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 21 tools

    Disambiguation4/5

    Most tools target distinct resources (prices vs. yields vs. coin metadata vs. stablecoin analytics), and descriptions actively steer usage, e.g. telling agents to pass category="lending" and to prefer get_price over get_price_by_symbol for multiple symbols. The main soft spots are get_rates vs. get_rate_by_symbol and get_price vs. get_price_by_symbol, which overlap substantially and are only separated by prose hints.

    Naming Consistency3/5

    Mostly snake_case with a predictable verb_noun style for retrieval (get_*, list_*, resolve_*), but the set mixes verbs with bare nouns (top_coins, market_summary, fear_greed_index, stablecoin_index, similar_coins). Analogous operations are named inconsistently, e.g. get_rate_history vs. coin_history.

    Tool Count3/5

    21 tools is on the heavy side for a data API and covers several domains (coins, prices, yields, providers, stablecoins), so some surface likely goes unused in a single session. Each tool does map to a real endpoint, so it is not padding, but it sits at the borderline of the acceptable range.

    Completeness4/5

    Market data, rates/yields, provider listings, earn-product terms, rate-change audit logs, and stablecoin analytics are all covered, so core workflows have no dead ends. Gaps are minor: single-product lookup by id and bulk symbol resolution are missing or plan-gated — resolve_symbols_batch is exposed but explicitly returns 403 on the current plan.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      C
      maintenance
      Cross-chain DeFi intelligence MCP server for AI agents. 7 tools for yield discovery, pool analysis, profit simulation, risk scoring, whale tracking, impermanent loss calculation, and DeFi overview across 86 chains and 6,500+ liquidity pools.
      7
      1
      AGPL 3.0
    • A
      license
      C
      quality
      B
      maintenance
      The canonical crypto MCP server for AI agents, providing access to 3,500+ editorial articles, 200+ entity dossiers, 43 academy lessons, and live market data as native MCP tools with full attribution.
      98
      160 PyPI
      1
      MIT