
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.
Tools
get-weather
Get weather information for a city
README
MCP 天気サービス
このリポジトリは、Model Context Protocol (MCP) を使用して天気情報を提供するシンプルなサービスです。複数の都市(福岡、東京、大阪、モスクワ、ニューヨークなど)の天気情報を取得できます。
<a href="https://glama.ai/mcp/servers/@terisuke/my-weather-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@terisuke/my-weather-mcp/badge" alt="Weather Service MCP server" /> </a>
ライセンス
このプロジェクトは MITライセンス の下で公開されています。
目次
前提条件
このプロジェクトを実行するには、以下のソフトウェアが必要です:
- Node.js (バージョン 18 以上)
- npm (通常は Node.js とともにインストールされます)
- Git
インストール方法
Node.js と npm のインストール
- Node.js 公式サイト からインストーラーをダウンロードしてインストールします。
- インストールが完了したら、ターミナルで以下のコマンドを実行して確認します:
node -v
npm -v
Git のインストール
- Git 公式サイト からインストーラーをダウンロードしてインストールします。
- インストールが完了したら、ターミナルで以下のコマンドを実行して確認します:
git --version
プロジェクトのセットアップ
新規プロジェクトの作成
- 新しいディレクトリを作成し、そのディレクトリに移動します:
mkdir my-weather-mcp
cd my-weather-mcp
- npm プロジェクトを初期化します:
npm init -y
- 必要なパッケージをインストールします:
npm install @modelcontextprotocol/sdk axios zod typescript @types/node https-proxy-agent
npm install --save-dev ts-node
- TypeScript の設定ファイルを作成します:
npx tsc --init
tsconfig.json
ファイルを以下のように編集します:
{
"compilerOptions": {
"target": "ES2022",
"module": "NodeNext",
"moduleResolution": "NodeNext",
"esModuleInterop": true,
"outDir": "./build",
"strict": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
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"
}
- プロジェクトのディレクトリ構造を作成します:
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 # このファイル
コードの修正
src/index.ts
ファイルを編集して、機能を追加または修正します。- 変更をテストするには、以下のコマンドを実行します:
npm run build && npm run inspect
- 変更が正常に動作することを確認したら、変更をコミットします。
GitHubへのアップロード
初めてのGitHubリポジトリ作成
- GitHub にアクセスし、アカウントを作成またはログインします。
- 右上の「+」ボタンをクリックし、「New repository」を選択します。
- リポジトリ名(例:
my-weather-mcp
)を入力し、必要に応じて説明を追加します。 - リポジトリを公開または非公開に設定し、「Create repository」をクリックします。
ローカルリポジトリの初期化とプッシュ
- ローカルプロジェクトディレクトリで、Gitリポジトリを初期化します:
git init
- 変更をステージングエリアに追加します:
git add .
- 変更をコミットします:
git commit -m "初回コミット:MCP天気サービスの実装"
- リモートリポジトリを追加します(GitHubのリポジトリURLを使用):
git remote add origin https://github.com/ユーザー名/my-weather-mcp.git
- 変更をリモートリポジトリにプッシュします:
git push -u origin main
既存リポジトリへの変更のプッシュ
- 変更をステージングエリアに追加します:
git add .
- 変更をコミットします:
git commit -m "変更内容の説明"
- 変更をリモートリポジトリにプッシュします:
git push
プルリクエストの作成
- GitHubのリポジトリページにアクセスします。
- 「Pull requests」タブをクリックし、「New pull request」ボタンをクリックします。
- ベースブランチとコンペアブランチを選択します。
- 「Create pull request」ボタンをクリックします。
- プルリクエストのタイトルと説明を入力し、「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のバージョン
- 実行したコマンド
- 期待される動作と実際の動作
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.