mcpField
W
Weather MCP Server

Weather MCP Server

ローカル
github.com/Jai-Keshav-Sharmaメディア・デザイン078 週間前に更新

Weather MCP Server について

Weather MCP Server は、National Weather Service API を使って米国各州の気象警報を提供する MCP サーバーです。stdio と SSE に対応し、会話メモリを備えた LLM コマンドラインクライアントも含みます。

主な機能

  1. 01米国の州ごとの気象警報を取得
  2. 02stdio と SSE のトランスポートに対応
  3. 03Docker コンテナで実行
  4. 04Claude Desktop と Cursor IDE に統合
  5. 05会話メモリ付き LLM コマンドラインクライアント

活用シーン

  1. 01米国の州の気象警報を確認
  2. 02気象警報を Claude Desktop や Cursor IDE に接続
  3. 03会話メモリ付き LLM コマンドラインクライアントを利用

MCP 対応

指定した米国の州の気象警報を取得する get_alerts ツールを提供します。サーバーは stdio と SSE のトランスポートに対応しています。

設定

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

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

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

パッケージ
ocipull

ツール

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

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

詳細

Weather MCP Server

MCP Python SDK を使用して構築された、米国の州の気象警報を提供する Model Context Protocol(MCP)サーバーの実装です。このプロジェクトでは、ツール、リソース、Docker との連携を備えた MCP サーバーの作成方法を紹介します。

MCP SDK Docker License

機能

  • National Weather Service API を使用した、米国の州の気象警報
  • stdio と SSE(Server-Sent Events)の両トランスポートに対応
  • Docker によるコンテナ化
  • Claude Desktop および Cursor IDE との連携
  • Groq を使用した LLM 搭載のコマンドラインクライアント
  • 会話メモリに標準対応

プロジェクト構成

Creating-MCP-server/
├── server/
│   ├── weather.py        # Main MCP server implementation
│   ├── client.py         # LLM-powered CLI client
│   └── weather.json      # Server configuration
├── mcpserver/
│   ├── Dockerfile        # Docker configuration
│   ├── requirements.txt  # Python dependencies
│   ├── client-stdio.py   # Standard I/O client example
│   ├── client-sse.py     # SSE client example
│   └── server.py         # Containerized server

インストール

ローカル環境のセットアップ
  1. リポジトリをクローンします:
git clone <repository-url>
cd Creating-MCP-server
  1. 依存関係をインストールします:
pip install -r mcpserver/requirements.txt
Docker のセットアップ

ビルド済みイメージを取得します:

docker pull ksharma9719/weather-mcp-server

または、ローカルでビルドします:

cd mcpserver
docker build -t weather-mcp-server .

使い方

サーバーの起動
ローカル開発
cd server
python weather.py
Docker を使用
docker run -p 8000:8000 ksharma9719/weather-mcp-server
クライアントの例
LLM 連携 CLI クライアント
cd server
python client.py
標準入出力クライアント
cd mcpserver
python client-stdio.py
SSE クライアント
cd mcpserver
python client-sse.py

利用可能なツール

get_alerts

米国の州の気象警報を取得します。

パラメーター:

  • state:米国の州を示す2文字のコード(例:CA、TX、NY)

例:

result = await session.call_tool("get_alerts", arguments={"state": "CA"})

Claude Desktop との連携

  1. サーバーを Claude Desktop にインストールします:
mcp install weather.py
  1. 任意:カスタム名を指定します:
mcp install weather.py --name "Weather Alerts Server"

開発

前提条件
  • Python 3.11 以降
  • uv パッケージマネージャー
  • Docker(任意)
環境変数

サーバーディレクトリに .env ファイルを作成します:

GROQ_API_KEY=your_groq_api_key

ドキュメント

コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add some amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

ライセンス

このプロジェクトは MIT ライセンスのもとでライセンスされています。詳細については LICENSE ファイルをご覧ください。

謝辞

  • 優れた SDK を提供してくださった Model Context Protocol チーム
  • 公開 API を提供してくださった National Weather Service
  • LLM API を提供してくださった Groq

コメント

MCP は初めてですか?

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

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