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
Máy chủ liên quan
HAProxy MCP Server
Interact with HAProxy's runtime API for administration, monitoring, and traffic analysis.
CData ShipStation
A read-only MCP server by CData for querying live ShipStation data, enabling LLMs to access shipping and order information.
Spotify MCP Server
Interact with the Spotify API to manage playlists and control music playback.
Remote MCP Server on Cloudflare
An MCP server designed to run on Cloudflare Workers, featuring OAuth login support.
Remote MCP Server (Authless)
A remote MCP server deployable on Cloudflare Workers without authentication. It can be deployed via Cloudflare or run locally using npm.
ChartMogul
Access and manage ChartMogul data, including customers, plans, and analytics.
Remote MCP Server on Cloudflare
A remote MCP server for Cloudflare Workers with OAuth login support, using Cloudflare KV for data storage.
Weather Alerts
Provides real-time weather alerts for US states using the National Weather Service API.
GooglePlayConsoleMcp
Let AI assistants manage your Play Store releases
Pulumi
Manage cloud infrastructure using Pulumi's Infrastructure as Code (IaC) platform. Requires the Pulumi CLI to be installed.