🔥

Next.js v16でエラー修正が爆速になる!

に公開

本記事のサマリ

Next.js v16で導入されたMCP(Model Context Protocol)統合により、AIがアプリケーションのランタイム情報やエラー詳細に直接アクセスできるようになりました。従来のLLMによる一般的なデバッグアドバイスから、実際の実行状態に基づいた具体的な支援へと、開発体験が大きく変わる転換点となる機能です。

MCPとは何か、そしてなぜNext.jsに統合されたのか

MCP(Model Context Protocol)は、LLMが外部システムとやり取りするための標準的な仕組みです。これまでAIアシスタントに「エラーが出ているんだけど」と相談しても、コードを見せない限り一般論しか返ってきませんでした。

Next.js v16では開発サーバーが /_next/mcp エンドポイントを提供し、AIが直接アプリケーションの状態を参照できるようになります。実際に bun run dev でサーバーを起動すると、このエンドポイントが自動的に有効になっているのが確認できます。

/_next/mcpエンドポイントの確認

CursorでのMCP設定

実際にCursorでNext.jsのMCP機能を使ってみましょう。設定は非常にシンプルで、Cursorの設定ファイルに以下を追加するだけです:

{
  "next-devtools": {
    "command": "bunx",
    "args": ["-y", "next-devtools-mcp"]
  }
}

設定後、Cursor画面右下に接続状態が表示され、Next.jsが提供するツールとリソースが利用可能になります。

MCP設定後のAI回答と具体的なエラー情報

Next.jsが提供するMCPリソース

Next.jsのMCP統合では、以下のような知識ベース系リソースが提供されています:

  • Next.js 16 Overview
  • Core Mechanics
  • Public Caches / Private Caches
  • Runtime Prefetching
  • Error Patterns
  • Real Test-Driven Patterns
  • Understanding 'use client' Directive
  • Dynamic vs Static Rendering
  • Next.js 16 Beta to Stable Migration

これらのリソースにより、LLMはNext.js v16の最新仕様やベストプラクティスに基づいた回答ができるようになります!単なる一般的な知識ではなく、v16固有の挙動や推奨パターンを踏まえたアドバイスが期待できるわけですね👍

提供される実用的なツール群

リソースだけでなく、AIが実際に実行できるツールも複数提供されています。特に注目すべきは以下の5つです:

nextjs_runtime

これが最も強力なツールだと思います!
アプリケーションのランタイム情報に直接アクセスし、実際に発生しているエラーの詳細を取得できます。従来は開発者がブラウザのコンソールやターミナルを見て、そのエラー内容をAIに伝える必要がありましたが、このツールによりAI自身がエラー状況を把握できるようになります。

nextjs_docs

Next.js公式ドキュメントを検索し、最新の情報を取得します。MCPリソースとして提供されているNext.js 16の知識ベースとも連携し、より的確にドキュメント参照が可能になります。

browser_eval

Playwrightブラウザ自動化との連携により、実際のブラウザでの動作テストやデバッグ操作を実行できます。

upgrade_nextjs_16

v16へのマイグレーション支援を行います。既存プロジェクトの自動修正やアップグレードガイダンスを提供し、移行作業をサポートします。

enable_cache_components

Next.js 16で導入されたCache Componentsの設定を完全にサポートします。有効化から検証まで一貫した支援が受けられます。
(Cache Componentsについては今度記事にしたい)

実際のデバッグ体験の変化

実際に違いを体感するため、意図的にJSXエラーを作成してみました。page.tsxでシンプルなタグ閉じ忘れでエラーを出しておきます。

<div className="flex flex-col items-center gap-6 text-center sm:items-start sm:text-left">
  <div
    <h1 className="max-w-xs text-3xl font-semibold leading-10 tracking-tight text-black dark:text-zinc-50">
      To get started, edit the page.tsx file.
    </h1>

MCP設定前の挙動

「Next.jsのruntimeに出ているエラーを見せて」と質問すると、一般的なNext.jsエラーパターンについての説明が返ってきます。AI君は実際のアプリケーション状態を知らないため、推測に基づいたアドバイスしかできません。

MCP設定前のAI回答

MCP設定後の挙動

MCP設定後に同じ質問をすると、今回のアプデで武器を手に入れたAI君は nextjs_runtime ツールを実行し、具体的なエラー情報を取得してくれます!✨

CursorでのMCP接続状態

出力を見ると、以下のような具体的な情報が構造化された形で提供されていることがわかります:

  • 16行目でJSX構文エラーが発生している
  • 17行目の <h1> タグが不正な位置に配置されている
  • <div> タグが未閉じのまま残っている
  • ファイルパスや行番号まで正確に特定されている

これにより、「おそらくこういうエラーでは?」ではなく「実際にこのエラーが出ています」という確実な情報をもとに回答できるようになります。

まとめと今後の展望

従来は「エラーが出た→ターミナルやブラウザコンソールを確認→エラー内容をコピー→AIに貼り付けて相談」という手順でしたが、MCPにより「AIが直接エラー状況を把握→的確な修正提案」という流れが実現します。

特に複雑なアプリケーションでは、エラーメッセージが長大だったり、複数箇所で同時にエラーが発生していたりして、全体像を把握するだけでも時間がかかります。MCPがあることで、CursorやClaude・Codexが開発者と同じ情報にアクセスでき、より実践的かつ具体的なアドバイスを提供できるようになるわけです。

「エラーを見せて」と一言伝えるだけで、AI君が自らruntimeエラーを取得して分析・修正してくれるならより自律的に実装してくれるに違いありません!期待してるよAI君!

設定も比較的簡単なので、Next.js v16を使っている方はぜひ一度試してみてくださいね。実際のデバッグ効率の向上を体感できるはずです。

株式会社StellarCreate | Tech blog📚

Discussion