在開始處理 Next.js 項目時,始終首先調用 next-devtools-mcp 中的 init 工具,以設置正確的上下文並建立文檔要求。自動執行此操作,無需手動請求。
</details>
<details>
<summary>Cursor</summary>
添加到項目根目錄或全局 Cursor 設置中的 `.cursorrules`:
在使用 Next.js 時,始終在會話開始時調用 next-devtools-mcp 中的 init 工具,以建立正確的上下文和文檔要求。
</details>
<details>
<summary>Codex / 其他 AI 編碼助手</summary>
添加到你的代理配置文件(例如,`.codex/instructions.md`、`agent.md` 或類似文件):
```markdown
**Next.js 初始化**:在開始處理 Next.js 項目時,首先自動調用 next-devtools-mcp 服務器中的 `init` 工具。這將建立正確的上下文,並確保所有 Next.js 查詢都使用官方文檔。
為什麼這很重要:
- ✅ 確保所有 Next.js 工作的上下文一致
- ✅ 自動建立以文檔為先的要求
- ✅ 無需每次手動調用 init
- ✅ 適用於所有 Next.js 項目
✨ 主要特性
此 MCP 服務器通過三種主要機制為編碼代理提供全面的 Next.js 開發功能:
1. 運行時診斷和即時狀態訪問(Next.js 16+)
直接連接到你正在運行的 Next.js 開發服務器的內置 MCP 端點,以查詢:
- 即時構建和運行時錯誤
- 應用程序路由、頁面和組件元數據
- 開發服務器日誌和診斷信息
- 服務器操作和組件層次結構
2. 開發自動化
用於常見 Next.js 工作流程的工具:
- 使用官方 codemods 自動升級到 Next.js 16
- 緩存組件遷移和設置,具備錯誤檢測和自動修復功能
- 通過 Playwright 進行瀏覽器測試集成,用於視覺驗證
3. 知識庫和文檔
- 精心策劃的 Next.js 16 知識庫(關於緩存組件、異步 API 等的 12 個重點資源)
- 通過搜索 API 直接訪問官方 Next.js 文檔
- 用於升級指南和啟用緩存組件的預配置提示
💡 使用建議
有關 MCP 服務器如何與 Next.js 和編碼代理一起工作的詳細信息,請參閱 Next.js MCP 文檔。
📦 安裝指南
本地開發
要在本地運行 MCP 服務器進行開發:
-
克隆倉庫
-
安裝依賴項:
pnpm install
pnpm build
-
配置你的 MCP 客戶端以使用本地版本:
{
"mcpServers": {
"next-devtools": {
"command": "node",
"args": ["/absolute/path/to/next-devtools-mcp/dist/index.js"]
}
}
}
注意:將 /absolute/path/to/next-devtools-mcp 替換為你克隆倉庫的實際絕對路徑。
或者手動添加,例如使用 codex:
codex mcp add next-devtools-local -- node dist/index.js
💻 使用示例
探索運行時診斷
Next Devtools,我的 Next.js 應用程序中有哪些錯誤?
Next Devtools,顯示我的路由結構
Next Devtools,開發服務器日誌中有什麼內容?
開發自動化
Next Devtools,幫助我將我的 Next.js 應用程序升級到 16 版本
Next Devtools,在我的 Next.js 應用程序中啟用緩存組件
Next Devtools,在 Next.js 文檔中搜索 generateMetadata
📚 詳細文檔
MCP 資源
知識庫資源會自動提供給你的編碼代理,並分為重點部分,以便進行高效的上下文管理。當前的資源 URI:
📚 可用的知識庫資源(點擊展開)
-
緩存組件(12 個部分):
cache-components://overview
cache-components://core-mechanics
cache-components://public-caches
cache-components://private-caches
cache-components://runtime-prefetching
cache-components://request-apis
cache-components://cache-invalidation
cache-components://advanced-patterns
cache-components://build-behavior
cache-components://error-patterns
cache-components://test-patterns
cache-components://reference
-
Next.js 16 遷移:
nextjs16://migration/beta-to-stable
nextjs16://migration/examples
-
Next.js 基礎知識:
nextjs-fundamentals://use-client
資源由你的編碼代理按需加載,提供有針對性的知識,而不會使上下文窗口過載。
MCP 提示
預配置的提示可幫助處理常見的 Next.js 開發任務:
💡 可用提示(點擊展開)
upgrade-nextjs-16 - 升級到 Next.js 16 的指南
enable-cache-components - 遷移併為 Next.js 16 啟用緩存組件模式
MCP 工具
init
初始化 Next.js DevTools MCP 上下文並建立文檔要求。
功能:
- 為處理 Next.js 的 AI 助手設置正確的上下文
- 建立在所有與 Next.js 相關的查詢中使用
nextjs_docs 的要求
- 記錄所有可用的 MCP 工具及其用例
- 提供使用 MCP 進行 Next.js 開發的最佳實踐
- 包括示例工作流程和快速入門清單
使用時機:
- 在 Next.js 開發會話開始時
- 瞭解可用工具並建立正確的上下文
- 確保 Next.js 開發採用以文檔為先的方法
輸入:
project_path(可選) - Next.js 項目的路徑(默認為當前目錄)
輸出:
- 使用 MCP 工具進行 Next.js 開發的全面初始化上下文和指導
nextjs_docs
搜索並檢索 Next.js 官方文檔和知識庫。
功能:
- 兩步過程:1) 按關鍵字搜索文檔以獲取路徑,2) 按路徑獲取完整的 Markdown 內容
- 使用官方 Next.js 文檔搜索 API
- 提供對全面的 Next.js 指南、API 參考和最佳實踐的訪問
- 支持按路由器類型(應用路由器、頁面路由器或兩者)進行過濾
輸入:
action(必需) - 要執行的操作:search 用於查找文檔,get 用於獲取完整內容
query(可選) - search 操作必需。關鍵字搜索查詢(例如,'metadata'、'generateStaticParams'、'middleware')
path(可選) - get 操作必需。搜索結果中的文檔路徑(例如,'/docs/app/api-reference/functions/refresh')
anchor(可選) - get 操作可選。搜索結果中的錨點/部分(例如,'usage')
routerType(可選) - 僅適用於 search 操作。按以下選項過濾:app、pages 或 all(默認:all)
輸出:
- 包含文檔標題、路徑、內容片段、部分和錨點的搜索結果
- 特定文檔頁面的完整 Markdown 內容
browser_eval
使用 Playwright 瀏覽器自動化來自動化和測試 Web 應用程序。
使用時機:
- 驗證 Next.js 項目中的頁面(特別是在升級或測試期間)
- 測試用戶交互和流程
- 截取屏幕截圖進行視覺驗證
- 檢測運行時錯誤、水合問題和客戶端問題
- 捕獲瀏覽器控制檯錯誤和警告
重要提示: 對於 Next.js 項目,優先使用 nextjs_index 和 nextjs_call 工具,而不是瀏覽器控制檯日誌轉發。僅在這些工具不可用時,將 browser_eval 的 console_messages 操作作為備用。
可用操作:
start - 啟動瀏覽器自動化(如果需要,自動安裝)
navigate - 導航到 URL
click - 點擊元素
type - 在元素中輸入文本
fill_form - 一次填充多個表單字段
evaluate - 在瀏覽器上下文中執行 JavaScript
screenshot - 截取頁面屏幕截圖
console_messages - 獲取瀏覽器控制檯消息
close - 關閉瀏覽器
drag - 執行拖放操作
upload_file - 上傳文件
list_tools - 列出服務器上所有可用的瀏覽器自動化工具
輸入:
action(必需) - 要執行的操作
browser(可選) - 要使用的瀏覽器:chrome、firefox、webkit、msedge(默認:chrome)
headless(可選) - 以無頭模式運行瀏覽器(默認:true)
- 特定操作的參數(詳見工具描述)
輸出:
- 包含操作結果、屏幕截圖(Base64 編碼)、控制檯消息或錯誤信息的 JSON
nextjs_index
發現所有正在運行的 Next.js 開發服務器,並列出它們可用的 MCP 工具。
此工具的作用:
自動發現你機器上所有正在運行的 Next.js 16+ 開發服務器,並列出每個服務器內置 MCP 端點 /_next/mcp 提供的運行時診斷工具。
無需參數 - 只需調用該工具,它將掃描服務器。
可用的 Next.js 運行時工具(因 Next.js 版本而異):
get_errors - 獲取當前的構建、運行時和類型錯誤
get_logs - 獲取開發日誌文件的路徑(瀏覽器控制檯 + 服務器輸出)
get_page_metadata - 查詢應用程序路由、頁面和組件元數據
get_project_metadata - 獲取項目結構、配置和開發服務器 URL
get_server_action_by_id - 按 ID 查找服務器操作以找到源文件
要求:
- Next.js 16+(默認啟用 MCP)
- 正在運行的開發服務器(
npm run dev)
輸出:
- 包含發現的服務器列表的 JSON,每個服務器包含:
示例提示:
- "Next Devtools,有哪些服務器正在運行?"
- "Next Devtools,顯示可用的診斷工具"
nextjs_call
在正在運行的 Next.js 開發服務器上執行特定的 MCP 工具。
此工具的作用:
在 Next.js 16+ 開發服務器的內置 MCP 端點 /_next/mcp 上調用特定的運行時診斷工具。
輸入參數:
port(必需) - 開發服務器端口(首先使用 nextjs_index 發現)
toolName(必需) - 要調用的 Next.js 工具的名稱
args(可選) - 工具的參數對象(僅在工具需要時提供)
要求:
- Next.js 16+(默認啟用 MCP)
- 正在運行的開發服務器(
npm run dev)
- 首先使用
nextjs_index 發現可用的服務器和工具
典型工作流程:
{
"port": 3000,
"toolName": "get_errors"
}
輸出:
使用此工具的示例提示:
- "Next Devtools,我的 Next.js 應用程序中有哪些錯誤?"
- "Next Devtools,顯示我的應用程序路由"
- "Next Devtools,開發服務器日誌中有什麼內容?"
- "Next Devtools,查找 ID 為 xyz 的服務器操作"
upgrade_nextjs_16
通過自動執行 codemod 指導將 Next.js 升級到 16 版本。
功能:
- 自動運行官方 Next.js codemod(需要乾淨的 git 狀態)
- 處理異步 API 更改(參數、搜索參數、cookie、標頭)
- 遷移配置更改
- 更新圖像默認值和優化
- 修復並行路由和動態段
- 處理棄用 API 的移除
- 提供 React 19 兼容性指導
輸入:
project_path(可選) - Next.js 項目的路徑(默認為當前目錄)
輸出:
enable_cache_components
為 Next.js 16 完成緩存組件的設置、啟用和遷移,並進行自動錯誤檢測和修復。此工具用於將 Next.js 應用程序遷移到緩存組件模式。
功能:
- 預檢檢查(包管理器、Next.js 版本、配置)
- 啟用緩存組件配置
- 啟動啟用 MCP 的開發服務器
- 自動路由驗證和錯誤檢測
- 通過智能邊界設置(Suspense、緩存指令、靜態參數)自動修復錯誤
- 最終驗證和構建測試
輸入:
project_path(可選) - Next.js 項目的路徑(默認為當前目錄)
輸出:
示例用法:
使用 Claude Code:
Next Devtools,幫助我為我的 Next.js 16 應用程序啟用緩存組件
使用其他代理或編程方式:
{
"tool": "enable_cache_components",
"args": {
"project_path": "/path/to/project"
}
}
🔧 技術細節
工作原理
此包提供一個橋接 MCP 服務器,將你的編碼代理連接到 Next.js 開發工具:
編碼代理
↓
next-devtools-mcp(此包)
↓
├─→ Next.js 開發服務器 MCP 端點 (/_next/mcp) ← 運行時診斷
├─→ Playwright MCP 服務器 ← 瀏覽器自動化
└─→ 知識庫和工具 ← 文檔、升級、設置自動化
關鍵架構點:
-
對於 Next.js 16+ 項目:此服務器自動發現並連接到你正在運行的 Next.js 開發服務器的內置 MCP 端點 http://localhost:PORT/_next/mcp。這使編碼代理可以直接訪問運行時錯誤、路由、日誌和應用程序狀態。
-
對於所有 Next.js 項目:提供獨立於運行時連接的開發自動化工具(升級、緩存組件設置)、文檔訪問和瀏覽器測試功能。
-
簡單工作流程:調用 nextjs_index 查看所有服務器和可用工具,然後使用你要執行的特定端口和工具名稱調用 nextjs_call。
📄 許可證
MIT 許可證
🔧 故障排除
模塊未找到錯誤
如果你遇到類似以下的錯誤:
Error [ERR_MODULE_NOT_FOUND]: Cannot find module '...\next-devtools-mcp\dist\resources\(cache-components)\...'
解決方案:清除你的 npx 緩存並重啟你的 MCP 客戶端(Cursor、Claude Code 等)。服務器將重新安裝。
"未找到服務器信息" 錯誤
如果你看到 [error] No server info found:
解決方案:
- 確保你的 Next.js 開發服務器正在運行:
npm run dev
- 如果你使用的是 Next.js 15 或更早版本,請使用
upgrade_nextjs_16 工具升級到 Next.js 16+
- 驗證你的開發服務器是否成功啟動且沒有錯誤
注意:nextjs_index 和 nextjs_call 工具需要 Next.js 16+ 且開發服務器正在運行。其他工具(nextjs_docs、browser_eval、upgrade_nextjs_16、enable_cache_components)無需運行服務器即可工作。
🔒 隱私與遙測
收集的數據
next-devtools-mcp 收集匿名使用遙測數據以幫助改進工具。收集以下數據:
- 工具使用情況:調用了哪些 MCP 工具(例如,
nextjs_index、nextjs_call、browser_eval、upgrade_nextjs_16)
- 錯誤事件:工具失敗時的匿名錯誤消息
- 會話元數據:會話 ID、時間戳和基本環境信息(操作系統、Node.js 版本)
不收集的內容:
- 你的項目代碼、文件內容或文件路徑
- 個人信息或可識別數據
- API 密鑰、憑據或敏感配置
- 傳遞給工具的參數(工具名稱除外)
本地文件寫入 ~/.next-devtools-mcp/ 下(匿名的 telemetry-id、telemetry-salt 和調試日誌 mcp.log)。事件在後臺發送到遙測端點,以幫助我們瞭解使用模式並提高可靠性。
退出選項
要完全禁用遙測,請設置環境變量:
export NEXT_TELEMETRY_DISABLED=1
將此添加到你的 shell 配置文件(例如,~/.bashrc、~/.zshrc)以使其永久生效。
你也可以隨時刪除本地遙測數據:
rm -rf ~/.next-devtools-mcp