Custom-MCP-Server-Python について
Custom-MCP-Server-Pythonは、TCP通信とプロトコル設計を学ぶためのPythonソケットサーバーのデモです。構造化メッセージの処理やクライアント接続を示し、独自のネットワークアプリケーション開発の出発点となります。
主な機能
- 01ソケットを使ったPython TCPサーバー
- 02構造化メッセージの処理
- 03クライアント接続の管理
- 04クライアントとサーバー間のリアルタイム通信
- 05拡張可能なメッセージタイプ
活用シーン
- 01TCPソケットプログラミングの学習
- 02独自メッセージプロトコルの試作
- 03ネットワークアプリのサーバー構成を学習
MCP 対応
プロジェクトは独自のJSON over TCP形式をMCPと呼んでいますが、READMEに記載されているのはModel Context Protocolではなく独自定義のプロトコルです。クライアントメッセージの解析と応答をサーバー側で行う方法を示します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
🧠 カスタム MCP サーバーのデモ
このプロジェクトは、Python を使用して構築されたカスタム MCP(Model Context Protocol)サーバーです。Model Context Protocol(MCP)を使って通信するカスタムサーバーの作成方法を実演するために設計されています。MCP は、クライアントとサーバー間の柔軟な通信システムを構築するのに役立つ、シンプルな独自プロトコルです。
📌 このプロジェクトについて
このプロジェクトでは、次の方法を学べます。
-
Python の socket ライブラリを使用してカスタムサーバーを構築する
-
クライアントとサーバー間の通信を処理するカスタムプロトコル(MCP)を実装する
-
クライアント接続とメッセージ処理を体系的に管理する
-
コンテキストを考慮した処理で、カスタムコマンドやデータを送受信する
このプロジェクトは、マルチプレイヤーゲーム、チャットアプリケーション、カスタムネットワークツールなど、より複雑なクライアント・サーバーシステムを作成するための学習基盤となります。
🚀 特徴
-
🌐 Python で構築された TCP ベースのカスタムサーバー
-
🔄 Model Context Protocol:構造化されたメッセージ処理
-
📡 クライアントとサーバー間のリアルタイム通信
-
🧩 新しいメッセージタイプや機能を簡単に追加可能
-
🧪 ネットワーキング、プロトコル設計、サーバーアーキテクチャの学習に最適
🔧 要件
-
Python 3.8+
-
ネットワーキング(ソケット、TCP)の基本的な理解
-
外部依存関係は不要
🛠 実行方法
-
リポジトリをクローンします。
git clone https://github.com/Eltaf-azizi/Custom-MCP-Server-Demo.git cd custom-mcp-server -
サーバーを実行します。
python server.py
💡 プロトコルの仕組み(MCP)
Model Context Protocol は独自に定義されたプロトコルで、各メッセージには次の内容が含まれます。
-
モデル:送信するデータの種類(例:「chat」、「move」、「state」)
-
コンテキスト:モデルを解釈するための追加メタデータ
-
データ:実際のペイロード/メッセージ
メッセージ構造の例(TCP 経由の JSON):
{
"model": "chat",
"context": "user",
"data": "Hello, world!"
}
サーバーはこれらのメッセージを解析し、それに応じて応答します。そのため、複数種類のクライアントとのやり取りを、明快かつ拡張性の高い方法で簡単に処理できます。
📚 リソース
Tech With Tim - カスタム MCP サーバーで何でも構築(https://www.youtube.com/watch?v=-8k9lGpGQ6g)
Python Socket Programming Docs(https://docs.python.org/3/library/socket.html)
🤝 コントリビューション
このプロジェクトの修正や改善、あるいはこのプロジェクトをベースにしたまったく新しいものの構築に取り組めます。PR を歓迎します。
コーディングを楽しみましょう!
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。