天気Mcpツール for Claudeデスクトップ
MCP(モデルコンテキストプロトコル)ツールで、OpenWeatherMap APIを使用してリアルタイムの天気データ、予報、過去の天気情報を提供し、特にClaude Desktop向けに設計されています。
概要
Weather-MCP-ClaudeDesktopとは?
Weather-MCP-ClaudeDesktopは、リアルタイムの天気データ、予報、および過去の天気情報を提供するために設計された強力なツールです。OpenWeatherMap APIを利用しており、このアプリケーションはClaude Desktopユーザー向けに特別に調整されており、正確でタイムリーな天気更新を求める人々にシームレスな体験を提供します。
Weather-MCP-ClaudeDesktopの特徴
- リアルタイム天気データ:世界中の任意の場所の現在の天気条件にアクセスできます。
- 予報:今後の日々の詳細な天気予報を取得し、ユーザーが活動を計画するのに役立ちます。
- 過去の天気情報:過去の天気データを取得して、時間の経過に伴うトレンドやパターンを分析できます。
- ユーザーフレンドリーなインターフェース:使いやすさに重点を置いて設計されており、ユーザーが必要な情報を簡単に見つけられるようになっています。
- OpenWeatherMap API統合:信頼性の高いデータソースのためにOpenWeatherMap APIの強力な機能を活用しています。
Weather-MCP-ClaudeDesktopの使い方
- インストール:公式リポジトリからWeather-MCP-ClaudeDesktopアプリケーションをダウンロードしてインストールします。
- APIキーの設定:OpenWeatherMapからAPIキーを取得し、データ取得を有効にするためにアプリケーション設定に入力します。
- 場所の選択:天気データを表示したい場所を入力します。
- データの表示:直感的なインターフェースを通じてリアルタイムの天気更新、予報、および過去のデータにアクセスします。
- 設定のカスタマイズ:測定単位や通知設定など、アプリケーションを好みに合わせて調整します。
よくある質問
Weather-MCP-ClaudeDesktopはどのプラットフォームをサポートしていますか?
Weather-MCP-ClaudeDesktopはClaude Desktop向けに設計されており、そのオペレーティングシステムとの互換性を確保しています。
Weather-MCP-ClaudeDesktopの使用に費用はかかりますか?
アプリケーションは無料で使用できますが、ユーザーはOpenWeatherMapからAPIキーにサインアップする必要があり、選択したプランに基づいて使用制限がある場合があります。
Weather-MCP-ClaudeDesktopの開発に貢献できますか?
はい!貢献は歓迎されます。リポジトリをフォークし、変更を加えて、レビューのためにプルリクエストを送信できます。
天気データはどのくらいの頻度で更新されますか?
天気データはリアルタイムで更新され、OpenWeatherMap APIによって設定された頻度に依存し、通常は数分ごとに更新されます。
アプリケーションに問題が発生した場合はどうすればよいですか?
問題が発生した場合は、リポジトリのイシュートラッカーを確認して解決策を探すか、新しい問題を報告して支援を求めてください。
詳細
Weather MCP Tool for Claude Desktop
An MCP (Model Context Protocol) tool that provides real-time weather data, forecasts, and historical weather information using the OpenWeatherMap API, specifically designed for Claude Desktop.
Tutorial
For a detailed guide on setting up and using this tool, check out our comprehensive Medium tutorial: Tutorial: Using Claude Desktop with Weather MCP Tool to Access Real-Time Weather Data Worldwide
Features
- Real-time weather conditions for any location
- Weather forecasts (up to 5 days)
- Historical weather data (last 5 days)
- Air quality information
- Weather alerts and warnings
- Location search functionality
Setup
-
Ensure you have Python 3.10 or higher installed
-
Install dependencies:
pip install -r requirements.txt
-
Get an API key from OpenWeatherMap (free tier available)
- Note: New API keys may take up to 24 hours to activate
-
Set up environment variables for API key (recommended method):
- Create a
.env
file in the project directory - Add your API key to the file:
OPENWEATHER_API_KEY=your_openweathermap_api_key
- Add
.env
to your.gitignore
file to prevent committing sensitive data
- Create a
-
Update
main.py
to use the environment variable:# Add these imports at the top import os from dotenv import load_dotenv # Load environment variables load_dotenv() # Replace the API_KEY line with API_KEY = os.getenv("OPENWEATHER_API_KEY")
Integration with Claude Desktop
- Configure your MCP settings in Claude Desktop by adding the following to your MCP configuration:
{
"mcpServers": {
"weather-mcp": {
"command": "py",
"args": ["-3.13", "C:\\Path\\To\\Your\\Weather-MCP-ClaudeDesktop\\main.py"]
}
}
}
- Replace the path with the full path to your main.py file
- Run the server using:
py -3.13 main.py
- Keep the server running while using Claude Desktop
Available Tools
1. get_current_weather
Get real-time weather conditions for a location:
{
"location": {
"name": "New York",
"country": "US",
"lat": 40.7128,
"lon": -74.006
},
"temperature": {
"current": 25.6,
"feels_like": 26.2,
"min": 23.4,
"max": 27.8
},
"weather_condition": {
"main": "Clear",
"description": "clear sky",
"icon": "01d"
},
"wind": {
"speed": 3.6,
"deg": 220
},
"clouds": 5,
"humidity": 65,
"pressure": 1015,
"visibility": 10000,
"sunrise": "2025-03-16T06:12:34",
"sunset": "2025-03-16T18:04:23",
"timestamp": "2025-03-16T14:30:00"
}
2. get_weather_forecast
Get weather forecast for a location:
{
"location": {
"name": "London",
"country": "GB",
"lat": 51.5074,
"lon": -0.1278
},
"forecast": [
{
"datetime": "2025-03-16T15:00:00",
"temperature": {
"temp": 18.2,
"feels_like": 17.8,
"min": 17.5,
"max": 19.1
},
"weather_condition": {
"main": "Rain",
"description": "light rain",
"icon": "10d"
},
"wind": {
"speed": 4.2,
"deg": 180
},
"clouds": 75,
"humidity": 82,
"pressure": 1010,
"visibility": 8000,
"pop": 0.4
}
// ... more forecast items
],
"days": 5
}
3. get_air_quality
Get air quality data for a location:
{
"location": {
"name": "Beijing",
"country": "CN",
"lat": 39.9042,
"lon": 116.4074
},
"air_quality_index": 3,
"air_quality_level": "Moderate",
"components": {
"co": 250.34,
"no": 0.5,
"no2": 15.2,
"o3": 140.8,
"so2": 5.1,
"pm2_5": 8.2,
"pm10": 12.3,
"nh3": 0.7
},
"timestamp": "2025-03-16T14:30:00"
}
4. get_historical_weather
Get historical weather data for a specific date:
{
"location": {
"name": "Paris",
"country": "FR",
"lat": 48.8566,
"lon": 2.3522
},
"date": "2025-03-14",
"temperature": {
"temp": 20.3,
"feels_like": 19.8
},
"weather_condition": {
"main": "Clouds",
"description": "scattered clouds",
"icon": "03d"
},
"wind": {
"speed": 2.8,
"deg": 150
},
"clouds": 45,
"humidity": 60,
"pressure": 1012,
"visibility": 10000,
"sunrise": "2025-03-14T06:30:45",
"sunset": "2025-03-14T18:15:22",
"timestamp": "2025-03-14T12:00:00"
}
5. search_location
Search for locations by name:
{
"results": [
{
"name": "Tokyo",
"state": "",
"country": "JP",
"lat": 35.6762,
"lon": 139.6503
},
{
"name": "Tokyo",
"state": "Tokyo",
"country": "JP",
"lat": 35.6895,
"lon": 139.6917
}
// ... more results
]
}
6. get_weather_alerts
Get weather alerts for a location:
{
"location": {
"name": "Miami",
"country": "US",
"lat": 25.7617,
"lon": -80.1918
},
"alerts": [
{
"sender": "NWS Miami",
"event": "Heat Advisory",
"start": "2025-03-16T12:00:00",
"end": "2025-03-16T20:00:00",
"description": "Heat index values between 105 and 110 expected",
"tags": ["Extreme temperature value"]
}
// ... more alerts if any
],
"alert_count": 1
}
Sample Queries
You can ask Claude Desktop questions like:
- "What's the current weather in New York?"
- "Show me the 5-day forecast for London"
- "What's the air quality like in Beijing today?"
- "How was the weather in Paris on March 14th?"
- "Search for locations named 'Tokyo'"
- "Are there any weather alerts for Miami?"
- "Compare the current weather in Chicago, Miami, and Seattle"
- "Show me a comparison of air quality in Beijing, Los Angeles, and Delhi"
Error Handling
All tools include proper error handling and will return an error message if something goes wrong:
{
"error": "Failed to fetch current weather for InvalidLocation: Location not found"
}
Troubleshooting
If the MCP server is not working in Claude Desktop:
- Make sure the server is running - you should see output when you start the script
- Verify the path in your settings is correct and absolute
- Make sure Python 3.10+ is in your system PATH
- Check that all dependencies are installed
- Try restarting Claude Desktop
- Check logs for any error messages
Common API Issues
- API Key Activation: New OpenWeatherMap API keys may take up to 24 hours to activate
- Invalid API Key Error: If you get a 401 error, verify your API key is correct and active
- Rate Limiting: Free tier allows up to 60 calls per minute, which might be exceeded during heavy usage
Rate Limits
This tool uses the OpenWeatherMap API which has rate limits. The free tier allows up to 60 calls per minute, which should be sufficient for personal use. Please be aware that very frequent requests may be throttled by the API.
License
MIT License
サーバー設定
{
"mcpServers": {
"weather-mcp-claude-desktop": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--saintdoresh--weather-mcp-claudedesktop--weather-mcp-claude-desktop",
"python main.py"
],
"env": {
"OPENWEATHER_API_KEY": "openweather-api-key"
}
}
}
}