ClaudeLocalMCP.js について
ClaudeLocalMCP.jsは、OpenWeatherMapを使って指定都市の天気をClaudeから調べるローカルJavaScript製MCPサーバーです。Claude Desktopで天気検索を設定するユーザー向けで、漢字を含む都市名は翻訳してから検索できます。
主な機能
- 01都市ごとの天気検索
- 02中国語都市名の翻訳フォールバック
- 03気温・湿度・風速・天候の返却
- 04リクエストのタイムアウトとキャンセル処理
- 05環境ファイルの指定
活用シーン
- 01Claudeで都市の天気を確認
- 02中国語の都市名で天気を検索
- 03MCPの起動とエラー処理をテスト
MCP 対応
stdio経由でMCPクライアントに`get_weather`ツールを提供します。天気情報をJSONテキストで返し、検索失敗はMCPのエラーレスポンスで通知します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ClaudeLocalMCP.js
Claude 用のローカル MCP サーバー(JavaScript 版)は簡単に作れます。誰でもできます😁
一連の流れを示すデモ GIF

MCP サーバーの概要
MCP サーバーは「AI の USB ポート」のようなもので、AI が外部のデータやツールに安全に接続できるようにします。
たとえば、AI がパソコン内のファイルを確認したり、株価を調べたりしたいとき、MCP サーバーがAIに代わってデータを取得したり、操作を実行したりします。
AI が MCP(モデルコンテキストプロトコル)を利用すると、次のような大きな変化が生まれます:
- AI はもはや単なる「提案者」ではなく、タスクを自ら実行できるようになります。たとえば、データの調べ方を教えるだけでなく、データベースの検索、レポートの作成、メールの送信、さらにはスマート家電の操作まで直接行えます
- AI は外部データやツールにリアルタイムでアクセスできるため、学習済みの知識だけに頼るという制約を乗り越え、リアルタイムの天気や最新の金融情報など、最新データに基づいて応答できます
- 外部のデータソースを直接確認できるため、AI の回答がより正確になり、「ハルシネーション」の問題を減らせます
- 開発者は MCP を一度統合するだけで、AI をさまざまなツールやデータに接続できるため、開発効率が大幅に向上します
- アクセス権限を細かく管理でき、多くの操作がローカルで実行されるため、ユーザーデータの安全性が高まります
まとめ:MCP によって、AI は「話す」だけの存在から「実行できる」存在へと進化し、応用範囲と価値が大きく広がります。これにより、AI は真のエージェント(AI エージェント)の時代へと進みます
Weather MCP サーバー
Claude が指定した地域の天気情報を調べるためのものです
インストールと起動
Node.js 18.19 以上が必要です。サポート対象の LTS バージョンの使用を推奨します。
npm ci
npm start
起動前に、次のセクションに従って OPENWEATHERMAP_API_KEY を設定してください。デフォルトでは、このプロジェクトのルートディレクトリにある .env を読み込みます。
起動時の作業ディレクトリには影響されません。プロセスの環境変数から直接キーを指定することもできます。
環境変数は .env より優先されます。キーが設定されていない場合は、ただちに終了し、stderr にエラーを表示します。
別の環境ファイルを指定する場合や、開発時に自動で再起動する場合:
npm start -- "envPath=D:\config\weather.env"
npm run watch
明示的に指定した環境ファイルが存在しない、または読み込めない場合、起動に失敗します。パスに空白や = を含めることができますが、
envPath=... 引数全体を引用符で囲んでください。
これは stdio MCP サーバーです。起動後は MCP クライアントからのメッセージを待ち受け、ウェブページや HTTP ポートはありません。
Claude Desktop の設定では、引き続き下記の node コマンドを使用します。npm start はターミナルでの開発時に使用します。
天気 API サービスへの登録
https://openweathermap.org/ の無料サービスに登録します。 登録して API キー(API Key)を取得してください。
.env にキーを入力
OPENWEATHERMAP_API_KEY=你的實際API金鑰貼在這裡
API キーを設定するため、ルートディレクトリに .env ファイルを置いてください。
Claude デスクトップ版のインストール
Claude の開発者モードを有効にする
右上の File => Settings Developer モードを有効にします。
Claude で使う MCP サーバーを設定
Windows ユーザーの場合
ディレクトリ C:\Users\ユーザー名\AppData\Roaming\Claude を開きます
ファイル名 claude_desktop_config.json
{
"mcpServers": {
"weather": {
"command": "node",
"args": [
"D:\\github\\ClaudeLocalMCP.js\\index.js",
"envPath=D:\\github\\ClaudeLocalMCP.js\\.env"
]
}
}
}
envPath は .env のパスを指定します。プロジェクトのルートディレクトリにある .env を使う場合、この引数は省略できます。
検索動作とエラー処理
get_weatherはcity文字列を受け取り、前後の空白を削除してから、空白の都市名を拒否します。- 英語の都市名は OpenWeatherMap に直接問い合わせます。漢字を含む都市名は、まず MyMemory で翻訳します。
- 翻訳の接続失敗、タイムアウト、クォータ超過、または空の応答が発生した場合は、元の都市名で検索します。
- 各 HTTP リクエストのタイムアウトは 10 秒です。中国語の検索は 2 つの段階を順番に実行するため、合計時間が 20 秒近くになる場合があります。
- クライアントがリクエストをキャンセルすると、進行中の HTTP リクエストを中止し、次の段階も開始しません。
- 天気の検索に失敗した場合は、無効なキー、都市が見つからない場合、タイムアウトなどの状況を含め、MCP の
isError: trueとして返します。 - 成功時は
city、temperature(摂氏)、condition、humidity(パーセント)、wind_speed(m/s)、countryの各フィールドを保持し、JSON テキストで返します。
サーバーはローカルで動作しますが、都市の検索情報は外部 API に送信されます。診断メッセージには stderr を使用してください。
MCP メッセージが stdout で壊れるのを防ぐため、サーバーに console.log を追加しないでください。
テストの実行
npm test
Node の組み込みテストツールを使用し、MCP ハンドシェイク、入力検証、翻訳のフォールバック、エラー応答、
HTTP のタイムアウト/キャンセル、独立プロセスでのデフォルト設定、パス指定、watch 起動をテストします。
テストではモックデータとローカル HTTP サービスを使用するため、.env の読み込みや、実際の天気/翻訳 API への呼び出しは行いません。
MCP が正常に起動していることを確認します
MCP の名前を確認します
問い合わせる際は、地域を指定してください。例:台中の天気はどうですか?
Claude は MCP サービスを実行してよいか、確認を求めます(Allow for this chat)

MCP サーバーの実行ログを確認
Windows ユーザーの場合
ディレクトリ C:\Users\ユーザー名\AppData\Roaming\Claude\logs を開きます
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。