Next.js DevTools MCP

官方

next-devtools-mcp 是一個 MCP 伺服器,為 Claude 和 Cursor 等 AI 編碼助手提供 Next.js 開發工具與實用程式。

你可以用 Next Js Dev Tools MCP 做什麼?

  • 發現正在執行的 Next.js 開發伺服器 — 使用 nextjs_index 來尋找活躍的 Next.js 16+ 伺服器,並查看每個伺服器暴露了哪些執行時期工具。
  • 查詢即時執行時期錯誤與日誌 — 在已發現的連接埠上,使用 get_errorsget_logs 參數呼叫 nextjs_call,以擷取當前的建置錯誤、執行時期錯誤、型別錯誤或開發伺服器日誌。
  • 檢查路由與頁面元資料 — 使用 get_page_metadata 參數呼叫 nextjs_call,以列出執行中應用程式的所有路由、頁面及元件元資料。
  • 將伺服器動作 ID 解析為原始碼檔案 — 使用 get_server_action_by_id 參數呼叫 nextjs_call,將伺服器動作 ID 對應回其實作檔案。
  • 取得與版本相符的 Next.js 文件 — 使用 nextjs_docs 來定位 node_modules/next/dist/docs/ 中與您安裝的 Next.js 版本相符的內建文件。
  • 設定瀏覽器自動化 — 使用 browser_eval 來偵測或安裝 agent-browser CLI,以便代理程式能直接驅動瀏覽器。

文件

Next.js DevTools MCP

npm next-devtools-mcp package

next-devtools-mcp 是一個模型上下文協定 (Model Context Protocol, MCP) 伺服器,可將 Claude 和 Cursor 等編碼代理連接到您正在執行的 Next.js 開發伺服器。

它是一個輕量連接器。它會偵測正在執行的 Next.js 16+ 開發伺服器,並代理其內建的 MCP 端點 (/_next/mcp),讓代理能夠取得即時的執行階段錯誤、路由和日誌。它還提供兩個閘道,引導代理直接執行工具:版本精確的文件和 agent-browser CLI。

[!NOTE] 文件和遷移工作流程已不再存在於此伺服器中。Next.js 將其自身的文件捆綁在 node_modules/next/dist/docs/,而升級/快取元件工作流程則以代理技能的形式分發。請參閱從 0.3.x 遷移

