JUHE API Marketplace
terisuke avatar
MCP Server

MCP Weather Service

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

5
GitHub Stars
8/23/2025
Last Updated
No Configuration
Please check the documentation below.

README Documentation

MCP 天気サービス

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

Weather Service MCP server ## ライセンス

このプロジェクトは 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のバージョン
  • 実行したコマンド
  • 期待される動作と実際の動作

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source