CO

CoinMarketCap MCP Server Complete Market Data API

Access the MCP server for complete CoinMarketCap market data API, including crypto prices, exchange details, and blockchain metrics.

Quick Install
npx -y @shinzo-labs/coinmarketcap-mcp

Overview

The CoinMarketCap MCP Server exposes a complete market data API built around the Model Context Protocol (MCP). It aggregates CoinMarketCap data — cryptocurrency prices, exchange metadata, market listings, and blockchain metrics — and serves it in a format designed for programmatic consumption and integration with machine learning systems, dashboards, or analytics pipelines.

For developers integrating market data into apps or LLM-based assistants, the MCP server simplifies access by normalizing CoinMarketCap responses, offering caching, and providing MCP-compatible endpoints that make it easier to feed structured context into models. This reduces the friction of calling multiple endpoints, parsing raw responses, or rate-limit juggling when building data-driven features.

Features

  • Unified, normalized API surface for CoinMarketCap market data
  • Support for price quotes, market listings, exchange details, and blockchain metrics
  • MCP-compatible endpoints for supplying model context to LLMs and agents
  • Local development via Docker or native node runtime (configurable)
  • Environment-driven configuration (API key, port, cache settings)
  • Lightweight caching and request aggregation to reduce upstream rate usage
  • Open source repository for customization and self-hosted deployment

Installation / Configuration

Clone the repository and run with Docker or Node.js. The examples below assume you have Docker or Node (>=14) installed.

Clone the project:

git clone https://github.com/shinzo-labs/coinmarketcap-mcp.git
cd coinmarketcap-mcp

Example .env (create in project root):

# .env
COINMARKETCAP_API_KEY=your_coinmarketcap_api_key
PORT=8080
CACHE_TTL_SECONDS=60
LOG_LEVEL=info

Run with Docker:

# build and run
docker build -t coinmarketcap-mcp .
docker run -d --env-file .env -p 8080:8080 coinmarketcap-mcp

Run locally with Node.js:

npm install
npm run build      # if TypeScript or build step exists
npm start

Docker Compose example:

version: "3.8"
services:
  cmc-mcp:
    image: your-registry/coinmarketcap-mcp:latest
    ports:
      - "8080:8080"
    env_file:
      - .env
    restart: unless-stopped

Configuration notes:

  • Set COINMARKETCAP_API_KEY to a valid CoinMarketCap API key.
  • Adjust CACHE_TTL_SECONDS to balance freshness vs. upstream quota usage.
  • Expose the PORT to your network or reverse proxy as needed.

Available Resources

The server provides REST endpoints (examples below). Exact route names may vary by release; consult the repository for the current OpenAPI/Swagger spec.

Endpoint summary:

Path (example)MethodDescription
/v1/quotesGETLatest price quotes for one or more symbols (e.g., BTC, ETH)
/v1/listings/latestGETCurrent market listings sorted by market cap
/v1/exchangesGETExchange list and metadata
/v1/blockchain-metricsGETNetwork metrics for supported blockchains
/mcp/contextPOSTMCP-compatible endpoint to request structured model context

Developer resources:

  • GitHub: https://github.com/shinzo-labs/coinmarketcap-mcp
  • Local Swagger/OpenAPI (if enabled): http://localhost:8080/docs or /swagger

Use Cases

  1. Real-time price lookup (quick curl)
curl "http://localhost:8080/v1/quotes?symbols=BTC,ETH"

Response will return normalized quote objects with price, 24h change, volume, and timestamp.

  1. Supply context to an LLM (MCP POST) Send structured market context to an LLM or agent that expects MCP payloads:
curl -X POST http://localhost:8080/mcp/context \
  -H "Content-Type: application/json" \
  -d '{
    "request_id": "analysis-123",
    "symbols": ["BTC","ETH"],
    "fields": ["price","percent_change_24h","market_cap"],
    "cache": true
  }'

The server responds with a compact context bundle optimized for model input.

  1. Analytics pipeline / ETL Use the listings and exchange endpoints to feed a data warehouse or analytics job:
  • Schedule periodic requests to /v1/listings/latest
  • Normalize and store timestamps, market cap, circulating supply
  • Compute historical indicators or backtest strategies using contained metrics
  1. Dashboard and widgets
  • Power dashboard widgets with /v1/quotes for live prices and 24h changes
  • Enrich exchange pages with /v1/exchanges metadata and trust scores

Contributing and Support

Check the repository issues and contrib guidelines on GitHub for bug reports, feature requests, or pull requests. If you need custom ingestion or integration patterns (e.g., webhook forwarders, additional caching layers), the project is intended to be extensible for self-hosting and private deployments.

For more details and the latest API contract, see the project README and the included OpenAPI/Swagger documentation in the repository.