Crypto_MCP_Server — 暗号資産向け軽量MCPサーバ
概要
Crypto MCP Serverは、暗号資産取引所のマーケットデータをMCP(Model Context Protocol)互換の形で提供することを目的に作られたPython製のサーバ実装です。ccxtライブラリを利用して複数取引所の価格・板・OHCLV(Open/High/Close/Low/Volume)データを取得し、get_ticker、get_ohclv、stream_tickerの3つのツールを公開します。設計上は軽量なMCPサーバアーキテクチャを採用し、カスタムのエラー処理やインメモリキャッシュでAPI呼び出し回数を抑え、pytestによるテストスイートで品質を担保しています。非同期ストリーミングはasyncジェネレータとして提供され、リアルタイムデータの配信に適しています。(約300字)
リポジトリの統計情報
- スター数: 7
- フォーク数: 0
- ウォッチャー数: 7
- コミット数: 3
- ファイル数: 6
- メインの言語: Python
主な特徴
- ccxtを介した多取引所対応のマーケットデータ取得(ライブ/履歴)
- get_ticker / get_ohclv / stream_ticker:3つの明確なツールを提供
- インメモリキャッシュとカスタムエラー処理で堅牢性と効率を確保
- pytestによる完全なテストスイートで信頼性を担保
技術的なポイント
本プロジェクトは「MCP互換サーバ」を掲げ、モデルやツールを外部プロセスやアプリから呼び出せる形でマーケットデータを公開する点が特徴です。データ取得にはccxtを採用しており、同ライブラリが対応する複数の取引所から統一的なAPIでティッカーやOHCLVを取り出せます。get_tickerは現在の価格やスプレッド等のサマリーを返し、get_ohclvは指定レンジ・時間足のローソク足データを履歴として提供します。stream_tickerはasyncジェネレータとして実装されており、非同期イベントループ内で逐次データを生成・配信できるため、低レイテンシのリアルタイムモニタリングや簡易なストリーミングパイプラインに適します。
設計面では「軽量」を重視しており、フル機能のメッセージブローカーや永続ストレージを必要としない構成です。代わりにインメモリキャッシュを導入してリクエスト間で取得結果を短時間保持し、ccxt経由のAPIコール頻度を抑えることでレート制限対策とレスポンス改善を行います。エラー処理は独自のラッパーで整備されており、ccxtやネットワークの例外をMCPツール呼び出し側が扱いやすい形に正規化します。さらに、pytestベースのテスト群が同梱されているため、ローカル環境での回帰テストやCI統合が容易です。総じて、取引所データの取得・配信をMCPの枠組みで簡潔に実現することにフォーカスした実装になっています。(約700〜900字)
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- README.md: file
- client_test.py: file
- requirements.txt: file
- server: dir
…他 1 ファイル
(serverディレクトリ内にMCP用のサーバ実装やツール定義、エラーハンドラ、キャッシュ実装がまとめられている想定です。requirements.txtにはccxtやpytest、非同期処理用ライブラリが列挙されています。)
まとめ
軽量でテスト済み、ccxtベースの暗号資産データMCPサーバ。実運用前のプロトタイプに最適です。(約50字)
リポジトリ情報:
- 名前: Crypto_MCP_Server
- 説明: Crypto MCP Server is a Model Context Protocol (MCP) compatible server that provides real-time and historical cryptocurrency market data using ccxt
- スター数: 7
- 言語: Python
- URL: https://github.com/Nielsen642/Crypto_MCP_Server
- オーナー: Nielsen642
- アバター: https://avatars.githubusercontent.com/u/210520865?v=4
READMEの抜粋:
🚀 Crypto MCP Server
📌 Overview
Crypto MCP Server is a Model Context Protocol (MCP) compatible server that provides real-time and historical cryptocurrency market data using ccxt. It exposes three fully tested tools:
get_ticker → Live price & market summary
get_ohclv → Historical candlestick data
stream_ticker → Real-time price streaming (async generator)
The project includes:
Custom error handling
In-memory caching
A lightweight MCP server architecture
Complete test suite (pytest…)