Skip to main content
Glama
tsukiyama85

Japanese Weather MCP

by tsukiyama85

Japanese Weather MCP

日本の天気情報を提供するModel Context Protocol (MCP) サーバーのサンプルプログラムです。

🌟 特徴

  • 🌤️ 日本全国対応: 全国110都市の天気情報を提供

  • 🗣️ 自然言語対応: 地名の漢字・ひらがな・カタカナ入力に対応

  • 🤖 MCP準拠: Claude DesktopなどのMCPクライアントで使用可能

  • 🌐 HTTP対応: HTTPトランスポートでWeb経由でも利用可能

  • 🐳 Docker対応: 簡単なデプロイメント

🛠️ 技術スタック

  • FastMCP - MCPサーバーフレームワーク

  • Python 3.10+

  • uv - Python依存関係管理(推奨)

  • OpenMeteo API - 天気データソース

  • pandas(地名データ処理)

  • httpx(HTTP通信)

⚡ クイックスタート

# リポジトリをクローン git clone https://github.com/tsukiyama85/japanese-weather-mcp.git cd japanese-weather-mcp # MCPサーバーを起動 docker compose build docker compose up -d # MCPクライアントを起動 uv sync uv run -m examples.gemini_mcp_client

📦 インストール

1. リポジトリのクローン

git clone https://github.com/tsukiyama85/japanese-weather-mcp.git cd japanese-weather-mcp

2. 依存関係のインストール

uv使用(推奨)

# 依存関係のインストール uv sync # 開発用依存関係も含む場合 uv sync --dev

pip使用

pip install -e .

3. 動作確認

uv使用

uv run -m src.japanese_weather_mcp.main

pip使用

python -m src.japanese_weather_mcp.main

Docker Composeを使用

docker-compose up --build

🚀 使用方法

Claude Desktopでの使用

Claude Desktopの設定ファイル(claude_desktop_config.json)に追加:

uv使用

{ "mcpServers": { "japanese-weather": { "command": "uv", "args": ["run", "python", "-m", "src.japanese_weather_mcp.main"], "cwd": "/path/to/japanese-weather-mcp" } } }

pip使用

{ "mcpServers": { "japanese-weather": { "command": "python", "args": ["-m", "src.japanese_weather_mcp.main"], "cwd": "/path/to/japanese-weather-mcp" } } }

HTTPサーバーとして実行

uv使用

uv run -m src.japanese_weather_mcp.main

pip使用

python -m src.japanese_weather_mcp.main

🔧 利用可能なツール

ツール名

説明

パラメータ

get_weather

天気予報を取得

location: 地域名, days: 日数(1-7)

get_current_weather

現在の天気を取得

location: 地域名

search_locations

地域を検索

query: 検索クエリ

💬 使用例

Claude Desktopでの質問例

「東京の明日の天気は?」 「大阪の3日間の予報を教えて」 「札幌の現在の気温は?」

🤖 Gemini AIクライアントでの動作確認

examples/gemini_mcp_client.pyを使って、Gemini AIと連携した自然言語での動作確認ができます:

準備

  1. Google AI StudioでAPIキーを取得

  2. 環境変数設定

cd examples cp .env.example .env # .envファイルにGEMINI_API_KEYを設定
  1. 依存関係インストール

# uvの場合 uv sync # pipの場合 pip install -r examples/requirements.txt

実行手順

  1. MCPサーバーを起動(別ターミナル)

# uvの場合 uv run -m src.japanese_weather_mcp.main uv run -m examples.gemini_mcp_client
# pipの場合 python -m src.japanese_weather_mcp.main python -m examples.gemini_mcp_client

使用イメージ

💬 質問: 東京の今日の天気はどうですか? 🤖 回答: 東京の今日の天気は晴れで、気温は22℃です。湿度は65%、降水確率は10%となっています。

このクライアントは自然言語での質問を理解し、適切なMCPツールを自動選択して実行します。

🌍 対応地域

全国110都市に対応:

  • 北海道: 札幌、函館、旭川

  • 東北: 仙台、青森、盛岡 など

  • 関東: 東京、横浜、さいたま など

  • 中部: 名古屋、静岡、金沢 など

  • 関西: 大阪、京都、神戸 など

  • 中国・四国: 広島、岡山、高松 など

  • 九州・沖縄: 福岡、熊本、那覇 など

⚙️ 環境変数

変数名

デフォルト値

説明

MCP_TRANSPORT

streamable-http

トランスポート方式

MCP_HOST

127.0.0.1

HTTPサーバーのホスト

MCP_PORT

8000

HTTPサーバーのポート

MCP_PATH

/mcp/

HTTPエンドポイントパス

LOG_LEVEL

INFO

ログレベル

🤝 開発・貢献

examples フォルダについて

examples/ フォルダには開発・テスト用のクライアントが含まれています:

  • gemini_mcp_client.py - Gemini AIを使用したインテリジェントクライアント

  • .env.example - 環境変数のテンプレート

これらは参考実装として提供
本体のMCPサーバーとは独立しています。

📝 ライセンス

MIT License

🙏 謝辞

  • OpenMeteo - 無料の天気データAPI

  • FastMCP - MCPサーバーフレームワーク

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tsukiyama85/japanese-weather-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server