MCP 天気サービス
このリポジトリは、Model Context Protocol (MCP) を使用して天気情報を提供するシンプルなサービスです。複数の都市(福岡、東京、大阪、モスクワ、ニューヨークなど)の天気情報を取得できます。
このプロジェクトは MITライセンス の下で公開されています。
目次
前提条件
このプロジェクトを実行するには、以下のソフトウェアが必要です:
- Node.js (バージョン 18 以上)
- npm (通常は Node.js とともにインストールされます)
- Git
インストール方法
Node.js と npm のインストール
- Node.js 公式サイト からインストーラーをダウンロードしてインストールします。
- インストールが完了したら、ターミナルで以下のコマンドを実行して確認します:
Git のインストール
- Git 公式サイト からインストーラーをダウンロードしてインストールします。
- インストールが完了したら、ターミナルで以下のコマンドを実行して確認します:
プロジェクトのセットアップ
新規プロジェクトの作成
- 新しいディレクトリを作成し、そのディレクトリに移動します:
- npm プロジェクトを初期化します:
- 必要なパッケージをインストールします:
- TypeScript の設定ファイルを作成します:
tsconfig.json
ファイルを以下のように編集します:
package.json
ファイルのスクリプトセクションを以下のように編集します:
- プロジェクトのディレクトリ構造を作成します:
既存プロジェクトのクローン
既存のプロジェクトを使用する場合は、以下の手順でクローンします:
使い方
ビルドと実行
プロジェクトをビルドして実行するには、以下のコマンドを使用します:
インスペクターの使用
MCP インスペクターを使用して天気サービスをテストするには、以下のコマンドを実行します:
インスペクターが起動すると、ブラウザで http://127.0.0.1:6274
にアクセスして、天気サービスとやり取りできます。
天気情報の取得
インスペクターを使用して、以下の都市の天気情報を取得できます:
- 福岡
- 東京
- 大阪
- モスクワ
- ニューヨーク
その他の都市も指定できますが、Open-Meteo API で認識される都市名である必要があります。
開発ガイド
ファイル構造
コードの修正
src/index.ts
ファイルを編集して、機能を追加または修正します。- 変更をテストするには、以下のコマンドを実行します:
- 変更が正常に動作することを確認したら、変更をコミットします。
GitHubへのアップロード
初めてのGitHubリポジトリ作成
- GitHub にアクセスし、アカウントを作成またはログインします。
- 右上の「+」ボタンをクリックし、「New repository」を選択します。
- リポジトリ名(例:
my-weather-mcp
)を入力し、必要に応じて説明を追加します。 - リポジトリを公開または非公開に設定し、「Create repository」をクリックします。
ローカルリポジトリの初期化とプッシュ
- ローカルプロジェクトディレクトリで、Gitリポジトリを初期化します:
- 変更をステージングエリアに追加します:
- 変更をコミットします:
- リモートリポジトリを追加します(GitHubのリポジトリURLを使用):
- 変更をリモートリポジトリにプッシュします:
既存リポジトリへの変更のプッシュ
- 変更をステージングエリアに追加します:
- 変更をコミットします:
- 変更をリモートリポジトリにプッシュします:
プルリクエストの作成
- GitHubのリポジトリページにアクセスします。
- 「Pull requests」タブをクリックし、「New pull request」ボタンをクリックします。
- ベースブランチとコンペアブランチを選択します。
- 「Create pull request」ボタンをクリックします。
- プルリクエストのタイトルと説明を入力し、「Create pull request」ボタンをクリックします。
トラブルシューティング
よくある問題と解決策
ERR_PACKAGE_PATH_NOT_EXPORTED
エラー
このエラーは、@modelcontextprotocol/sdk
パッケージのインポートパスが正しくない場合に発生します。以下のように修正してください:
ネットワーク接続エラー
API呼び出し中にネットワークエラーが発生した場合、プロキシ設定を確認してください。環境変数 HTTP_PROXY
または HTTPS_PROXY
を設定することで、プロキシを使用できます:
その他の問題
問題が解決しない場合は、以下の情報を含むイシューを作成してください:
- 発生したエラーメッセージ
- 使用しているNode.jsとnpmのバージョン
- 実行したコマンド
- 期待される動作と実際の動作
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
A simple service using Model Context Protocol (MCP) to provide weather information for multiple cities including Fukuoka, Tokyo, Osaka, Moscow, and New York.
Related MCP Servers
- -securityFlicense-qualityThis is a Model Context Protocol (MCP) server that provides weather information using the National Weather Service (NWS) API. Features Get weather alerts for a US state Get weather forecast for a specific location (using latitude and longitude)Last updated -Python
- AsecurityAlicenseAqualityA Model Context Protocol server that retrieves current weather information for specified cities using the Open-Meteo API, requiring no API key.Last updated -34PythonApache 2.0
- AsecurityAlicenseAqualityModel Context Protocol (MCP) server that provides weather forecast, warnings, water level associated with flood, and earthquake reports from Malaysia Government's Open API.Last updated -4PythonMIT License
- -securityFlicense-qualityAn MCP server implementation that allows users to fetch and display weather information for specified cities, including temperature, humidity, wind speed, and weather descriptions.Last updated -Python