MCP Weather Service

MIT License
4

Integrations

  • Used to make HTTP requests to the Open-Meteo API for fetching weather information for various cities

  • Provides version control functionality for the weather service project, allowing users to clone, commit, and push changes

  • Enables users to store, share, and collaborate on the weather service project through repositories, pull requests, and issue tracking

MCP 天気サービス

このリポジトリは、Model Context Protocol (MCP) を使用して天気情報を提供するシンプルなサービスです。複数の都市(福岡、東京、大阪、モスクワ、ニューヨークなど)の天気情報を取得できます。

このプロジェクトは MITライセンス の下で公開されています。

目次

  1. 前提条件
  2. プロジェクトのセットアップ
  3. 使い方
  4. 開発ガイド
  5. GitHubへのアップロード
  6. トラブルシューティング

前提条件

このプロジェクトを実行するには、以下のソフトウェアが必要です:

  • Node.js (バージョン 18 以上)
  • npm (通常は Node.js とともにインストールされます)
  • Git

インストール方法

Node.js と npm のインストール
  1. Node.js 公式サイト からインストーラーをダウンロードしてインストールします。
  2. インストールが完了したら、ターミナルで以下のコマンドを実行して確認します:
node -v npm -v
Git のインストール
  1. Git 公式サイト からインストーラーをダウンロードしてインストールします。
  2. インストールが完了したら、ターミナルで以下のコマンドを実行して確認します:
git --version

プロジェクトのセットアップ

新規プロジェクトの作成

  1. 新しいディレクトリを作成し、そのディレクトリに移動します:
mkdir my-weather-mcp cd my-weather-mcp
  1. npm プロジェクトを初期化します:
npm init -y
  1. 必要なパッケージをインストールします:
npm install @modelcontextprotocol/sdk axios zod typescript @types/node https-proxy-agent npm install --save-dev ts-node
  1. TypeScript の設定ファイルを作成します:
npx tsc --init
  1. tsconfig.json ファイルを以下のように編集します:
{ "compilerOptions": { "target": "ES2022", "module": "NodeNext", "moduleResolution": "NodeNext", "esModuleInterop": true, "outDir": "./build", "strict": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true }, "include": ["src/**/*"], "exclude": ["node_modules"] }
  1. package.json ファイルのスクリプトセクションを以下のように編集します:
"scripts": { "build": "tsc && node -e \"import('fs').then(fs => fs.default.chmodSync('build/index.js', '755'))\"", "start": "node build/index.js", "inspect": "npx @modelcontextprotocol/inspector build/index.js", "dev": "ts-node src/index.ts" }
  1. プロジェクトのディレクトリ構造を作成します:
mkdir -p src test

既存プロジェクトのクローン

既存のプロジェクトを使用する場合は、以下の手順でクローンします:

git clone https://github.com/terisuke/my-weather-mcp.git cd my-weather-mcp npm install

使い方

ビルドと実行

プロジェクトをビルドして実行するには、以下のコマンドを使用します:

npm run build && npm run start

インスペクターの使用

MCP インスペクターを使用して天気サービスをテストするには、以下のコマンドを実行します:

npm run build && npm run inspect

インスペクターが起動すると、ブラウザで http://127.0.0.1:6274 にアクセスして、天気サービスとやり取りできます。

天気情報の取得

インスペクターを使用して、以下の都市の天気情報を取得できます:

  • 福岡
  • 東京
  • 大阪
  • モスクワ
  • ニューヨーク

その他の都市も指定できますが、Open-Meteo API で認識される都市名である必要があります。

開発ガイド

ファイル構造

my-weather-mcp/ ├── build/ # コンパイルされたJavaScriptファイル ├── src/ # TypeScriptソースコード │ └── index.ts # メインのアプリケーションコード ├── test/ # テストファイル ├── package.json # プロジェクト設定 ├── tsconfig.json # TypeScript設定 └── README.md # このファイル

コードの修正

  1. src/index.ts ファイルを編集して、機能を追加または修正します。
  2. 変更をテストするには、以下のコマンドを実行します:
npm run build && npm run inspect
  1. 変更が正常に動作することを確認したら、変更をコミットします。

GitHubへのアップロード

初めてのGitHubリポジトリ作成

  1. GitHub にアクセスし、アカウントを作成またはログインします。
  2. 右上の「+」ボタンをクリックし、「New repository」を選択します。
  3. リポジトリ名(例:my-weather-mcp)を入力し、必要に応じて説明を追加します。
  4. リポジトリを公開または非公開に設定し、「Create repository」をクリックします。

ローカルリポジトリの初期化とプッシュ

  1. ローカルプロジェクトディレクトリで、Gitリポジトリを初期化します:
git init
  1. 変更をステージングエリアに追加します:
git add .
  1. 変更をコミットします:
git commit -m "初回コミット:MCP天気サービスの実装"
  1. リモートリポジトリを追加します(GitHubのリポジトリURLを使用):
git remote add origin https://github.com/ユーザー名/my-weather-mcp.git
  1. 変更をリモートリポジトリにプッシュします:
git push -u origin main

既存リポジトリへの変更のプッシュ

  1. 変更をステージングエリアに追加します:
git add .
  1. 変更をコミットします:
git commit -m "変更内容の説明"
  1. 変更をリモートリポジトリにプッシュします:
git push

プルリクエストの作成

  1. GitHubのリポジトリページにアクセスします。
  2. 「Pull requests」タブをクリックし、「New pull request」ボタンをクリックします。
  3. ベースブランチとコンペアブランチを選択します。
  4. 「Create pull request」ボタンをクリックします。
  5. プルリクエストのタイトルと説明を入力し、「Create pull request」ボタンをクリックします。

トラブルシューティング

よくある問題と解決策

ERR_PACKAGE_PATH_NOT_EXPORTED エラー

このエラーは、@modelcontextprotocol/sdk パッケージのインポートパスが正しくない場合に発生します。以下のように修正してください:

// 誤ったインポート import { McpServer } from "@modelcontextprotocol/sdk"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/transports"; // 正しいインポート import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
ネットワーク接続エラー

API呼び出し中にネットワークエラーが発生した場合、プロキシ設定を確認してください。環境変数 HTTP_PROXY または HTTPS_PROXY を設定することで、プロキシを使用できます:

export HTTP_PROXY=http://プロキシサーバー:ポート export HTTPS_PROXY=https://プロキシサーバー:ポート
その他の問題

問題が解決しない場合は、以下の情報を含むイシューを作成してください:

  • 発生したエラーメッセージ
  • 使用しているNode.jsとnpmのバージョン
  • 実行したコマンド
  • 期待される動作と実際の動作

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

A simple service using Model Context Protocol (MCP) to provide weather information for multiple cities including Fukuoka, Tokyo, Osaka, Moscow, and New York.

  1. 目次
    1. 前提条件
      1. インストール方法
    2. プロジェクトのセットアップ
      1. 新規プロジェクトの作成
      2. 既存プロジェクトのクローン
    3. 使い方
      1. ビルドと実行
      2. インスペクターの使用
      3. 天気情報の取得
    4. 開発ガイド
      1. ファイル構造
      2. コードの修正
    5. GitHubへのアップロード
      1. 初めてのGitHubリポジトリ作成
      2. ローカルリポジトリの初期化とプッシュ
      3. 既存リポジトリへの変更のプッシュ
      4. プルリクエストの作成
    6. トラブルシューティング
      1. よくある問題と解決策

    Related MCP Servers

    • -
      security
      F
      license
      -
      quality
      This 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
      • Linux
      • Apple
    • -
      security
      A
      license
      -
      quality
      A Model Context Protocol server that retrieves current weather information for specified cities using the Open-Meteo API, requiring no API key.
      Last updated -
      1
      Python
      Apache 2.0
      • Linux
      • Apple
    • A
      security
      A
      license
      A
      quality
      Model 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 -
      4
      Python
      MIT License
    • -
      security
      F
      license
      -
      quality
      An 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
      • Linux
      • Apple

    View all related MCP servers

    ID: c9bqfygh4v