CoinGecko Server
An MCP server for accessing real-time cryptocurrency data from the CoinGecko Pro API.
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:
-
Install Claude Desktop
-
Add to your Claude Desktop configuration:
- On macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - On Windows:
%APPDATA%\Claude\claude_desktop_config.json
- On macOS:
{
"mcpServers": {
"coingecko": {
"command": "node",
"args": ["/path/to/coingecko-server/build/index.js"],
"env": {
"COINGECKO_API_KEY": "your-api-key-here"
}
}
}
}
- Restart Claude Desktop
The server provides the following tools:
get-coins: Get a paginated list of supported coinsfind-coin-ids: Look up CoinGecko IDs for coin names/symbolsget-historical-data: Get historical price, market cap, and volume dataget-ohlc-data: Get OHLC candlestick datarefresh-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
Related Servers
Remote MCP Server on Cloudflare
A remote MCP server for Cloudflare Workers with OAuth login support, using Cloudflare KV for data storage.
Weather MCP Server
Provides current weather data and allows for city comparisons.
HAProxy MCP Server
Interact with HAProxy's runtime API for administration, monitoring, and traffic analysis.
Mindbody MCP Server
Interact with the Mindbody API for managing fitness and wellness studios.
Vast.ai
Interact with Vast.ai's cloud GPU services for on-demand computing power.
Ankr API MCP Server
Access blockchain data using the Ankr API.
CRIC Wuye AI
Interact with capabilities of the CRIC Wuye AI platform, an intelligent assistant specifically for the property management industry.
Azure Data Catalog by CData
A read-only MCP server for Azure Data Catalog, powered by CData's JDBC driver.
Strava MCP Server
Access the Strava API to interact with activities, athlete information, and other Strava data.
Tembo Cloud
An MCP server for managing databases and services on the Tembo Cloud platform.