mcpField
M

MCP1 Weather Query

ローカル
github.com/wcnm8888地図・旅行011 週間前に更新

MCP1 Weather Query について

MCP1 Weather Queryは、地名から現在の天気を調べる読み取り専用のPython製MCPサーバーです。Open-Meteoのデータを構造化して返し、天気照会に特化したツールを必要とするMCPユーザー向けです。

主な機能

  1. 01地名による現在の天気照会
  2. 02任意の国コード入力
  3. 03単位・時刻を含む構造化結果
  4. 04入出力スキーマ付き読み取り専用ツール

活用シーン

  1. 01指定した場所の現在の天気を確認
  2. 02解決された場所情報付きの天気データ取得

MCP 対応

stdio経由でMCPクライアントに `get_current_weather` ツールを提供します。構造化された天気結果と安定したツールエラーを返します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"wcnm8888-mcp1-weather-query": {
"command": "uvx",
"args": [
"mcp-weather-query"
]
}
}
}
起動コマンドuvx mcp-weather-query

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

パッケージ
pypimcp-weather-query0.1.0

ツール

1

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
locationstringはい都市名、地名、または郵便番号に相当するテキスト。前後の空白を除いた長さは 2-100 文字である必要があります。この値が URL として解釈されることはありません。
country_codeanyいいえ省略可能な ISO 3166-1 alpha-2 国コード。小文字の入力も受け付け、大文字に正規化します。

詳細

MCP1-天気照会

MCP Server の設計、stdio デバッグ、構造化 Tool 出力、テスト、パッケージ化と公開のプロセスを学ぶための Python 小規模プロジェクトです。Datawhale「第十章 エージェント通信プロトコル」の天気の事例を再現しますが、2026-07-28 MCP 仕様と現行の公式 Python SDK を基準とし、チュートリアルの古いラッパー、データソース、公開に関する説明をそのままコピーすることはありません。

現在の状況

  • プロジェクトの種類:新規プロジェクトの立ち上げ。
  • プロジェクト全体のレベル:M。計画、ロードマップ、実行ベースラインは完了しています。
  • ローカルでのパッケージ化機能:プロジェクトでは wheel/sdist を生成してレビューでき、プロジェクト外の独立した 2 つの環境で、PYTHONPATH を設定せずにインストールと stdio の検証も完了しています。リアルタイムのタスク状況は docs/project-management/current-task.md を参照してください。
  • コード:ドメイン/サービス/Open-Meteo アダプターを実装済みです。公式 v2 MCPServer には get_current_weather のみを登録し、入力/出力 Schema、読み取り専用の annotations、構造化された成功結果、安定した Tool execution error を提供します。
  • Git:private リポジトリは wcnm8888/mcp1-weather-query です。PR #1 で feat/f-001-local-weather-tool を main にマージ済みです。元のローカルおよびリモートの機能ブランチは削除済みです。
  • 成果物/公開:mcp-weather-query==0.1.0 は GitHub Actions Trusted Publishing を通じて 本番 PyPI に公開済みです。wheel、sdist、公開メタデータ、 SHA-256、attestations を再確認済みです。
  • テスト:直近のデフォルト完全ゲートは 96 passed, 1 skipped です。唯一の skip は明示的な opt-in が必要な live contract です。以前の live contract は 1 passed で、Inspector では唯一の Tool の検出、成功、エラーパスの検証が完了しています。
  • 起動境界:プロジェクトに mcp-weather-query console command を登録済みです。wheel と sdist をそれぞれプロジェクト外の独立環境にインストールし、PYTHONPATH を設定せず、ソースコードの作業ディレクトリ以外から同一の stdio Server を起動済みです。
  • Node 互換性:プロジェクト専用の Node 24.19.0 は公式 SHA256 検証に合格しており、Inspector 2.1.0 で engine warning は発生しなくなりました。システムの Node 22.16.0 に変更はありません。
  • プロトコルの証拠:公式 Python SDK v2 の Client(mode="auto") は、本番 stdio エントリーポイントを通じて server/discover を完了し、MCP 2026-07-28 をネゴシエートしました。Legacy initialize は実行していません。同一の Server で、Inspector 2.1.0 による Legacy MCP 2025-11-25 のデバッグも引き続き可能です。
  • F-002 packaging:バージョン 0.1.0、uv_build、console script、MIT LICENSE、Open-Meteo NOTICE はすべてグリーンになりました。Step 3 で生成したローカル wheel/sdist の成果物レビューが完了し、Step 4 のクリーン環境での 2 種類のインストール検証にも合格しました。
  • インストールの証拠:公開 wheel と sdist をそれぞれプロジェクト外の新規環境にインストール済みです。どちらも get_current_weather のみを検出します。本番 console の stdout には MCP メッセージのみが含まれ、終了コードは 0 です。決定論的なオフライン呼び出しでは、有効な structuredContent が返されます。
  • 登録状況:io.github.wcnm8888/mcp1-weather-query==0.1.0 は Official MCP Registry に登録済みです。公式 API で唯一の active/latest レコードを確認済みで、公開 PyPI からインストールした後の installed-package stdio 再検証にも合格しています。

