mcpField
M
Multiple MCP SSE Servers with a Python Host

Multiple MCP SSE Servers with a Python Host

ローカル
github.com/hackerinheelsAI・エージェント183 週間前に更新

Multiple MCP SSE Servers with a Python Host について

設定ファイルから複数の SSE MCP サーバーを起動・管理する Python 製ホストです。Google's Gemini APIを使い、カレンダーとブラウザー操作のサーバー例を含みます。

主な機能

  1. 01設定済みの複数 MCP サーバーを起動
  2. 02接続維持と終了時のクリーンアップ
  3. 03Google's Gemini APIとの連携
  4. 04カレンダーとブラウザー操作の例

活用シーン

  1. 011つのホストで複数の SSE サーバーを実行
  2. 02Google Calendarの予定を検索・確認
  3. 03Chromeでブラウザータスクを実行

MCP 対応

config.jsonを読み込み、SSEで通信する複数の MCP サーバーを起動・管理します。STDIO対応は今後の課題として記載されています。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Python ホストでの複数の MCP SSE サーバー

このリポジトリには、Google の Gemini API を使用する、Server-Sent Events(SSE)対応の Model Control Protocol(MCP)クライアント実装が含まれています。 ホストアプリは config.json ファイルを読み込み、MCP Client クラスのインスタンスを作成して MCP サーバーを起動し、サーバーとの接続を維持し、シャットダウン時にクリーンアップなどを行います。

このホストアプリは dmg パッケージとして配布でき、どの MCP SSE サーバーでも使用できます。 Todo: stdio サーバーのサポートを追加 Todo: 複数モデルのサポートを追加 Todo: ツールチェーンを追加

セットアップ

  1. このリポジトリをクローンします:

    git clone https://github.com/hackerinheels/multipleMCPServerWithPythonHost.git
    cd multipleMCPServerWithPythonHost
    
  2. ルートディレクトリに、API キーを記載した .env ファイルを作成します:

    GEMINI_API_KEY=your_api_key_here
    MODEL_NAME=gemini-2.0-flash
    

    Gemini API キーは、Google's AI Studio から取得できます。

  3. googleCalendar/README.md ファイルの手順に従って、Google Calendar API をセットアップします。

  4. config.json を更新して、browser-use サーバーを追加します:

    {
        "mcpServers": {
            "calendar": {
                "command": "uv",
                "args": ["run", "googleCalendar/calendarServer.py", "--port", "8000"]
            },
            "browser-use": {
                "command": "uv",
                "args": ["run", "<path-to-browser-use-mcp-server>/server", "--port", "8006"]
            }
        }
    }
    

    <path-to-browser-use-mcp-server> を、リポジトリをクローンした実際のパスに置き換えます。

  5. browser-use-mcp-server ディレクトリに、次の設定を記載した .env ファイルを作成します:

CHROME_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

アプリケーションの実行

uv venv --python 3.11
source .venv/bin/activate
uv pip install -r requirements.txt
uv run host.py

これにより、config.json ファイルに記載されているすべてのサーバーが起動します。

使用方法

サーバーとクライアントの起動後、クエリを入力して操作できます。

Google Calendar のコマンド

カレンダーサーバーでは、次のツールを利用できます:

  • list_events:今後のカレンダーイベントを一覧表示します
  • get_event_details:特定のイベントの詳細情報を取得します
  • search_events:クエリに一致するイベントを検索します

クエリの例:

  • 「今後の予定を表示して」
  • 「John との会議を検索して」
  • 「イベント {event_id} の詳細を取得して」
ブラウザー自動化のための Browser Use

このツールは、次のツールを使用してブラウザーを自動化し、制御できます:

  • 'browser_use'
  • 'browser_get_result'

quit と入力すると、クライアントを終了します。

要件

  • Python 3.11+
  • UV パッケージマネージャー
  • Google Gemini API キー
  • Google Calendar API の認証情報(カレンダーサーバー用)

ライセンス

MIT

MCP マルチサーバー構成

このリポジトリでは、設定ファイルを使用して複数の MCP サーバーを読み込み、実行する方法を紹介します。

含まれるサーバー

カレンダーサーバー
  • Google Calendar を操作
  • イベントやスケジュールを管理
Browser-use サーバー
  • ブラウザー操作を自動化
  • Chrome ブラウザーをプログラムで制御
  • ブラウザーを使用するタスクを実行
4. Browser-use サーバーの環境設定

browser-use-mcp-server ディレクトリに、次の設定を記載した .env ファイルを作成します:

CHROME_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"

注:「your-openai-api-key」を実際の OpenAI API キーに置き換えてください。

注意事項

  • すべての API キーが .env に正しく設定されていることを確認してください
  • browser-use サーバーを使用するには、Chrome がインストールされていることを確認してください
  • 各サーバーは指定されたポートで実行されます
  • ホストがすべてのサーバーのライフサイクルを管理します

トラブルシューティング

  • サーバーが起動しない場合は、ポートが使用可能か確認してください
  • すべての環境変数が正しく設定されていることを確認してください
  • Chrome のパスがご使用のシステムに合っていることを確認してください

コメント

MCP は初めてですか?

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

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