Back to MCP directory
publicPublicdnsLocal runtime

next-devtools-mcp

Next.js开发工具MCP服务器,为Claude、Cursor等AI编程助手提供Next.js开发工具和实用程序,包括运行时诊断、开发自动化和文档访问功能。

article

README

在开始处理 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 服务器进行开发:

  1. 克隆仓库

  2. 安装依赖项:

    pnpm install
    pnpm build
    
  3. 配置你的 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 操作。按以下选项过滤:apppagesall(默认:all

输出:

  • 包含文档标题、路径、内容片段、部分和锚点的搜索结果
  • 特定文档页面的完整 Markdown 内容
browser_eval

使用 Playwright 浏览器自动化来自动化和测试 Web 应用程序。

使用时机:

  • 验证 Next.js 项目中的页面(特别是在升级或测试期间)
  • 测试用户交互和流程
  • 截取屏幕截图进行视觉验证
  • 检测运行时错误、水合问题和客户端问题
  • 捕获浏览器控制台错误和警告

重要提示: 对于 Next.js 项目,优先使用 nextjs_indexnextjs_call 工具,而不是浏览器控制台日志转发。仅在这些工具不可用时,将 browser_evalconsole_messages 操作作为备用。

可用操作:

  • start - 启动浏览器自动化(如果需要,自动安装)
  • navigate - 导航到 URL
  • click - 点击元素
  • type - 在元素中输入文本
  • fill_form - 一次填充多个表单字段
  • evaluate - 在浏览器上下文中执行 JavaScript
  • screenshot - 截取页面屏幕截图
  • console_messages - 获取浏览器控制台消息
  • close - 关闭浏览器
  • drag - 执行拖放操作
  • upload_file - 上传文件
  • list_tools - 列出服务器上所有可用的浏览器自动化工具

输入:

  • action(必需) - 要执行的操作
  • browser(可选) - 要使用的浏览器:chromefirefoxwebkitmsedge(默认: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,每个服务器包含:
    • 端口、PID、URL
    • 可用工具及其描述和输入模式

示例提示:

  • "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 发现可用的服务器和工具

典型工作流程:

// 步骤 1:发现服务器和工具
// (首先调用 nextjs_index)

// 步骤 2:调用特定工具
{
  "port": 3000,
  "toolName": "get_errors"
  // args 是可选的,仅在工具需要参数时需要
}

输出:

  • 包含工具执行结果的 JSON

使用此工具的示例提示:

  • "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 项目的路径(默认为当前目录)

输出:

  • 包含逐步升级指导的结构化 JSON
enable_cache_components

为 Next.js 16 完成缓存组件的设置、启用和迁移,并进行自动错误检测和修复。此工具用于将 Next.js 应用程序迁移到缓存组件模式。

功能:

  • 预检检查(包管理器、Next.js 版本、配置)
  • 启用缓存组件配置
  • 启动启用 MCP 的开发服务器
  • 自动路由验证和错误检测
  • 通过智能边界设置(Suspense、缓存指令、静态参数)自动修复错误
  • 最终验证和构建测试

输入:

  • project_path(可选) - Next.js 项目的路径(默认为当前目录)

输出:

  • 包含完整设置指导和分阶段说明的结构化 JSON

示例用法:

使用 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 服务器 ← 浏览器自动化
      └─→ 知识库和工具 ← 文档、升级、设置自动化

关键架构点:

  1. 对于 Next.js 16+ 项目:此服务器自动发现并连接到你正在运行的 Next.js 开发服务器的内置 MCP 端点 http://localhost:PORT/_next/mcp。这使编码代理可以直接访问运行时错误、路由、日志和应用程序状态。

  2. 对于所有 Next.js 项目:提供独立于运行时连接的开发自动化工具(升级、缓存组件设置)、文档访问和浏览器测试功能。

  3. 简单工作流程:调用 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

解决方案

  1. 确保你的 Next.js 开发服务器正在运行:npm run dev
  2. 如果你使用的是 Next.js 15 或更早版本,请使用 upgrade_nextjs_16 工具升级到 Next.js 16+
  3. 验证你的开发服务器是否成功启动且没有错误

注意nextjs_indexnextjs_call 工具需要 Next.js 16+ 且开发服务器正在运行。其他工具(nextjs_docsbrowser_evalupgrade_nextjs_16enable_cache_components)无需运行服务器即可工作。

🔒 隐私与遥测

收集的数据

next-devtools-mcp 收集匿名使用遥测数据以帮助改进工具。收集以下数据:

  • 工具使用情况:调用了哪些 MCP 工具(例如,nextjs_indexnextjs_callbrowser_evalupgrade_nextjs_16
  • 错误事件:工具失败时的匿名错误消息
  • 会话元数据:会话 ID、时间戳和基本环境信息(操作系统、Node.js 版本)

不收集的内容

  • 你的项目代码、文件内容或文件路径
  • 个人信息或可识别数据
  • API 密钥、凭据或敏感配置
  • 传递给工具的参数(工具名称除外)

本地文件写入 ~/.next-devtools-mcp/ 下(匿名的 telemetry-idtelemetry-salt 和调试日志 mcp.log)。事件在后台发送到遥测端点,以帮助我们了解使用模式并提高可靠性。

退出选项

要完全禁用遥测,请设置环境变量:

export NEXT_TELEMETRY_DISABLED=1

将此添加到你的 shell 配置文件(例如,~/.bashrc~/.zshrc)以使其永久生效。

你也可以随时删除本地遥测数据:

rm -rf ~/.next-devtools-mcp
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client