cryptogecko-mcp-server
2
This project provides a client-server implementation for accessing cryptocurrency data through the Model Context Protocol, using CoinGecko API. It includes a Python-based server, TypeScript client, and React frontend.
MCP Crypto Client-Server Implementation Guide
This guide will help you set up the Model Context Protocol (MCP) server and client for retrieving cryptocurrency data using the CoinGecko API.
Overview
The system consists of:
- Python MCP Server: Handles API requests to CoinGecko and exposes functionality through MCP tools
- TypeScript MCP Client: Connects to the server and provides methods to interact with the server tools
- React Frontend: A web interface to interact with the crypto data
Server Setup
Prerequisites
- Python 3.9+
- pip
Installation
-
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install starlette uvicorn httpx mcp-server python-dotenv
-
Create a
.env
file in your project root:COINGECKO_API_KEY=your_api_key # Optional, free tier can work without it PORT=8000
-
Save the Python server code to
server.py
-
Start the server:
python server.py --port 8000 --debug
You can customize the host and port with command-line arguments:
python server.py --host 127.0.0.1 --port 8080
The server will be available at http://localhost:8000
.
Customizing the Implementation
Adding New Tools
To add a new tool to the server:
- Create a new function with the
@mcp_app.tool()
decorator - Implement the function to fetch data from CoinGecko or process existing data
- Add corresponding methods to the TypeScript client
- Update the React UI to use the new functionality