インストールと起動

ローカルのリリース候補 wheel からインストールする

D-001 では、プロジェクト外でローカルの候補成果物を生成し、レビュー済みです。レビュー済みの 0.1.0 wheel を取得した後、 dist/ を含む候補ディレクトリで次を実行します。

uv tool install ./dist/mcp_weather_query-0.1.0-py3-none-any.whl
mcp-weather-query

これにより、配布パッケージが提供する console entry point を通じて、本番 stdio MCP Server が起動します。editable install、プロジェクトのソースコードディレクトリ、PYTHONPATH は不要です。mcp-weather-query が現在の PATH に含まれている必要があります。uv tool dir --bin で uv のツールコマンドディレクトリを確認できます。

PyPI から固定バージョンを実行する

PyPI の公式プロジェクトページで 0.1.0 が提供されています。固定バージョンを直接実行できます。

uvx --from mcp-weather-query==0.1.0 mcp-weather-query
stdio Host の設定

ローカル wheel のインストールが完了し、console command が PATH に含まれている場合、Host では次の最小構成を使用できます。

{
  "mcpServers": {
    "weather": {
      "command": "mcp-weather-query",
      "args": []
    }
  }
}

Server は stdin/stdout を通じて MCP プロトコルメッセージを交換し、通常の診断情報は stderr にのみ書き込みます。Host によって設定ファイルの場所や外側のフィールドは異なる場合がありますが、command をソースコードのパスに変更したり、PYTHONPATH を注入したりしないでください。

公開と登録状況

  • mcp-weather-query==0.1.0 は公開済みです。公開状況、ファイル、attestation については PyPI の公式プロジェクトページ を参照してください。
  • io.github.wcnm8888/mcp1-weather-query==0.1.0 は Official MCP Registry に登録済みです。公式 API で唯一の active/latest エントリーを再確認済みです。また、PyPI package、uvx、stdio、リポジトリのメタデータは、固定された server.json と一致しています。
  • README 冒頭の mcp-name コメントは、引き続き PyPI の ownership verification marker として機能します。公開 Registry の ID と一致していますが、Registry は wheel/sdist をホストしません。インストール元は引き続き PyPI です。
  • R-002 では、固定された server.json に対して publish を一度だけ実行しました。公開後、公式 API と新規の PyPI インストール環境で再検証し、公式の mcp-publisher logout を使用して、このマシン上の短期認証ファイルを処理しました。
  • 今後のバージョン公開、Registry メタデータの更新、状態の変更、GitHub Release には、改めて個別のユーザー承認が必要です。

提供済みの機能

最初の完結した機能として、読み取り専用の MCP Tool get_current_weather を 1 つ提供します。地点名と省略可能な国コードを受け取り、固定の天気データソースを通じて地点を解決し、単位、時刻、解決後の地点、データソースを含む構造化された現在の天気情報を返します。

明確な非目標

  • 完全な Agent、チャット UI、RAG、マルチエージェントシステムは構築しません。
  • 天気予報、過去の天気、空気質、災害警報、服装のアドバイスは提供しません。
  • 書き込み、削除、任意の Shell、任意のファイルアクセス、任意の URL リクエストは提供しません。
  • 初期段階では、Streamable HTTP、リモートホスティング、アカウント機能、本番 SLA は提供しません。
  • チュートリアルの例に複数の Tool があることを理由に、「都市一覧」や「サーバー情報」などの展示用 Tool を追加しません。

ドキュメント

プロジェクトの定義、アーキテクチャ、テスト、公開、ロードマップの状況については、docs/README.md を参照してください。

ライセンスとデータのクレジット表記

  • プロジェクトのソースコードは MIT License のもとで提供されます。
  • 天気およびジオコーディングのデータは Open-Meteo によって提供され、 CC BY 4.0 に基づいて使用されます。
  • この学習プロジェクトでは、Open-Meteo の非商用無料 API のみを使用します。公開無料プランの制限は、1 分あたり 600 回、 1 時間あたり 5,000 回、1 日あたり 10,000 回のリクエストで、SLA はありません。このツールを商用または本番環境向けの 天気サービスとして扱わないでください。上限や利用規約は上流側によって変更される可能性があるため、使用前に Open-Meteo の公式説明を確認してください。
  • 本プロジェクトでは、選択した上流フィールドを構造化された MCP Tool 出力に正規化しますが、基になる測定値は変更しません。 第三者データの詳細については、NOTICE を参照してください。

参考資料

コメント

MCP は初めてですか?

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

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