关于 ClaudeLocalMCP.js
ClaudeLocalMCP.js 是以 JavaScript 编写的本地 MCP 服务,可让 Claude 通过 OpenWeatherMap 查询指定城市的天气。它面向配置 Claude Desktop 天气查询的用户,并可先翻译含汉字的城市名称再查询。
主要功能
- 01按城市查询天气
- 02中文城市名称翻译回退
- 03返回温度、湿度、风速和天气状况
- 04处理请求超时与取消
- 05可配置环境文件
适用场景
- 01在 Claude 中查看城市天气
- 02查询中文城市名称的天气
- 03测试 MCP 启动与错误处理
MCP 相关
通过 stdio 向 MCP 客户端提供 `get_weather` 工具,以 JSON 文本返回天气字段,并通过 MCP 错误响应报告查询失败。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
来自项目 READMEClaudeLocalMCP.js
自己為 Claude 寫本地端 MCP Server (JavaScript版) 很簡單,有手就行😁
完整流程 Demo 的 gif 圖檔

簡介 MCP Server
MCP Server 就像「AI 的 USB 插槽」,讓 AI 能安全地連接外部資料或工具。
舉例:AI 想查電腦檔案或查詢股票價格,MCP Server 就負責幫 AI 取得這些資料或執行操作。
AI 有了 MCP(模型上下文協定)後,將產生以下重大影響:
- AI 不再只是「建議者」,而能主動執行任務。例如,AI 不僅能告訴你怎麼查資料,還能直接幫你查詢資料庫、整理報表、發送郵件,甚至控制智慧家電
- AI 可即時存取外部資料與工具,突破只能依賴訓練知識的限制,能根據最新數據做出回應,如即時天氣、最新財經資訊等
- AI 回答更精確,能減少「幻覺」問題,因為可直接查證外部資料來源
- 開發者只需一次整合 MCP,AI 就能連接多種工具和資料,開發效率大幅提升
- 用戶資料安全性提升,因為存取權限可細緻控管,且多數操作在本地端執行
總結:MCP 讓 AI 從只能「說」進化到能「做」,大幅擴展應用範圍與價值,推動 AI 進入真正的智能代理(AI Agent)時代
Weather MCP Server
這是用來給 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 Server,啟動後等待 MCP 客戶端傳入訊息,沒有網頁或 HTTP 連接埠。
Claude Desktop 設定仍使用下方的 node 指令;npm start 適合在終端機開發時使用。
申請天氣 API 服務
我去申請 https://openweathermap.org/ 的免費服務 請去註冊並取得 API 金鑰 (API Key)
在 .env 填入金鑰
OPENWEATHERMAP_API_KEY=你的實際API金鑰貼在這裡
記得在根目錄內放上 .env 檔案來提供 API金鑰
安裝 Claude 桌面版
開啟 Claude 開發模式
右上角 File => Settings 開啟 Developer 模式
設定 MCP Server 給 Claude 使用
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 秒;中文查詢有兩個依序執行的階段,總時間可能接近 20 秒。
- 客戶端取消請求時會中止進行中的 HTTP 請求,且不再啟動下一個階段。
- 天氣查詢失敗以 MCP
isError: true回傳,包含金鑰無效、城市不存在及逾時等情況。 - 成功結果保留
city、temperature(攝氏)、condition、humidity(百分比)、wind_speed(m/s)與country欄位,以 JSON 文字回傳。
Server 在本機執行,但城市查詢仍會傳給外部 API。診斷訊息使用 stderr;
請勿新增 console.log 到 Server,以免破壞 stdout 上的 MCP 訊息。
執行測試
npm test
使用 Node 內建測試工具,涵蓋 MCP 握手、輸入驗證、翻譯降級、錯誤回傳、
HTTP 逾時/取消,以及獨立程序的預設設定、指定路徑與 watch 啟動。
測試使用模擬資料與本機 HTTP 服務,不讀取你的 .env 或呼叫真實天氣/翻譯 API。
確認一下 MCP 是否正常開啟
檢視一下 MCP 名稱
詢問時要指定地區,如: 台中天氣如何?
Claude 會要你確認(Allow for this chat)是否可以執行 MCP 服務

查詢 MCP Server 執行 log
Windows 用戶請
開啟目錄 C:\Users\使用者名稱\AppData\Roaming\Claude\logs
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。