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
mcp-k8s-go
Golang-based Kubernetes MCP Server. Built to be extensible.
Remote MCP Server on Cloudflare
A self-hostable MCP server for Cloudflare Workers with OAuth support.
Shopify MCP Server
Interact with your Shopify store's data using the GraphQL API.
AWS MCP Servers
A suite of MCP servers providing AI applications with access to AWS documentation, contextual guidance, and best practices.
Litmus MCP Server
Enables LLMs and intelligent systems to interact with Litmus Edge for device configuration, monitoring, and management.
APISIX-MCP
APISIX Model Context Protocol (MCP) server is used to bridge large language models (LLMs) with the APISIX Admin API, supporting querying and managing all resources in Apache APISIX.
Edge Delta MCP Server
Integrates with Edge Delta APIs for advanced automation and interaction.
RateSpot
Access real-time mortgage rate data from the RateSpot.io API.
Remote MCP Server (Authless)
A remote MCP server deployable on Cloudflare Workers, operating without authentication.
Remote MCP Server (Authless)
A remote MCP server deployable on Cloudflare Workers without authentication.