coinmarketcap mcp

Local 2025-09-01 00:12:46 0

Access the complete CoinMarketCap API with 20+ basic endpoints and 50+ total, including cryptocurrency market data, exchange information, and other blockchain-related metrics.


npm version smithery badge

A Model Context Protocol (MCP) implementation for the CoinMarketCap API, providing a standardized interface for accessing cryptocurrency market data, exchange information, and other blockchain-related metrics.

Features

  • Complete coverage of the CoinMarketCap API
  • Fetch data on the latest crypto trends, market movements, and global market metrics
  • Access to detailed OHLCV data with Standard subscription or higher
  • Type-safe parameter validation with Zod

Installation

⚠️ NOTE: Due to the large number of endpoints available on this server, it is recommended that you install and setup Heimdall to limit the number of endpoints exposed to your client applications.

If you do not have an API key, first sign up to receive a free Basic key here.

Add the following to your MCP client config.json (~/.heimdall/config.json if using Heimdall):

{
  "mcpServers": {
    "coinmarketcap": {
      "command": "npx",
      "args": [
        "@shinzolabs/coinmarketcap-mcp"
      ],
      "env": {
        "COINMARKETCAP_API_KEY": "your-key-here",
        "SUBSCRIPTION_LEVEL": "Basic" // "Basic", "Hobbyist", "Startup", "Standard", "Professional", or "Enterprise"
      }
    }
  }
}

Manual Download

  1. Download the repo:

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

  2. Install packages (inside cloned repo):

    pnpm i

  3. Add the following to your MCP client config.json (~/.heimdall/config.json if using Heimdall):

    {
      "mcpServers": {
        "coinmarketcap": {
          "command": "node",
          "args": [
            "/path/to/coinmarketcap-mcp/index.js"
          ],
          "env": {
            "COINMARKETCAP_API_KEY": "your-key-here",
            "SUBSCRIPTION_LEVEL": "Basic" // "Basic", "Hobbyist", "Startup", "Standard", "Professional", or "Enterprise"
          }
        }
      }
    }

Smithery

To install for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @shinzo-labs/coinmarketcap-mcp --client claude

Supported Endpoints

Subscription Level: Basic (and above)

Cryptocurrency

  • cryptoCurrencyMap: Get mapping of all cryptocurrencies
  • getCryptoMetadata: Get metadata for one or more cryptocurrencies
  • allCryptocurrencyListings: Get latest market quote for 1-5000 cryptocurrencies
  • cryptoQuotesLatest: Get latest market quote for 1 or more cryptocurrencies
  • cryptoCategories: Get list of all cryptocurrency categories
  • cryptoCategory: Get metadata about a cryptocurrency category

Exchange

  • exchangeMap: Get mapping of all exchanges
  • exchangeInfo: Get metadata for one or more exchanges
  • exchangeAssets: Get list of all assets available on an exchange

DEX

  • dexInfo: Get metadata for one or more decentralised exchanges
  • dexListingsLatest: Get latest market data for all DEXes
  • dexNetworksList: Get list of all networks with unique IDs
  • dexSpotPairsLatest: Get latest market data for all active DEX spot pairs
  • dexPairsQuotesLatest: Get latest market quotes for spot pairs
  • dexPairsOhlcvLatest: Get latest OHLCV data for spot pairs
  • dexPairsOhlcvHistorical: Get historical OHLCV data for spot pairs
  • dexPairsTradeLatest: Get latest trades for spot pairs

Global Metrics

  • globalMetricsLatest: Get latest global cryptocurrency metrics

Index

  • cmc100IndexLatest: Get latest CoinMarketCap 100 Index value and constituents
  • cmc100IndexHistorical: Get historical CoinMarketCap 100 Index values

Tools

  • priceConversion: Convert an amount of one cryptocurrency or fiat currency into another
  • getPostmanCollection: Get Postman collection for the API

Other

  • fiatMap: Get mapping of all fiat currencies
  • keyInfo: Get API key usage and status
  • fearAndGreedLatest: Get latest Fear & Greed Index
  • fearAndGreedHistorical: Get historical Fear & Greed Index values

Subscription Level: Hobbyist (and above)

Cryptocurrency

  • cryptoAirdrops: Get list of all cryptocurrency airdrops
  • cryptoAirdrop: Get metadata about a specific airdrop
  • historicalCryptocurrencyListings: Get historical market quotes for any cryptocurrency
  • cryptoQuotesHistorical: Get historical market quotes for any cryptocurrency
  • cryptoQuotesHistoricalV3: Get historical market quotes with advanced time-based intervals