需求

  • Node.js v20.19 或更新的 LTS 版本
  • npmpnpm
  • Next.js 16+ 且開發伺服器正在執行(用於 nextjs_index / nextjs_call

安裝

使用 add-mcp 為所有編碼代理安裝:

npx add-mcp next-devtools-mcp@latest

加入 -y 可跳過提示並安裝到所有偵測到的代理。加入 -g 可在所有專案中全域安裝。

或手動將設定新增至您的 MCP 客戶端:

{
  "mcpServers": {
    "next-devtools": {
      "command": "npx",
      "args": ["-y", "next-devtools-mcp@latest"]
    }
  }
}

[!NOTE] next-devtools-mcp@latest 可讓您的客戶端保持在最新版本。

客戶端專屬設定

Amp
amp mcp add next-devtools -- npx next-devtools-mcp@latest

或使用上述設定,遵循 Amp 的 MCP 文件

Claude Code
claude mcp add next-devtools npx next-devtools-mcp@latest

或使用上述設定編輯您的 MCP 設定檔。

Codex
codex mcp add next-devtools -- npx next-devtools-mcp@latest

Windows 11: 將環境變數和較長的啟動逾時新增至 .codex/config.toml

env = { SystemRoot="C:\\Windows", PROGRAMFILES="C:\\Program Files" }
startup_timeout_ms = 20_000
Cursor

在 Cursor 中安裝

或前往 Cursor SettingsMCPNew MCP Server 並使用上述設定。

Gemini
# Project
gemini mcp add next-devtools npx next-devtools-mcp@latest

# Global
gemini mcp add -s user next-devtools npx next-devtools-mcp@latest
Google Antigravity

新增至 .gemini/antigravity/mcp_config.json

{
  "mcpServers": {
    "next-devtools": {
      "command": "npx",
      "args": ["-y", "next-devtools-mcp@latest"]
    }
  }
}

請參閱 Antigravity MCP 文件

VS Code / Copilot
code --add-mcp '{"name":"next-devtools","command":"npx","args":["-y","next-devtools-mcp@latest"]}'

或遵循官方的 VS Code MCP 設定指南。

Warp

Settings | AI | Manage MCP Servers+ Add

  • 名稱:next-devtools
  • 指令:npx
  • 參數:-y, next-devtools-mcp@latest

快速入門

啟動您的 Next.js 開發伺服器:

npm run dev

Next.js 16+ 預設會在 http://localhost:3000/_next/mcp 啟用其 MCP 端點。next-devtools-mcp 會自動偵測並連接到它 — 無需設定。

然後向您的代理詢問正在執行的應用程式:

Next Devtools, what errors are in my Next.js application?
Next Devtools, show me the structure of my routes
Next Devtools, what's in the development server logs?

代理會呼叫 nextjs_index 來偵測伺服器,然後呼叫 nextjs_call 來查詢它們的實際狀態。

工具

工具功能
nextjs_index偵測正在執行的 Next.js 開發伺服器,並列出每個伺服器的執行階段 MCP 工具。
nextjs_call在偵測到的伺服器上呼叫執行階段工具(錯誤、路由、日誌、伺服器動作)。
nextjs_docs閘道。 引導代理取得 node_modules/next/dist/docs/ 中版本精確的文件。
browser_eval閘道。 引導代理使用 agent-browser CLI 進行瀏覽器自動化。

閘道本身不執行工作 — 它們會告訴代理文件在哪裡,或如何安裝/執行 CLI,然後由代理直接執行(比透過 MCP 代理更快)。

nextjs_index — 偵測伺服器

掃描常用連接埠,尋找正在執行的 Next.js 16+ 開發伺服器,並列出每個伺服器在 /_next/mcp 的內建執行階段工具。無需參數。

Next.js 公開的執行階段工具(依版本而異):

  • get_errors — 目前的建置、執行階段和型別錯誤
  • get_logs — 開發日誌檔案的路徑(瀏覽器主控台 + 伺服器輸出)
  • get_page_metadata — 路由、頁面、元件中繼資料
  • get_project_metadata — 專案結構、設定、開發伺服器 URL
  • get_server_action_by_id — 將伺服器動作 ID 解析為其原始檔

輸出:列出偵測到的伺服器(連接埠、PID、URL)及其工具的 JSON。

nextjs_call — 執行執行階段工具

在偵測到的伺服器上呼叫一個執行階段工具。請先執行 nextjs_index 以尋找連接埠和工具名稱。

輸入:

  • port(必要)— 開發伺服器連接埠
  • toolName(必要)— 要調用的執行階段工具
  • args(可選)— 參數物件,僅在工具需要時提供
{ "port": 3000, "toolName": "get_errors" }

輸出:包含工具結果的 JSON。

nextjs_docs — 尋找版本精確的文件

不會擷取文件。Next.js 16+ 將其完整文件(Markdown,與您安裝的版本相符)捆綁在 node_modules/next/dist/docs/。此工具會回傳該路徑以及如何讀取它,以便代理使用版本精確的文件,而非訓練資料的猜測。在較舊的 Next.js 上,它會建議 npx @next/codemod@latest upgrade latest

輸入:topic(可選)、project_path(可選,預設為 cwd)。

browser_eval — 設定瀏覽器自動化

不會驅動瀏覽器。它會偵測是否已安裝 agent-browser,並回傳進入點 (agent-browser skills get core --full) 或安裝步驟 (npm install -g agent-browser,然後 agent-browser install),以便代理直接執行 CLI。

輸入:task(可選)— 僅用於客製化指引。

從 0.3.x 遷移

從 0.4.0 開始,next-devtools-mcp 是一個輕量連接器。

已變更:

  • nextjs_docs 不再透過網路擷取文件。它會引導代理取得 Next.js 捆綁在 node_modules/next/dist/docs/ 的文件(或建議升級)。nextjs-docs://llms-index 資源已移除。

已移除:

  • init 工具 — 它僅強制執行舊的文件擷取工作流程。
  • upgrade_nextjs_16enable_cache_components 工具及其提示 — 現在以代理技能的形式分發。
  • 所有 cache-components://nextjs16://nextjs-fundamentals:// 資源 — 已被捆綁的文件取代。

保留項目:nextjs_indexnextjs_callnextjs_docsbrowser_eval

隱私權與遙測

next-devtools-mcp 會收集匿名的使用遙測資料以改善工具:

  • 工具使用情況 — 調用了哪些 MCP 工具(例如 nextjs_indexnextjs_call
  • 錯誤事件 — 工具失敗時的匿名錯誤訊息
  • 工作階段中繼資料 — 工作階段 ID、時間戳記、基本環境(作業系統、Node.js 版本)

不收集的資料: 您的程式碼、檔案內容或路徑、個人資料、憑證或工具參數(僅工具名稱)。

本機檔案存放在 ~/.next-devtools-mcp/ 下(匿名 telemetry-idtelemetry-salt 和偵錯日誌 mcp.log)。

退出 可設定環境變數(將其新增至 ~/.zshrc / ~/.bashrc 以持續生效):

export NEXT_TELEMETRY_DISABLED=1

隨時刪除本機遙測資料:

rm -rf ~/.next-devtools-mcp

疑難排解

ERR_MODULE_NOT_FOUND 參照 next-devtools-mcp/dist — 清除您的 npx 快取並重新啟動 MCP 客戶端。伺服器會全新重新安裝。

[error] No server info foundnextjs_index / nextjs_call 需要一個正在執行的 Next.js 16+ 開發伺服器:

  1. 啟動它:npm run dev
  2. 確認 Next.js 16+(/_next/mcp 端點僅存在於此版本)
  3. 驗證它已啟動且無錯誤

browser_evalnextjs_docs 無需開發伺服器即可運作。

本機開發

git clone https://github.com/vercel/next-devtools-mcp.git
cd next-devtools-mcp
pnpm install
pnpm build

將您的 MCP 客戶端指向本機建置:

{
  "mcpServers": {
    "next-devtools": {
      "command": "node",
      "args": ["/absolute/path/to/next-devtools-mcp/dist/index.js"]
    }
  }
}

或使用 Codex:

codex mcp add next-devtools-local -- node dist/index.js

請參閱 Next.js MCP 文件,了解 MCP 如何與 Next.js 和編碼代理搭配運作。

授權

MIT