npx vs npm 差異與 MCP Server 自動更新機制
發表於|更新於|Claude Code
|總字數:897|閱讀時間:3分鐘|瀏覽量:
最近在幫 Claude Code 設定 MCP Server 的時候,用到了 Google 官方出的 chrome-devtools-mcp 這個工具,主要是拿來做瀏覽器的自動化驗證。安裝指令裡用的是 npx 而不是 npm install,一開始我還沒特別在意,但後來仔細研究才發現,這兩者的行為差異其實直接影響到版本更新策略。這邊把我整理的筆記記錄一下。
npm install vs npx 到底差在哪?
說實話,剛開始學 Node.js 的時候,我也搞不太清楚 npx 跟 npm 的差別,總覺得都是裝套件用的。但其實它們的設計理念完全不同。
簡單來說,npm install 會把套件下載到 node_modules/ 資料夾裡,持久保存在本地。而 npx 的概念則是「臨時下載、執行完就可以不管了」。
幾個關鍵差異整理一下:
- 版本解析時機:
npm install安裝時解析一次版本就固定了;npx加上@latest的話,每次執行都會重新解析,自動抓最新版 - 磁碟空間:
npm裝了就佔空間;npx用完可能會被快取策略清掉 - 啟動速度:
npm因為已經在本地了所以快;npx首次會稍慢一點(要下載),不過後續有快取就還好
MCP Server 的啟動與更新機制
安裝指令長這樣:
1 | claude mcp add chrome-devtools --scope user -- npx chrome-devtools-mcp@latest --autoConnect |
重點是那個 npx chrome-devtools-mcp@latest 的部分。那到底 MCP Server 什麼時候會啟動、什麼時候會去下載更新呢?
啟動流程
整個流程大概是這樣:
1 | Claude Code 啟動 |
什麼時候會觸發下載?
這邊我特別整理了一下,因為一開始自己也搞混過:
- 同一個 Claude Code session 內多次使用 MCP 工具:不會下載,MCP Server 啟動後就常駐了
- 重啟 Claude Code:npx 會檢查快取,通常不會下載(快取還在的話)
- 快取被清理或有新版本釋出:這時候才會下載一次
幾個重要結論
搞了一陣子之後,我歸納出幾個重點:
- MCP Server 是 Claude Code 啟動時就跑起來的背景程序,不是每次呼叫工具才啟動
- 平常使用 MCP 工具時,只是呼叫已經在跑的 MCP Server,不涉及下載
@latest的好處是自動更新,不需要另外手動處理版本更新- 每個 MCP Server 之間是各自獨立的,更新互不影響
為什麼選 npx 而不是 npm install?
其實想清楚之後原因蠻明確的:
- 自動更新 — 加上
@latest就能在每次啟動時解析最新版,完全不用手動維護 - 不污染全域環境 — 不會在使用者的
node_modules裡面留下一堆檔案 - MCP 社群慣例 — Claude Code 官方文件跟社群的 MCP Server 幾乎都是用 npx 安裝,照著慣例走比較不會踩坑
常用相關指令
最後附上幾個我常用的指令,方便之後查:
1 | # 安裝 chrome-devtools-mcp |
小提醒:如果發現 MCP Server 行為怪怪的,可以先試著重啟 Claude Code,讓 npx 重新抓一次最新版,通常就能解決了。
文章作者: Cheng®
版權聲明: 本部落格所有文章除特別聲明外,均採用CC BY-NC-SA 4.0 授權協議。轉載請註明來源 Cheng's Tech & Life!
相關推薦

2026-04-21
AI 與科技新聞摘要 - 2026/04/21
一行指令,五個工具,同一個技能包。 4 月 16 日 GitHub 推出 gh skill 命令,讓 GitHub Copilot、Claude Code、Cursor、Codex、Gemini CLI 共用同一套技能安裝標準。這不是一個小更新。這是整個 AI coding 工具生態系第一次在「如何安裝技能」這件事上達成共識——而且是用 Claude Code 那邊流出去的 SKILL.md 格式當基礎。 把這件事和同一週的其他幾條新聞擺在一起看,你會看到一個還沒被廣泛討論的系統性趨勢:AI 工具市場正在跑一場「誰的基礎設施先成為業界標準」的賽局——不是誰的模型最強,是誰的規格先被其他人採用。先成為標準的那個,接下來的每一個新工具都得跟它相容。 Claude Code v2.1.116 — resume 快了 67%,MCP 工具結果可以不被截斷4 月 20 日釋出的 v2.1.116,有兩個更新值得注意。 第一個:/resume 在大型 session(40MB+)上快了 67%。這個改善針對的是長期使用者——session 積累愈久、dead-fork 愈多,之前 resu...

2026-04-06
Self-Evolving Agents - 讓 AI Agent 自己進化的完整技術地圖
前陣子在看 University of Glasgow 的研究,發現一個有夠猛的方向:AI Agent 能夠自己進化,不用人類干預就越來越強。以前我們都以為模型 deploy 下去就固定了,沒想到還有這麼多角度可以自我優化。 Agent 自己進化,到底在進化什麼?Self-Evolving Agent 的核心概念其實很簡單:讓系統在運作過程中自動改善自己。但「改善」這個詞太寬泛了。這波操作跨越 4 個維度: 第一個維度是 LLM 本身的行為。透過 Reinforcement Learning 和 self-play 這類技巧,模型能從自己的嘗試裡學習。STaR(Self-Taught Reasoner)就是代表作,它讓模型從推理過程中的成功案例自動學習。Absolute Zero 是今年新出的,直接從零資料開始自我對弈,效果炸了。 第二個維度是 Prompt 優化。有人用進化演算法,有人用梯度下降,用 TextGrad 或 OPRO 這樣的框架,系統能自動調整提示詞。不用人類手工調整,程式自己試出更有效的 prompt。 第三個維度是記憶機制。A-MEM 和 Mem0 專注在怎麼...

