mcp-sse について
mcp-sseは、SSE経由で接続するMCPサーバーと独立したクライアントの構成例です。稼働中のサーバーにクライアントを接続してツールを使う開発者向けで、サンプルサーバーはNational Weather Service APIを使った天気ツールを提供します。
主な機能
- 01SSE対応MCPサーバーの例
- 02独立したMCPクライアントの例
- 03コマンドラインでSSE接続先を指定
- 04気象警報と予報のツール
活用シーン
- 01クライアントから分離したMCPサーバーの構築
- 02SSEサーバーへの接続とツール利用
- 03クラウドネイティブなMCP通信の検証
MCP 対応
サーバーはMCP経由で気象警報と予報のツールを公開し、クライアントはSSEエンドポイントに接続してツールを呼び出します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP 用の SSE ベースのサーバーとクライアント
SSE ベースの MCP サーバーとそこからツールを使用するスタンドアロン MCP クライアントの動作パターンを実装したものです。こちらの元々の議論に基づいています。
使用方法
注: .env ファイル内または環境変数として ANTHROPIC_API_KEY を指定してください。
uv run weather.py
uv run client.py http://0.0.0.0:8080/sse
Initialized SSE client...
Listing tools...
Connected to server with tools: ['get_alerts', 'get_forecast']
MCP Client Started!
Type your queries or 'quit' to exit.
Query: whats the weather like in Spokane?
I can help you check the weather forecast for Spokane, Washington. I'll use the get_forecast function, but I'll need to use Spokane's latitude and longitude coordinates.
Spokane, WA is located at approximately 47.6587° N, 117.4260° W.
[Calling tool get_forecast with args {'latitude': 47.6587, 'longitude': -117.426}]
Based on the current forecast for Spokane:
Right now it's sunny and cold with a temperature of 37°F and ...
なぜこれが必要なのか?
これにより、MCP サーバーは実行中のプロセスになり、エージェント(クライアント)がいつでもどこからでも接続し、ツールを使用し、切断できるようになります。つまり、SSE ベースのサーバーとクライアントは、独立したプロセス(場合によっては異なるノード上)になることができます。これは、クライアント自身がサーバーをサブプロセスとして起動する STDIO ベースのパターンとは異なり、「クラウドネイティブ」なユースケースにより適しています。
Smithery 経由でのインストール
Smithery 経由で SSE ベースのサーバーとクライアント for Claude Desktop を自動的にインストールするには:
npx -y @smithery/cli install @sidharthrajaram/mcp-sse --client claude
サーバー
weather.py は National Weather Service API に基づいたツールを提供する SSE ベースの MCP サーバーです。MCP ドキュメントのサンプル STDIO サーバー実装から適応されています。
デフォルトではサーバーは 0.0.0.0:8080 で実行されますが、以下のようなコマンドラインの引数で設定可能です:
uv run weather.py --host <your host> --port <your port>
クライアント
client.py は SSE ベースの MCP サーバーに接続してそこからツールを使用する MCP クライアントです。MCP ドキュメントのサンプル STDIO クライアント実装から適応されています。
デフォルトではクライアントはコマンドラインの引数で提供される SSE エンドポイントに接続します:
uv run client.py http://0.0.0.0:8080/sse
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。