Dockerized MCP Server Template について
公式 MCP Python SDK を使った Python 製 MCP サーバーのテンプレートで、Docker または直接実行できます。ステートレスな Streamable HTTP を採用し、LLM アプリ向けのサービス開発に使えます。
主な機能
- 01Python MCP サーバーテンプレート
- 02Docker コンテナでの実行
- 03ステートレスな Streamable HTTP
- 04サンプルの add ツール
活用シーン
- 01Python MCP サーバーの試作
- 02Docker Compose によるサーバー起動
MCP 対応
Streamable HTTP 経由で /mcp に公開する MCP サーバーのテンプレートで、MCP クライアントから呼び出せる add ツールを含みます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Dockerized MCP Server Template
このリポジトリでは、Docker コンテナーで実行され、リアルタイム通信に Streamable HTTP を利用する、Model Context Protocol (MCP) を実装した Python サーバーの再利用可能なテンプレートを提供します。Model Context Protocol (MCP) の Python 実装を基盤とするこのテンプレートを使えば、Large Language Models (LLM) を簡単に統合できます。
MCP とは?
Model Context Protocol (MCP) を使うと、LLM アプリケーションにデータや機能を安全かつ標準化された方法で公開するサーバーを構築できます。
このテンプレートでは、ステートレスな Streamable HTTP を利用してリアルタイム通信を行う、本番環境向けの MCP サーバーを Docker コンテナーで実行する方法を紹介します。
プロジェクト構成
dockerized-mcp-server-template/
├── src/
│ ├── Dockerfile
│ ├── requirements.txt
│ └── server.py
├── docker-compose.yml
└── README.md
はじめに
Docker Compose でビルドして実行する
docker-compose up --build
サーバーには次の場所からアクセスできます。
http://localhost:8080/mcp
直接実行する(Docker を使わない場合)
Python を使ってサーバーを直接実行することもできます。まず、依存関係をインストールします。
pip install -r src/requirements.txt
次に、サーバーを実行します。
python src/server.py
サーバーには次の場所からアクセスできます。
http://localhost:8080/mcp
使用例
この例には、シンプルな MCP ツール関数 add が含まれています。
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers"""
return a + b
MCP クライアントリクエストを使って、このツールを呼び出すことができます。
技術的な注意事項
このテンプレートでは Streamable HTTP トランスポートを使用します。これは、Python SDK v1.8.0 以降の Model Context Protocol で利用できます(https://github.com/modelcontextprotocol/python-sdk)。
Streamable HTTP を使用する理由
Streamable HTTP は、ステートレスな動作を可能にすることで従来の SSE トランスポートを大幅に改善し、MCP をサーバーレスアーキテクチャや標準的なウェブインフラストラクチャと互換性のあるものにします。この方式では、永続的な接続が不要になるため、リソース効率とコスト効率が向上します。また、開発者にとって実装もよりシンプルです。その結果、機能を損なうことなく、デプロイしやすく、スケーラビリティとリソース効率に優れた MCP サーバーを実現できます。
リソース
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。