mcpField
W
weather

weather

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

weather について

weatherは、MCP Quickstart Resourcesリポジトリに含まれるシンプルな天気MCPサーバーの例で、5言語に対応しています。MCPサーバーの構築を学び、米国国立気象局の予報と警報をツールとして公開したい開発者向けです。

主な機能

  1. 01Python、TypeScript、Go、Rust、Rubyの例
  2. 02天気予報の取得ツール
  3. 03気象警報の取得ツール
  4. 04stdioによる通信
  5. 05サーバーとツール応答のスモークテスト

活用シーン

  1. 01天気MCPサーバーの実装学習
  2. 02予報・警報ツール呼び出しの試行
  3. 03言語ごとのサーバー例の比較

MCP 対応

米国国立気象局APIを利用する2つのMCPツール、get_forecastとget_alerts(TypeScriptではget-forecastとget-alerts)を提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"dingw1982-weather": {
"command": "npx",
"args": [
"-y",
"@dingw1982/mcp-quickstart-ts"
],
"env": {
"YOUR_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
起動コマンドnpx -y @dingw1982/mcp-quickstart-ts
設定が必要な環境変数
YOUR_API_KEYシークレットYour API key for the service

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

パッケージ
npm@dingw1982/mcp-quickstart-ts1.0.1

ツール

2

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

パラメーター型必須説明
statestringはい2 文字の州コード(例:CA、NY)

詳細

MCP クイックスタートリソース

Model Context Protocol(MCP)のサーバーとクライアントのサンプルを、5つの言語で紹介します。以下の2つの公式チュートリアルに対応するサンプルです。

  • MCP サーバーを構築する – 米国国立気象局の API を利用し、2つのツールを公開するシンプルな MCP 天気サーバー
  • MCP クライアントを構築する – 任意の stdio サーバーに接続し、Claude がそのツールを呼び出せる、LLM を活用したチャットボット型 MCP クライアント

このリポジトリの内容

各サンプルはそれぞれ独立したディレクトリにあり、前提条件、セットアップ方法、実行方法を説明する README が含まれています。

言語天気サーバー(MCP サーバー)チャットボット(MCP クライアント)
Pythonweather-server-pythonmcp-client-python
TypeScriptweather-server-typescriptmcp-client-typescript
Goweather-server-gomcp-client-go
Rustweather-server-rustmcp-client-rust
Rubyweather-server-rubymcp-client-ruby

すべてのサーバーは stdio 経由で通信し、同じ2つのツール(get_forecast と get_alerts)を公開します(TypeScript では get-forecast と get-alerts)。

すべてのクライアントはサーバーを起動してツールを一覧表示し、Claude がツールを呼び出せる対話型チャットループを開始します。Python、TypeScript、Ruby のクライアントにはサーバースクリプトへのパスを指定し、Go と Rust のクライアントには実行するコマンドと引数を指定します。

注:これらのサンプルクライアントの実行には ANTHROPIC_API_KEY が必要です。キーがなくても、各クライアントは接続してサーバーのツールを一覧表示してから終了するため、認証情報なしで MCP の接続を確認できます。

言語を自由に組み合わせて使用できます。たとえば、Python クライアントから TypeScript サーバーを操作できます。各クライアントの README に、サポートされるサーバーの起動形式が記載されています。

tests ディレクトリには、CI でこれらのサンプルに対して実行されるスモークテストが含まれています。テストの仕組みについては、tests/README.md をご覧ください。

前提条件

各サンプルに必要なのは、それぞれの言語のツールチェーンだけです。リポジトリ全体で作業する場合(たとえば、スモークテストを実行する場合)は、次のものが必要です。

  • Node.js 24+ と npm
  • Python 3.10+ と uv
  • Go 1.25+
  • Rust 1.88+ と Cargo
  • Ruby 3.4+ と Bundler

テストの実行

./tests/smoke-test.sh

スモークテストでは、すべてのサーバーが起動して MCP リクエストに応答すること(各ツールが公開するスキーマに照らして構造化されたツールの結果を検証することも含みます)、および Python、TypeScript、Ruby のクライアントがモックサーバーに接続してツールを一覧表示できることを確認します。GitHub Actions により、すべてのプルリクエストで自動的に実行されます。

貢献

貢献を歓迎します。変更を提出するには、次の手順に従ってください。

  1. リポジトリをフォークし、main からブランチを作成します。
  2. 変更を加えます。例はプロトコルを教えるためのものであり、本番サービスではないため、最小限に保ってください。
  3. 例の動作、セットアップ、または依存関係を変更した場合は、その例の README も変更内容に合わせて更新します。
  4. ./tests/smoke-test.sh を実行し、テストが成功することを確認します。
  5. 変更内容とその理由を説明して、main に対するプルリクエストを作成します。

より広範な Model Context Protocol の貢献ガイドラインに沿って、次の規約に従ってください。

  • ドキュメントは明確かつ簡潔にし、技術的な正確さを保ってください。 適切な場合はコード例を含め、追加するコマンドやリンクをテストしてください。
  • AI の支援を開示してください。 貢献の準備に何らかの AI の支援を利用した場合は、プルリクエストまたは Issue でその旨を記載してください。開示すべき内容については、AI_POLICY.md を参照してください。
  • 敬意を持って対応してください。 このプロジェクトでは、MCP コミュニティの行動規範に従っています。懸念事項は [email protected] まで報告できます。

セキュリティに関する注意

これらの例は意図的に最小限の構成になっています。ネットワーク経由(HTTP/SSE/WebSocket)で MCP サーバーを公開する場合は、認証と基本的なセキュリティ強化(CORS の許可リスト、リクエストサイズの上限、タイムアウト、レート制限、ログの秘匿化)を追加してください。SECURITY.md を参照してください。

ライセンス

MCP プロジェクトは MIT License から Apache-2.0 への移行を進めています。新たなコードの貢献には Apache-2.0 が適用され、仕様を除くドキュメントには CC-BY-4.0 が適用されます。再ライセンスに同意していない作者による以前の貢献には、引き続き MIT License が適用されます。詳細な条件については、LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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