Coingecko
    Coingecko

    Coingecko

    An Anthropic MCP server (with OpenAI Function calling compatibility) for the Coingecko Pro API

    4.3

    GitHub Stats

    Stars

    9

    Forks

    6

    Release Date

    5/24/2025

    about a month ago

    Detailed Description

    Update: CoinGecko now has an official MCP server: https://docs.coingecko.com/reference/mcp-server

    I recomend you use that one, as I probably won't update or keep this one current.

    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

    About the Project

    This app has not been claimed by its owner yet.

    Claim Ownership

    Receive Updates

    Security Updates

    Get notified about trust rating changes

    to receive email notifications.