Crypto Tracker MCP Server
README.md
# 🪙 Crypto Tracker MCP Server Example
A **Model Context Protocol (MCP)** server that connects AI agents (like Claude Desktop or other MCP clients) to real-time cryptocurrency market data using the [CoinGecko API](https://www.coingecko.com/en/api).
This project demonstrates how to build and run a complete **MCP server** in **Node.js**, featuring:
- 🧰 **Tools** for interacting with crypto data
- 📚 (Optional) **Resources** for reusable info sets
- 💬 (Optional) **Prompt Templates** for AI-assisted responses
---
## 🚀 Features
✅ **Get Real-Time Prices** — Fetch live prices, market cap, and 24h change for any cryptocurrency
✅ **Detailed Coin Info** — Retrieve full metadata for a specific coin
✅ **Market Data** — Paginated list of coins ranked by market cap
✅ **Search Coins** — Find coins by name or symbol
✅ **Trending Coins** — Get currently trending cryptocurrencies on CoinGecko
---
## 🧠 What Is MCP?
> **MCP (Model Context Protocol)** is a new open standard that connects Large Language Models (LLMs) to external tools, APIs, and data sources through a single unified interface.
Each **MCP Server** can expose:
| Category | Description |
|-----------|--------------|
| 🧰 **Tools** | Functions or APIs that an LLM can call (like `get_price`) |
| 📚 **Resources** | Static or dynamic data references (like coin lists, config files) |
| 💬 **Prompt Templates** | Predefined prompts or instruction templates |
Your LLM can then access and execute these capabilities safely and consistently.
---
## 🧩 Project Structure
```
crypto-mcp-server/
├── server.js # Main MCP server implementation
├── package.json # Dependencies and module config
└── README.md # Documentation (this file)
````
---
## ⚙️ Setup
### 1️⃣ Clone the repository
```bash
git clone https://github.com/<your-username>/crypto-mcp-server.git
cd crypto-mcp-server
````
### 2️⃣ Install dependencies
```bash
npm install
```
> Make sure your `package.json` includes `"type": "module"`
### 3️⃣ Run the server manually
```bash
node server.js
```
You should see:
```
CoinGecko MCP Server running on stdio
```
---
## 🧩 Integration with Claude Desktop
To connect this MCP server with **Claude Desktop**, edit your configuration file:
```bash
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
```
Add the following entry under `mcpServers`:
```json
{
"mcpServers": {
"coingecko": {
"command": "/Users/<your-username>/.nvm/versions/node/v22.17.1/bin/node",
"args": ["/Users/<your-username>/work/crypto-mcp-server/server.js"]
}
}
}
```
Then restart Claude Desktop. You’ll now be able to call this server using `/mcp` commands like:
```bash
/mcp coingecko get_price { "ids": "bitcoin", "vs_currencies": "usd" }
```
---
## 🧰 Available Tools
| Tool | Description | Example |
| ------------------ | --------------------------------------------- | ----------------------------------------------------- |
| `get_price` | Get current price, market cap, and 24h change | `{ "ids": "bitcoin", "vs_currencies": "usd" }` |
| `get_coin_details` | Get metadata about a specific coin | `{ "id": "ethereum" }` |
| `get_market_data` | Paginated market cap data | `{ "vs_currency": "usd", "per_page": 10, "page": 1 }` |
| `search_coins` | Search for cryptocurrencies | `{ "query": "solana" }` |
| `get_trending` | Get trending cryptocurrencies | `{}` |
---
## 🛠️ Tech Stack
* **Node.js 22+**
* **@modelcontextprotocol/sdk**
* **CoinGecko REST API**
* **ES Modules (import/export syntax)**
---
## 💡 Future Enhancements
* Add **Resources** to store coin metadata or cached lookups
* Add **Prompt Templates** for summarizing market trends
* Add **Persistent local caching** for performance optimization
* Integrate with other APIs (Binance, CoinMarketCap, etc.)
## 🧑💻 Author
**Saqib Hussain**
🚀 Software Engineer | DevOps | AI Integrations
🔗 [LinkedIn](https://www.linkedin.com/in/saqib-hussain-635780105/)
🏢 Founder — [DevInspect](https://devinspect.co)
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues