mcpField
S
SimpleCalculator using Model Context Protocol (MCP) Server & Docker

SimpleCalculator using Model Context Protocol (MCP) Server & Docker

ローカル
github.com/DionBenFernandes-Devクラウド・インフラ079 週間前に更新

SimpleCalculator using Model Context Protocol (MCP) Server & Docker について

カスタム MCP 実装を試す開発者向けの、Docker で動かす算術演算 MCP サーバーです。加算、減算、乗算、除算のツールを提供します。

主な機能

  1. 01加算、減算、乗算、除算
  2. 02カスタム MCP プロトコル処理
  3. 03Docker によるデプロイ
  4. 04compose.yaml による設定

活用シーン

  1. 01MCP クライアントに基本計算を提供
  2. 02Docker Compose で計算サーバーを起動
  3. 03カスタム MCP 実装の学習やテスト

MCP 対応

MCP クライアントに加算、減算、乗算、除算のツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"SimpleCalculator-using-MCP-Server---Docker": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
起動コマンドdocker run -i --rm compose

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocicompose

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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 サーバーは、カスタムプロトコルの実装を通じて計算を処理します。演算は次のパターンで処理されます。

  1. 接続:クライアントが MCP サーバーへの接続を確立します
  2. リクエスト形式:
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
  1. レスポンス形式:
Result:: 3 + 4 = 7

設定

compose.yaml の環境変数を変更して、次の項目を調整します。

  • サーバーのポートバインド
  • ログの詳細度
  • プロトコルのタイムアウト

開発

  1. ローカル環境のセットアップ:
pip install uv # recommended

uv venv

uv add -r requirements.txt

uv run ./src/server.py
  1. テスト:
uv run .\src\client.py
  1. 出力:
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 を参照してください


貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/NewOperation)
  3. 変更をコミットします(git commit -m 'Add modulo operation')
  4. ブランチにプッシュします(git push origin feature/NewOperation)
  5. プルリクエストを作成します

メンテナー

Dion Ben Fernandes - GitHub プロフィール


注:この実装は、カスタム MCP アーキテクチャパターンを示すものです。本番環境で使用する場合は、適切なプロトコルセキュリティ対策と検証レイヤーの実装を検討してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。