Exchange

  • exchangeQuotesHistorical: Get historical quotes for any exchange

Global Metrics

  • globalMetricsHistorical: Get historical global cryptocurrency metrics

Subscription Level: Startup (and above)

Cryptocurrency

  • newCryptocurrencyListings: Get list of most recently added cryptocurrencies
  • cryptoTrendingGainersLosers: Get biggest gainers and losers in a given time period
  • cryptoTrendingLatest: Get top cryptocurrencies by search volume
  • cryptoTrendingMostVisited: Get most visited cryptocurrencies
  • cryptoOhlcvLatest: Get latest OHLCV market data for any cryptocurrency
  • cryptoOhlcvHistorical: Get historical OHLCV market data for any cryptocurrency
  • cryptoPricePerformanceStatsLatest: Get price performance statistics for any cryptocurrency

Subscription Level: Standard (and above)

Cryptocurrency

  • cryptoMarketPairsLatest: Get latest market pairs for any cryptocurrency

Exchange

  • exchangeListingsLatest: Get latest market data for all exchanges
  • exchangeMarketPairsLatest: Get latest market pairs for any exchange
  • exchangeQuotesLatest: Get latest market quotes for one or more exchanges

Content

  • contentLatest: Get latest cryptocurrency news and content
  • contentPostsTop: Get top cryptocurrency posts
  • contentPostsLatest: Get latest cryptocurrency posts
  • contentPostsComments: Get comments for a specific post

Community

  • communityTrendingTopic: Get trending topics in the cryptocurrency community
  • communityTrendingToken: Get trending tokens in the cryptocurrency community

Subscription Level: Enterprise (and above)

Blockchain

  • blockchainStatisticsLatest: Get latest statistics for one or more blockchains

Contributing

Contributions are welcomed and encouraged. Contact [email protected] with any questions, comments or concerns.

