mcpField
S
SSE-based Server and Client for

SSE-based Server and Client for

ローカル
github.com/goyatparmod開発ツール080 週間前に更新

SSE-based Server and Client for について

SSEで通信するMCPサーバーと単独クライアントの実装例です。別プロセスで稼働するサーバーへの接続を示し、プロセスを分離する構成に適しています。

主な機能

  1. 01SSEベースのMCPサーバー
  2. 02単独で動作するMCPクライアント
  3. 03National Weather Serviceの天気ツール
  4. 04サーバーのホストとポート設定

活用シーン

  1. 01別プロセスのMCPサーバーへの接続
  2. 02SSEエンドポイント経由での天気ツールの試用

MCP 対応

サーバーはNational Weather Service APIに基づく天気ツールをMCPクライアントに公開します。付属クライアントはSSEエンドポイントに接続してツールを利用します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"sse": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
起動コマンドnpx -y @smithery/cli

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

パッケージ
npm@smithery/cli

ツール

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

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

詳細

MCP 用の SSE ベースのサーバーとクライアント

smithery badge

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

コメント

MCP は初めてですか?

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

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