mcpField
W
Weather API MCP Server

Weather API MCP Server

ローカル
news.ycombinator.comメディア・デザイン24655 週間前に更新

Weather API MCP Server について

Weather API MCP Server は、Claude などの AI アシスタントがリアルタイムの天気データを取得して解釈できるようにする軽量な MCP サーバーです。Go で実装されており、ローカルとリモートの両方で実行できます。

主な機能

  1. 01都市名による現在の天気の取得
  2. 02ローカル実行と SSE によるリモート接続
  3. 03Docker イメージのビルドと実行手順
  4. 04Go 実装とテスト用のモックサービス

活用シーン

  1. 01Claude Desktop で特定の都市の現在の天気を確認
  2. 02天気サーバーをリモートに配置して複数のクライアントから利用

MCP 対応

本プロジェクトは MCP サーバーであり、都市名を受け取って現在の天気を返す current_weather ツールを MCP クライアントに提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"weather": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
起動コマンドdocker run -i --rm build

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocibuild

ツール

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

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

詳細

出力例のテンプレート

Weather API MCP サーバー

ライセンス Go のバージョン Go レポートカード ビルド テスト

バグを報告 | 機能をリクエスト

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 ライセンスの下でライセンスされています。

コメント

MCP は初めてですか?

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

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