[
  {
    "description": "Returns information about all coin categories available on CoinMarketCap.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string"
        },
        "limit": {
          "type": "number"
        },
        "slug": {
          "type": "string"
        },
        "start": {
          "type": "number"
        },
        "symbol": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "cryptoCategories"
  },
  {
    "description": "Returns information about a single coin category on CoinMarketCap.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "convert": {
          "type": "string"
        },
        "convert_id": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "limit": {
          "type": "number"
        },
        "start": {
          "type": "number"
        }
      },
      "required": [
        "id"
      ],
      "type": "object"
    },
    "name": "cryptoCategory"
  },
  {
    "description": "Returns a mapping of all cryptocurrencies to unique CoinMarketCap IDs.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "aux": {
          "type": "string"
        },
        "limit": {
          "type": "number"
        },
        "listing_status": {
          "type": "string"
        },
        "sort": {
          "type": "string"
        },
        "start": {
          "type": "number"
        },
        "symbol": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "cryptoCurrencyMap"
  },
  {
    "description": "Returns all static metadata for one or more cryptocurrencies including logo, description, and website URLs.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "address": {
          "type": "string"
        },
        "aux": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "skip_invalid": {
          "type": "boolean"
        },
        "slug": {
          "type": "string"
        },
        "symbol": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "getCryptoMetadata"
  },
  {
    "description": "Returns a paginated list of all active cryptocurrencies with latest market data.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "aux": {
          "type": "string"
        },
        "circulating_supply_max": {
          "type": "number"
        },
        "circulating_supply_min": {
          "type": "number"
        },
        "convert": {
          "type": "string"
        },
        "convert_id": {
          "type": "string"
        },
        "cryptocurrency_type": {
          "type": "string"
        },
        "limit": {
          "maximum": 5000,
          "minimum": 1,
          "type": "number"
        },
        "market_cap_max": {
          "type": "number"
        },
        "market_cap_min": {
          "type": "number"
        },
        "percent_change_24h_max": {
          "type": "number"
        },
        "percent_change_24h_min": {
          "type": "number"
        },
        "price_max": {
          "type": "number"
        },
        "price_min": {
          "type": "number"
        },
        "sort": {
          "enum": [
            "market_cap",
            "name",
            "symbol",
            "date_added",
            "price",
            "circulating_supply",
            "total_supply",
            "max_supply",
            "num_market_pairs",
            "volume_24h",
            "percent_change_1h",
            "percent_change_24h",
            "percent_change_7d"
          ],
          "type": "string"
        },
        "sort_dir": {
          "enum": [
            "asc",
            "desc"
          ],
          "type": "string"
        },
        "start": {
          "type": "number"
        },
        "tag": {
          "type": "string"
        },
        "volume_24h_max": {
          "type": "number"
        },
        "volume_24h_min": {
          "type": "number"
        }
      },
      "type": "object"
    },
    "name": "allCryptocurrencyListings"
  },
  {
    "description": "Returns the latest market quote for one or more cryptocurrencies.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "aux": {
          "type": "string"
        },
        "convert": {
          "type": "string"
        },
        "convert_id": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "skip_invalid": {
          "type": "boolean"
        },
        "slug": {
          "type": "string"
        },
        "symbol": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "cryptoQuotesLatest"
  },
  {
    "description": "Returns all static metadata for one or more decentralised exchanges.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "aux": {
          "type": "string"
        },
        "id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "dexInfo"
  },
  {
    "description": "Returns a paginated list of all decentralised cryptocurrency exchanges including the latest aggregate market data.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "aux": {
          "type": "string"
        },
        "convert_id": {
          "type": "string"
        },
        "limit": {
          "type": "string"
        },
        "sort": {
          "enum": [
            "name",
            "volume_24h",
            "market_share",
            "num_markets"
          ],
          "type": "string"
        },
        "sort_dir": {
          "enum": [
            "desc",
            "asc"
          ],
          "type": "string"
        },
        "start": {
          "type": "string"
        },
        "type": {
          "enum": [
            "all",
            "orderbook",
            "swap",
            "aggregator"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "dexListingsLatest"
  },
  {
    "description": "Returns a list of all networks to unique CoinMarketCap ids.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "aux": {
          "type": "string"
        },
        "limit": {
          "type": "string"
        },
        "sort": {
          "enum": [
            "id",
            "name"
          ],
          "type": "string"
        },
        "sort_dir": {
          "enum": [
            "desc",
            "asc"
          ],
          "type": "string"
        },
        "start": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "dexNetworksList"
  },
  {
    "description": "Returns a paginated list of all active dex spot pairs with latest market data.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "aux": {
          "type": "string"
        },
        "base_asset_contract_address": {
          "type": "string"
        },
        "base_asset_id": {
          "type": "string"
        },
        "base_asset_symbol": {
          "type": "string"
        },
        "base_asset_ucid": {
          "type": "string"
        },
        "convert_id": {
          "type": "string"
        },
        "dex_id": {
          "type": "string"
        },
        "dex_slug": {
          "type": "string"
        },
        "limit": {
          "type": "string"
        },
        "liquidity_max": {
          "type": "string"
        },
        "liquidity_min": {
          "type": "string"
        },
        "network_id": {
          "type": "string"
        },
        "network_slug": {
          "type": "string"
        },
        "no_of_transactions_24h_max": {
          "type": "string"
        },
        "no_of_transactions_24h_min": {
          "type": "string"
        },
        "percent_change_24h_max": {
          "type": "string"
        },
        "percent_change_24h_min": {
          "type": "string"
        },
        "quote_asset_contract_address": {
          "type": "string"
        },
        "quote_asset_id": {
          "type": "string"
        },
        "quote_asset_symbol": {
          "type": "string"
        },
        "quote_asset_ucid": {
          "type": "string"
        },
        "reverse_order": {
          "type": "string"
        },
        "scroll_id": {
          "type": "string"
        },
        "sort": {
          "enum": [
            "name",
            "date_added",
            "price",
            "volume_24h",
            "percent_change_1h",
            "percent_change_24h",
            "liquidity",
            "fully_diluted_value",
            "no_of_transactions_24h"
          ],
          "type": "string"
        },
        "sort_dir": {
          "enum": [
            "desc",
            "asc"
          ],
          "type": "string"
        },
        "volume_24h_max": {
          "type": "string"
        },
        "volume_24h_min": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "dexSpotPairsLatest"
  },
  {
    "description": "Returns the latest market quote for 1 or more spot pairs.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "aux": {
          "type": "string"
        },
        "contract_address": {
          "type": "string"
        },
        "convert_id": {
          "type": "string"
        },
        "network_id": {
          "type": "string"
        },
        "network_slug": {
          "type": "string"
        },
        "reverse_order": {
          "type": "string"
        },
        "skip_invalid": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "dexPairsQuotesLatest"
  },
  {
    "description": "Returns the latest OHLCV market values for one or more spot pairs for the current UTC day.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "aux": {
          "type": "string"
        },
        "contract_address": {
          "type": "string"
        },
        "convert_id": {
          "type": "string"
        },
        "network_id": {
          "type": "string"
        },
        "network_slug": {
          "type": "string"
        },
        "reverse_order": {
          "type": "string"
        },
        "skip_invalid": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "dexPairsOhlcvLatest"
  },
  {
    "description": "Returns historical OHLCV data along with market cap for any spot pairs using time interval parameters.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "aux": {
          "type": "string"
        },
        "contract_address": {
          "type": "string"
        },
        "convert_id": {
          "type": "string"
        },
        "count": {
          "type": "string"
        },
        "interval": {
          "enum": [
            "1m",
            "5m",
            "15m",
            "30m",
            "1h",
            "4h",
            "8h",
            "12h",
            "daily",
            "weekly",
            "monthly"
          ],
          "type": "string"
        },
        "network_id": {
          "type": "string"
        },
        "network_slug": {
          "type": "string"
        },
        "reverse_order": {
          "type": "string"
        },
        "skip_invalid": {
          "type": "string"
        },
        "time_end": {
          "type": "string"
        },
        "time_period": {
          "enum": [
            "daily",
            "hourly",
            "1m",
            "5m",
            "15m",
            "30m",
            "4h",
            "8h",
            "12h",
            "weekly",
            "monthly"
          ],
          "type": "string"
        },
        "time_start": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "dexPairsOhlcvHistorical"
  },
  {
    "description": "Returns up to the latest 100 trades for 1 spot pair.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "aux": {
          "type": "string"
        },
        "contract_address": {
          "type": "string"
        },
        "convert_id": {
          "type": "string"
        },
        "network_id": {
          "type": "string"
        },
        "network_slug": {
          "type": "string"
        },
        "reverse_order": {
          "type": "string"
        },
        "skip_invalid": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "dexPairsTradeLatest"
  },
  {
    "description": "Returns the assets/token holdings of an exchange.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "exchangeAssets"
  },
  {
    "description": "Returns metadata for one or more exchanges.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "aux": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "exchangeInfo"
  },
  {
    "description": "Returns a mapping of all exchanges to unique CoinMarketCap IDs.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "limit": {
          "type": "number"
        },
        "listing_status": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "sort": {
          "type": "string"
        },
        "start": {
          "type": "number"
        }
      },
      "type": "object"
    },
    "name": "exchangeMap"
  },
  {
    "description": "Returns the latest global cryptocurrency market metrics.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "convert": {
          "type": "string"
        },
        "convert_id": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "globalMetricsLatest"
  },
  {
    "description": "Returns an interval of historic CoinMarketCap 100 Index values based on the interval parameter.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "count": {
          "type": "string"
        },
        "interval": {
          "enum": [
            "5m",
            "15m",
            "daily"
          ],
          "type": "string"
        },
        "time_end": {
          "type": "string"
        },
        "time_start": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "cmc100IndexHistorical"
  },
  {
    "description": "Returns the lastest CoinMarketCap 100 Index value, constituents, and constituent weights.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {},
      "type": "object"
    },
    "name": "cmc100IndexLatest"
  },
  {
    "description": "Returns the latest CMC Crypto Fear and Greed Index value.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {},
      "type": "object"
    },
    "name": "fearAndGreedLatest"
  },
  {
    "description": "Returns historical CMC Crypto Fear and Greed Index values.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "limit": {
          "maximum": 500,
          "minimum": 1,
          "type": "number"
        },
        "start": {
          "minimum": 1,
          "type": "number"
        }
      },
      "type": "object"
    },
    "name": "fearAndGreedHistorical"
  },
  {
    "description": "Returns a mapping of all supported fiat currencies to unique CoinMarketCap IDs.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "include_metals": {
          "type": "boolean"
        },
        "limit": {
          "type": "number"
        },
        "sort": {
          "type": "string"
        },
        "start": {
          "type": "number"
        }
      },
      "type": "object"
    },
    "name": "fiatMap"
  },
  {
    "description": "Returns a Postman collection for the CoinMarketCap API.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {},
      "type": "object"
    },
    "name": "getPostmanCollection"
  },
  {
    "description": "Convert an amount of one cryptocurrency or fiat currency into one or more different currencies.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "amount": {
          "type": "number"
        },
        "convert": {
          "type": "string"
        },
        "convert_id": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "symbol": {
          "type": "string"
        },
        "time": {
          "type": "string"
        }
      },
      "required": [
        "amount"
      ],
      "type": "object"
    },
    "name": "priceConversion"
  },
  {
    "description": "Returns API key details and usage stats.",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {},
      "type": "object"
    },
    "name": "keyInfo"
  }
]