在开始处理 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