Skip to main content
Glama

Docker を使用した MCP サーバー

このプロジェクトは、モデル制御プロトコル (MCP) を OpenAI の API と統合し、OpenAI が Docker で実行されている MCP サーバーによって公開されるツールにアクセスして使用できるようにする方法を示します。

前提条件

  • システムにDockerがインストールされている

  • Git(リポジトリのクローンを作成する)

Related MCP server: MCP Simple OpenAI Assistant

プロジェクト構造

  • server.py : ツールを使ったMCPサーバ実装

  • client.py : サーバーに接続してエージェントを呼び出すクライアント

  • Dockerfile : Dockerイメージを構築するための手順

  • requirements.txt : プロジェクトの Python 依存関係

データフローの説明

  1. ユーザークエリ: ユーザーはシステムにクエリを送信します (例: 「当社の休暇ポリシーは何ですか?」)

  2. OpenAI API : OpenAIはMCPサーバーからクエリと利用可能なツールを受け取ります

  3. ツールの選択: OpenAIはクエリに基づいてどのツールを使用するかを決定します

  4. MCPクライアント:クライアントはOpenAIのツール呼び出し要求を受信し、MCPサーバーに転送します。

  5. MCP サーバー: サーバーは要求されたツールを実行します (例: ナレッジ ベース データの取得)

  6. レスポンスフロー: ツールの結果はMCPクライアントを介してOpenAIに返されます。

  7. 最終応答: OpenAIはツールデータを組み込んだ最終応答を生成する

Dockerで実行する

ステップ1: Dockerイメージを構築する

docker build -t mcp-server .

ステップ2: Dockerコンテナを実行する

docker run -p 8050:8050 mcp-server

これにより、Docker コンテナ内で MCP サーバーが起動し、ポート 8050 で公開されます。

クライアントの実行

サーバーが起動したら、別のターミナルでクライアントを実行できます。

python client.py

クライアントはサーバーに接続し、利用可能なツールを一覧表示し、エージェントを呼び出してクエリに応答します。

トラブルシューティング

接続の問題が発生した場合:

  1. サーバーが実行中かどうかを確認します。docker docker psを使用して Docker コンテナが実行中であることを確認します。

  2. ポート マッピングを確認する: docker psを使用するか、 docker runコマンドの出力をチェックして、ポートが正しくマッピングされていることを確認します。

  3. サーバー ログを確認する: docker logs <container_id>を使用してサーバー ログを表示し、エラーがあるかどうかを確認します。

  4. ホストバインディング:コンテナ外からアクセスできるようにするため、サーバーは127.0.0.1ではなく0.0.0.0にバインドするように設定されています。それでも問題が解決しない場合は、ファイアウォールの設定を確認する必要があるかもしれません。

  5. ネットワークの問題: リモート マシンで Docker を実行している場合は、クライアント マシンからポートにアクセスできることを確認してください。

注記

  • サーバーは SSE (Server-Sent Events) トランスポートを使用するように構成されており、ポート 8050 でリッスンします。

  • クライアントはhttp://localhost:8050/sseでサーバーに接続します。

  • クライアントを起動する前に、サーバーが実行中であることを確認してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TomasRodriguez2002/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server