Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-coingecko-server

MCP.Pizza Chef: crazyrabbitLTC

The mcp-coingecko-server is a Model Context Protocol (MCP) server designed to provide seamless, structured access to the CoinGecko Pro API. It supports paginated retrieval of cryptocurrency data, including coin ID lookups by name or symbol, historical price, market cap, volume data, and OHLC candlestick information. Featuring a local coin cache with refresh capabilities, it integrates with MCP clients like Claude Desktop and supports OpenAI function calling, enabling advanced AI workflows with real-time crypto market data. Installation is straightforward via npm, and environment setup requires a CoinGecko API key. This server is ideal for developers building AI-powered financial tools, trading bots, or market analysis applications.

Use This MCP server To

Retrieve paginated lists of supported cryptocurrencies Lookup cryptocurrency IDs by name or symbol Fetch historical price, market cap, and volume data Access OHLC candlestick data for market analysis Cache coin data locally with refresh support Integrate CoinGecko data into AI workflows via OpenAI function calls Enable real-time crypto market insights in MCP clients

README

CoinGecko Server

A Model Context Protocol (MCP) server and OpenAI function calling service for interacting with the CoinGecko Pro API.

Features

  • Paginated list of supported cryptocurrencies
  • Coin ID lookup by name or symbol
  • Historical price, market cap, and volume data
  • OHLC (Open, High, Low, Close) candlestick data
  • Local coin cache with refresh capability

Installation

npm install coingecko-server

Environment Setup

Create a .env file in your project root:

COINGECKO_API_KEY=your_api_key_here

Usage with Claude Desktop

Claude Desktop provides full support for MCP features. To use this server:

  1. Install Claude Desktop

  2. Add to your Claude Desktop configuration:

    • On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • On Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "coingecko": {
      "command": "node",
      "args": ["/path/to/coingecko-server/build/index.js"],
      "env": {
        "COINGECKO_API_KEY": "your-api-key-here"
      }
    }
  }
}
  1. Restart Claude Desktop

The server provides the following tools:

  • get-coins: Get a paginated list of supported coins
  • find-coin-ids: Look up CoinGecko IDs for coin names/symbols
  • get-historical-data: Get historical price, market cap, and volume data
  • get-ohlc-data: Get OHLC candlestick data
  • refresh-cache: Refresh the local coin list cache

Usage with OpenAI Function Calling

import { CoinGeckoService } from 'coingecko-server';
import OpenAI from 'openai';

const openai = new OpenAI();
const coinGeckoService = new CoinGeckoService(process.env.COINGECKO_API_KEY);

// Get function definitions
const functions = CoinGeckoService.getOpenAIFunctionDefinitions();

// Example: Get historical data
const response = await openai.chat.completions.create({
  model: "gpt-4-turbo-preview",
  messages: [{ role: "user", content: "Get Bitcoin's price history for the last week" }],
  functions: [functions[2]], // get_historical_data function
  function_call: "auto",
});

if (response.choices[0].message.function_call) {
  const args = JSON.parse(response.choices[0].message.function_call.arguments);
  const history = await coinGeckoService.getHistoricalData(
    args.id,
    args.vs_currency,
    args.from,
    args.to,
    args.interval
  );
}

Data Types

OHLCData

interface OHLCData {
  timestamp: number;
  open: number;
  high: number;
  low: number;
  close: number;
}

HistoricalData

interface HistoricalData {
  prices: [number, number][];
  market_caps: [number, number][];
  total_volumes: [number, number][];
}

CoinInfo

interface CoinInfo {
  id: string;
  symbol: string;
  name: string;
  platforms?: Record<string, string>;
}

Rate Limits

Please refer to the CoinGecko Pro API documentation for current rate limits and usage guidelines.

License

MIT

mcp-coingecko-server FAQ

How do I install the mcp-coingecko-server?
Install it via npm using 'npm install coingecko-server' and configure your environment with a CoinGecko API key.
How do I set up the API key for the server?
Create a .env file in your project root with 'COINGECKO_API_KEY=your_api_key_here'.
Can this server be used with Claude Desktop?
Yes, Claude Desktop fully supports this MCP server and its features.
Does the server support OpenAI function calling?
Yes, it supports OpenAI function calling compatibility for enhanced AI integration.
How does the local coin cache work?
The server maintains a local cache of coin data to improve performance and supports manual refreshes.
What kind of cryptocurrency data can I retrieve?
You can retrieve paginated coin lists, coin ID lookups, historical price, market cap, volume, and OHLC candlestick data.
Is the server compatible with other LLM providers?
While optimized for OpenAI function calling, it also works with Anthropic Claude and Google Gemini via MCP.
How do I configure the server in Claude Desktop?
Add the server command and arguments to the claude_desktop_config.json file in the appropriate user directory.