MCP_Server

Priya-1514/MCP_Server

3.1

If you are the rightful owner of MCP_Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

This project is a Python-based MCP server that provides real-time and historical cryptocurrency market data.

MCP Crypto Market Data Server

This project is a Python-based MCP server that provides real-time and historical cryptocurrency market data. The server is built using FastAPI, and it fetches data from major exchanges through CCXT. The goal of this project was to understand how MCP servers work, how to interact with crypto APIs, and how to build a clean, modular Python backend.

*Why I Built It

The assignment required a small MCP server with features like:

endpoints to fetch data

support for real-time updates

historical queries

caching

structured code

test coverage

I kept the code simple so anyone can read it easily, while still keeping the structure clean.

*Features Implemented

Live price lookup

Historical OHLCV (1 hour candles, last 24 hours)

Lightweight caching

Error handling

Tests using pytest

Clean folder structure

**Project Structure

mcp-server/ ├─ app/ │ ├─ main.py │ ├─ services/ccxt_client.py │ ├─ cache.py │ ├─ models.py │ └─ exceptions.py ├─ tests/test_api.py ├─ requirements.txt └─ README.md

***Technologies Used

FastAPI

CCXT

Pytest

Uvicorn

Python

**Endpoints

  1. Root GET / Response: { "message": "Crypto MCP Server running" }

  2. Latest Price GET /price/{symbol} Example: /price/BTC

  3. Historical OHLCV GET /history/{symbol} Example: /history/ETH

***How to Run

  1. Install dependencies pip install -r requirements.txt

  2. Start the server uvicorn app.main:app --reload

  3. Test API http://127.0.0.1:8000/price/BTC http://127.0.0.1:8000/history/ETH

  4. Run Tests pytest

***Assumptions

Binance is the default exchange.

Symbols assumed to trade against USDT.

Cache expiry: 10 seconds.

Historical timeframe: 1h.

***Possible Improvements

Support multiple exchanges

WebSocket streaming

Redis caching

More detailed tests

Environment variables

Conclusion

This project meets the MCP assignment requirements with clear Python code, real-time crypto data, historical queries, caching, structured layout, and test coverage.