Weather API MCP Server について
Weather API MCP Server は、Claude などの AI アシスタントがリアルタイムの天気データを取得して解釈できるようにする軽量な MCP サーバーです。Go で実装されており、ローカルとリモートの両方で実行できます。
主な機能
- 01都市名による現在の天気の取得
- 02ローカル実行と SSE によるリモート接続
- 03Docker イメージのビルドと実行手順
- 04Go 実装とテスト用のモックサービス
活用シーン
- 01Claude Desktop で特定の都市の現在の天気を確認
- 02天気サーバーをリモートに配置して複数のクライアントから利用
MCP 対応
本プロジェクトは MCP サーバーであり、都市名を受け取って現在の天気を返す current_weather ツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Claude などの AI アシスタントがリアルタイムの気象データを取得・解釈できるようにする、軽量な Model Context Protocol(MCP)サーバーです。
Claude Desktop へのインストール
Claude Desktop で MCP サーバーを使用するには、Claude の設定に追加します。
1. ローカルモード
{
"mcpServers": {
"weather-mcp-server": {
"command": "/path/to/weather-mcp-server",
"env": {
"WEATHER_API_KEY": "your-api-key"
}
}
}
}
API キーは、WeatherAPI の個人アカウントから取得できます。
2. リモートモード
{
"mcpServers": {
"weather-mcp-server": {
"url": "http://host:port/sse"
}
}
}
ソースからビルドする
go を使用して、cmd/github-mcp-server ディレクトリにあるバイナリをビルドできます。
go build -o weather-mcp-server ./cmd/weather-mcp-server
Docker コンテナで MCP を使用する
1. Docker イメージをビルドする:
docker build -t weather-mcp-server .
2. Docker コンテナを実行する:
docker run -e WEATHER_API_KEY=your-api-key -d --name weather-mcp-server -p 8000:8000 weather-mcp-server
your-api-key を実際の WeatherAPI API キーに置き換えてください。
ツール
-
current_weather - 都市の現在の天気を取得します
city:都市名(文字列、必須)
プロジェクト構成
プロジェクトはいくつかの主要なディレクトリで構成されています。
├── cmd
│ └── weather-mcp-server
├── internal
│ └── server
│ ├── handlers # MCP handlers
│ ├── services # Business logic layer
│ │ ├── core # Core application logic
│ │ └── mock # Mock services for testing
│ ├── tools # MCP tools
│ └── view # Templates for displaying messages
└── pkg
テスト
新機能を追加する場合は、その機能のテストも必ず追加してください。
1. mockgen ツールをインストールする:
go install go.uber.org/mock/mockgen@latest
go.uber.org/mock のインストールガイドを参照してください。
2. 次のコマンドを使用してモックファイルを生成する:
make generate-mocks
3. 単体テストを実行する:
make run-tests
コントリビューション
改善に関するチケットの作成やプルリクエストの送信を歓迎します。ご協力に感謝します!
コントリビューションガイドラインに従ってください。
ライセンス
この MCP サーバーは、MIT ライセンスの下でライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。