mcpField
M
MCP SSE Client-Server

MCP SSE Client-Server

ローカル
github.com/flyingcloud-code開発ツール078 週間前に更新

MCP SSE Client-Server について

Server-Sent Events(SSE)で通信する Python 製 MCP クライアントとサーバーの実装例です。非同期の問い合わせ処理を試す開発者向けで、検索・ウェブページ取得ツールと OpenAI API または OpenRouter に対応します。

主な機能

  1. 01SSE によるクライアント・サーバー通信
  2. 02検索とウェブページ取得ツール
  3. 03asyncio による非同期クエリ処理
  4. 04OpenAI API と OpenRouter に対応
  5. 05ログ記録とエラー処理

活用シーン

  1. 01SSE ベースの MCP 問い合わせフローの構築
  2. 02検索ツールでウェブ情報を調査
  3. 03後続処理向けにページ本文を取得

MCP 対応

SSE 対応の MCP クライアントとサーバーを含み、google_search、get_web_content、get_weekday_from_date、get_weather_for_date ツールを利用できます。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP SSE クライアント・サーバー

Server-Sent Events(SSE)を使用した、MCP クライアントとサーバーのシンプルな Python 実装です。

特長

  • クライアントとサーバー間の SSE ベースの通信
  • MCP プラットフォームのツール(google_search、get_web_content)との統合
  • Python の asyncio を使用したクエリの非同期処理
  • 包括的なログ記録とエラー処理
  • OpenAI API との統合と、OpenRouter へのフォールバック
  • 環境変数による設定のサポート

要件

  • Python 3.10+
  • pyproject.toml に記載された依存関係:
    • HTTP リクエスト用の httpx
    • 環境変数用の python-dotenv
    • LLM 統合用の openai
    • MCP プラットフォーム統合用の mcp[cli]

インストール

  1. このリポジトリをクローンします
  2. 仮想環境を作成して有効化します:
    uv venv
    # On Windows
    .venv\Scripts\activate
    # On Unix/macOS
    source .venv/bin/activate
    
  3. 依存関係をインストールします:
    uv sync .
    

設定

プロジェクトのルートに API キーを記載した .env ファイルを作成します:

# Required - use either OPENAI_API_KEY or OPENROUTER_API_KEY
OPENAI_API_KEY=your_api_key
OPENROUTER_API_KEY=your_api_key

# Optional - specify custom base URL
OPENAI_BASE_URL=https://your-custom-url
OPENROUTER_BASE_URL=https://your-custom-url

使用方法

まず、8081 ポートで実行される MCP サーバーを起動します。 次に、MCP クライアントを起動します。

MCP サーバーのセットアップ
uv run mcp-server-search.py
MCP クライアントの使用方法
uv run mcp-client-sse.py --help
usage: mcp-client-sse.py [-h] [--server SERVER] [--verbose] [--quiet]

Run MCP SSE-based client

options:
  -h, --help       show this help message and exit
  --server SERVER  MCP SSE server URL (default: http://localhost:8081/sse)
  --verbose        Enable verbose logging mode (DEBUG level)
  --quiet          Set logging to WARNING level (overrides --verbose)

uv run mcp-client-sse.py --server URL_ADDRESS-server-url:8081/sse --verbose
利用可能な MCP ツール

クライアントは次の MCP ツールをサポートしています:

  • google_search:ウェブ検索を実行します
  • get_web_content:ウェブページのコンテンツ全体を取得します
  • get_weekday_from_date:日付に関するユーティリティ
  • get_weather_for_date:天気情報

開発

ログ記録

クライアントは、タイムスタンプと詳細情報を含むログを mcp-client.log に出力します。

テスト

今後実装予定です...

貢献

プルリクエストを歓迎します。大きな変更を行う場合は、まず issue を作成し、変更案について相談してください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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