2026-05-28
Claude Code /usage 完整教學 — 看你的額度花在哪個 Skill、Subagent、Plugin、MCP server
打開 Claude Code 還沒輸入任何指令,光是 boot 起來這層 context window 就已經吃掉了——多少? 預設安裝一個 CLAUDE.md、五個 MCP server、幾個 skills,根據 Claude Code 官方文件的估算,起跳就要五萬個 token。其中光 GitHub MCP 一個就佔了一半以上。 這還是「什麼都還沒做」的數字。 5 月的 /usage 升級之後,這層消耗變得可見了——指令會把 skills、subagents、plugins、每個 MCP server 各自吃掉多少額度列成一張表。本來這層是黑盒子,現在打開了。 這篇拆解三件事:/usage 報表怎麼看、看到之後該怎麼動手減重、為什麼這個指令的設計值得抄到自己的工作流。 /usage 跟 /cost 跟 /stats 不是同一件事先把容易混淆的三個指令分開: 指令 看什麼 適用對象 /usage Pro / Max 訂閱的額度還剩多少、各 category 吃掉多少 訂閱戶 /cost 這個 session 跑下來花了多少美金 用 API key 的...

2026-04-02
Jira MCP 完整教學 — 讓 Claude Code 直接操作你的 Jira
Jira 每天都要登,改個狀態還要點半天,看著任務卡卡的動不了。但如果能讓 Claude Code 直接操作 Jira,「改狀態」「建 Subtask」「查進度」全部自動跑,是不是爽多了? 這不是在做夢。現在的 MCP(Model Context Protocol)讓 Claude Code 能跟 Jira 溝通,整個工作流程可以變得超流暢。今天我就來分享怎麼設定,以及實際能幹什麼。 先理解 MCP 是什麼MCP 簡單來說,就是讓 Claude Code 這樣的 AI 工具能夠跟外部系統(像 Jira、Confluence)對話的協議。你不用寫複雜的 API 呼叫,Claude 自己就能透過 MCP 去讀寫 Jira 的資料。 想像 MCP 像是翻譯官,你跟 Claude 說「幫我查最近的 Bug」,Claude 透過 MCP 自動翻譯成 Jira 能聽懂的語言,然後把結果再講給你聽。 三個 Jira MCP 選項,怎麼選?市面上有三個主要選項: 選項 開發者 工具數量 推薦度 備註 Atlassian Rovo MCP Atlassian 官方 25 個工具 ★★★...

2026-09-09
先別開第二支程式,Agent SDK 的自訂工具跑在你的 process 裡
你的服務裡已經有一條開好的 DB 連線、一份讀完的設定檔、一個還沒過期的存取權杖。現在你要讓 Claude 去查一筆訂單狀態,於是開始寫 MCP server:第二支程式、第二份設定、第二個要煩惱它有沒有活著的東西。 這一步不一定要走。而且判準比想像中窄,照官方文件看,窄到只剩幾種情況真的非走不可。 它省掉的那一步Agent SDK 裡有 create_sdk_mcp_server(Python)跟 createSdkMcpServer(TypeScript)這組東西,官方對它的描述只有一句,而那句是整件事的地基: “The server runs in-process inside your application, not as a separate process.” 跑在你的應用程式裡面。所以開頭那條連線你直接拿來用,設定不用再讀一次,權杖也不用想辦法遞過去,因為它們本來就在同一塊記憶體裡。站上 2026-05-20 那篇〈Claude Agent SDK 完整教學〉收尾時提過「可以把 MCP server 當成 Agent SDK 的工具來源」,講的是外部那條路。這...

2026-04-01
AI 與科技新聞摘要 — 2026/04/01
512,000 行 TypeScript 原始碼,一個 .npmignore 沒設好就全部公開了。Anthropic 五天內第二次洩漏,這次是 Claude Code 的完整 codebase。同一週,MCP 的第一屆開發者峰會在紐約登場,Linux Foundation 正式成立 Agentic AI Foundation。Citrix 爆了一個 CVSS 9.3 的漏洞,NVIDIA 在 GTC 發布了 Rubin 世代的六款新晶片。 1. Claude Code 原始碼洩漏 — 59.8MB 的 source map 讓 1,900 個檔案全部曝光3 月 31 日凌晨,Anthropic 推送 @anthropic-ai/claude-code v2.1.88 到 npm 時,包裹裡多了一個不該存在的東西:一個 59.8MB 的 JavaScript source map 檔案。這個 .map 能完整還原壓縮前的原始碼——512,000 行 TypeScript,橫跨 1,900 個檔案。 研究者 Chaofan Shou 在凌晨 4:23 把下載連結貼到 X 上,16 ...
評論
公告
這裡記錄我在後端開發路上踩過的坑、學到的東西,也會分享每日 AI 與科技新聞觀點。歡迎一起交流!
目錄
claude-code





































































































































































































