mcpField
W
Weather Java SSE Transport MCP Service

Weather Java SSE Transport MCP Service

ローカル
github.com/stantonkメディア・デザイン582 週間前に更新

Weather Java SSE Transport MCP Service について

Weather Java SSE Transport MCP Serviceは、天気照会向けのJava製MCPサーバー例で、fast-agentクライアントのデモも含みます。リモートSSEとローカルstdioのMCPサーバーを使う一連の構成を示します。

主な機能

  1. 01HTTP SSEによる天気MCPサーバー
  2. 02Java MCP SDKによる実装
  3. 03複数のMCPサーバーを呼び出すエージェントデモ
  4. 04指定都市の天気予報の要約

活用シーン

  1. 01リモートSSEサーバー設定のデモ
  2. 02エージェントでウェブ検索と天気ツールを併用
  3. 03複数都市の予想気温の比較

MCP 対応

JavaサーバーはHTTP SSE経由でMCPクライアントに天気機能を提供します。付属のfast-agentデモはstdioでウェブ検索MCPサーバーにも接続します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Weather Java SSE Transport MCP Service

動作する Model Context Protocol java-sdk の実装です。MCP クライアントが Weather mcp-server とやり取りするための fast-agent が含まれています。

⚠️これは本番運用に耐える品質ではありません。ローカル(Stdio Transport)とリモート(HTTP SSE Transport)の両方の複数の MCP サーバーを活用できる、エンドツーエンドで動作するものの構築方法を示すためのデモにすぎません。また、Spring をできるだけ取り込まず、Spring を使いたくない方向けにしています。

デモでは、エージェントが次の処理を行います。

  1. エージェントは LLM 関連の処理全体で Claude Sonnet 3.7 を使用します
  2. エージェントは「fetch」ウェブ検索 MCP サーバーのツールを呼び出し、指定された各都市の緯度・経度を調べます。
  3. 次にエージェントは、その緯度・経度の値を使って天気 MCP サーバーのツール(このリポジトリで実装)を呼び出します。 呼び出しの様子は、ターミナルの分割ウィンドウの上半分で確認できます。
  4. エージェントは予報を要約し、4 都市のうち明日最も暖かい都市を判定します。

エージェントは、ユーザーが入力したプロンプトのコンテキストから、呼び出すツールを判断しています。

画像の説明

Weather MCP Server のビルドと起動

mvn clean package
java -jar java -jar mcp-server/target/mcp-server-1.0-SNAPSHOT.jar

fast-agent のインストール、設定、起動

インストール
pip install uv
uv pip install fast-agent-mcp
uv run agent.py
Claude と OpenAI の API キーを設定する

cp fastagent.secrets.yaml.TEMPLATE fastagent.secrets.yaml

次に、その設定ファイルに API キーを追加します。

注意:Weather MCP Server の設定

fastagent.config.yaml では、エージェントが利用できる MCP サーバーを設定しています。 この場合、サーバーは SSE HTTP Transport を使用しており、リモート MCP サーバーを呼び出せます。

mcp:
    servers:
        weather:
            transport: "sse"
            read_timeout_seconds: 10
            url: "http://localhost:8080/sse"

テスト用の低レベル操作

SSE ストリームに接続します

curl -v -H "Accept: text/event-stream" "http://localhost:8080/sse"

/mcp/messages にメッセージを送信します(SSE の sessionId を含めてください)

curl -X POST "http://localhost:8080/mcp/message?sessionId=b64ad193-6bb3-4e2e-b33c-27a23011acb4" -d '{"hi": "mynameis"}' | jq .

確認してみるとよいもの:

コメント

MCP は初めてですか?

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

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