mcpField
M
MCP Weather Server - Java implementation

MCP Weather Server - Java implementation

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

MCP Weather Server - Java implementation について

wttr.in APIを使って、指定した場所の現在の天気を取得するJava製MCPサーバーです。Claude DesktopなどのMCPクライアントに天気検索を組み込みたい開発者向けの実装です。

主な機能

  1. 01場所ごとの現在の天気取得
  2. 02APIキー不要のwttr.in利用
  3. 03STDIOトランスポートでの実行

活用シーン

  1. 01都市の現在の天気の確認
  2. 02MCPアシスタントへの降雨状況の問い合わせ
  3. 03場所に応じた天気検索の組み込み

MCP 対応

STDIOトランスポートで、wttr.inから現在の天気を取得する`getWeatherDetailsByLocation`ツールをMCPクライアントに提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP Weather Server - Java 実装

あらゆる場所の天気情報を提供する、シンプルな Model Context Protocol(MCP)サーバーです。

関連記事:Building a simple MCP Server in Java。

MCP とは?

Model Context Protocol(MCP)は、AI アプリケーションやエージェントがデータソースやツールに接続するための標準化された方法です。Claude などの AI モデルが、標準化されたインターフェースを介してローカルシステム、外部サービス、カスタムツールとやり取りできるようにします。

プロジェクトの機能

  • あらゆる場所の現在の天気情報を取得
  • Claude Desktop およびその他の MCP クライアントに対応
  • 無料の wttr.in 天気 API を使用(API キーは不要)

プロジェクトの要件

  • Java 17 以降
  • Maven 3.6 以降
  • Spring Boot 3.3.x 以降
  • AI アシスタント連携用の Claude for Desktop(MCP クライアントとして使用)

依存関係

このプロジェクトは、以下の主要なコンポーネントに依存しています。

<dependencies>
    <dependency>
        <groupId>org.springframework.ai</groupId>
        <artifactId>spring-ai-starter-mcp-server</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
    </dependency>
</dependencies>

ビルドと実行

サーバーは STDIO トランスポートモードを使用し、通常はクライアントによって自動的に起動されます。

リポジトリをクローンする

最初に、プロジェクトをクローンします。

git clone https://github.com/chrischiedo/weather-mcp-server-java.git
cd weather-mcp-server-java
プロジェクトをビルドする

サーバーの jar をビルドするには、次のコマンドを使用します。

./mvnw clean install -DskipTests

これにより、target ディレクトリに jar ファイルが作成されます。

テストを実行する

テストを実行するには、次のコマンドを使用します。

./mvnw test

使用方法

サーバーを実行する

jar ファイルを実行して、MCP サーバーを起動します。

java -jar target/weather-mcp-server-0.0.1-SNAPSHOT.jar
Claude Desktop との連携

MCP サーバーを Claude Desktop と連携するには、次の設定を Claude Desktop の設定ファイルに追加します。

{
  "mcpServers": {
    "mcp-weather-server": {
      "command": "java",
      "args": [
        "-Dspring.ai.mcp.server.stdio=true",
        "-jar",
        "/absolute/path/to/weather-mcp-server-0.0.1-SNAPSHOT.jar"
      ]
    }
  }
}

注:MacOS では、次の方法で設定ファイルを開けます。

vi ~/Library/Application\ Support/Claude/claude_desktop_config.json

注:/absolute/path/to/ を、ビルドした jar ファイルの実際のパスに置き換えてください。

Claude Desktop 用のプロンプト例

接続したら、Claude に天気ツールを使うよう依頼できます。

1. 「ナイロビの現在の天気は?」 sample-claude-desktop-screenshot1
2. 「今、ロンドンでは雨が降っていますか?」 sample-claude-desktop-screenshot2
3. 「今、パリの気温を教えてください。」 sample-claude-desktop-screenshot2

注:上記のプロンプトは 2025年5月4日 に送信されました。

仕組み

このサーバーは Model Context Protocol を実装し、wttr.in API から天気データを取得するツールを提供します。Claude またはその他の MCP クライアントがこのサーバーに接続すると、getWeatherDetailsByLocation ツールを使用して、あらゆる場所の現在の天気を取得できます。

サーバーの拡張

以下の方法で、このサーバーを拡張できます。

  1. 天気関連のツール(予報、警報、過去のデータなど)を追加する
  2. リソースやプロンプトなど、その他の MCP 機能を実装する
  3. より多くの機能を備えた別の天気 API(例:wunderground)を使用する

ライセンス

このプロジェクトはオープンソースであり、MIT License の下で利用できます。

参考資料

コメント

MCP は初めてですか?

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

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