Skip to main content
Glama
SaqibHussain44

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)