SimpleCalculator using Model Context Protocol (MCP) Server & Docker について
カスタム MCP 実装を試す開発者向けの、Docker で動かす算術演算 MCP サーバーです。加算、減算、乗算、除算のツールを提供します。
主な機能
- 01加算、減算、乗算、除算
- 02カスタム MCP プロトコル処理
- 03Docker によるデプロイ
- 04compose.yaml による設定
活用シーン
- 01MCP クライアントに基本計算を提供
- 02Docker Compose で計算サーバーを起動
- 03カスタム MCP 実装の学習やテスト
MCP 対応
MCP クライアントに加算、減算、乗算、除算のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Model Context Protocol(MCP)サーバーと Docker を使用した SimpleCalculator
算術演算を行うカスタム Model Context Protocol(MCP)の実装例です。シームレスにデプロイできるよう、Docker でコンテナ化されています。
特長
- MCP の実装:数学演算を処理するカスタムプロトコル
- 基本演算:加算、減算、乗算、除算
- コンテナ化アーキテクチャ:Docker ベースのデプロイ
- 依存関係の管理:
pyproject.tomlとuv.lockを使用した最新の Python パッケージ管理 - プロトコルのセキュリティ:コンテナ分離による基本的な通信セキュリティ
プロジェクト構成
.
├── src/ # MCP server implementation
├── Dockerfile # Container build instructions
├── compose.yaml # Orchestration configuration
├── requirements.txt # Python dependencies
├── pyproject.toml # Project metadata
├── uv.lock # Dependency lock file
├── .gitignore
├── LICENSE.md
└── README.md
はじめに
前提条件
- Docker
インストール
git clone https://github.com/DionBenFernandes-Dev/SimpleCalculator-using-MCP-Server---Docker.git
cd SimpleCalculator-using-MCP-Server---Docker
デプロイ
docker compose up --build
プロトコルの実装
MCP サーバーは、カスタムプロトコルの実装を通じて計算を処理します。演算は次のパターンで処理されます。
- 接続:クライアントが MCP サーバーへの接続を確立します
- リクエスト形式:
Available tools:
- add: Add 2 numbers
- sub: Subtract 2 numbers
- mul: Multiply 2 numbers
- div: Divide 2 numbers
Enter the tool you want to use: add
Enter 1st Number: 3
Enter 2nd Number: 4
- レスポンス形式:
Result:: 3 + 4 = 7
設定
compose.yaml の環境変数を変更して、次の項目を調整します。
- サーバーのポートバインド
- ログの詳細度
- プロトコルのタイムアウト
開発
- ローカル環境のセットアップ:
pip install uv # recommended
uv venv
uv add -r requirements.txt
uv run ./src/server.py
- テスト:
uv run .\src\client.py
- 出力:
Available tools:
- add: Add 2 numbers
- sub: Subtract 2 numbers
- mul: Multiply 2 numbers
- div: Divide 2 numbers
Enter the tool you want to use: add
Enter 1st Number: 3
Enter 2nd Number: 4
Result:: 3 + 4 = 7
ライセンス
MIT License - LICENSE.md を参照してください
貢献
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/NewOperation) - 変更をコミットします(
git commit -m 'Add modulo operation') - ブランチにプッシュします(
git push origin feature/NewOperation) - プルリクエストを作成します
メンテナー
Dion Ben Fernandes - GitHub プロフィール
注:この実装は、カスタム MCP アーキテクチャパターンを示すものです。本番環境で使用する場合は、適切なプロトコルセキュリティ対策と検証レイヤーの実装を検討してください。
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。