{"version":3,"sources":["../../../../src/server/mcp/get-or-create-mcp-server.ts"],"sourcesContent":["import { McpServer } from 'next/dist/compiled/@modelcontextprotocol/sdk/server/mcp'\nimport { registerGetProjectMetadataTool } from './tools/get-project-metadata'\nimport { registerGetErrorsTool } from './tools/get-errors'\nimport { registerGetPageMetadataTool } from './tools/get-page-metadata'\nimport { registerGetLogsTool } from './tools/get-logs'\nimport { registerGetActionByIdTool } from './tools/get-server-action-by-id'\nimport { registerGetRoutesTool } from './tools/get-routes'\nimport { registerGetCompilationIssuesTool } from './tools/get-compilation-issues'\nimport { registerCompileRouteTool } from './tools/compile-route'\nimport { registerGetRequestInsightsTool } from './tools/get-request-insights'\nimport type { HmrMessageSentToBrowser } from '../dev/hot-reloader-types'\nimport type { NextConfigComplete } from '../config-shared'\nimport type { Project } from '../../build/swc/types'\nimport type { FormattedIssue } from './tools/utils/format-compilation-issues'\n\nexport interface McpServerOptions {\n  projectPath: string\n  distDir: string\n  nextConfig: NextConfigComplete\n  pagesDir: string | undefined\n  appDir: string | undefined\n  sendHmrMessage: (message: HmrMessageSentToBrowser) => void\n  getActiveConnectionCount: () => number\n  getDevServerUrl: () => string | undefined\n  getTurbopackProject?: () => Project | undefined\n  compileRoute?: (opts: {\n    routeSpecifier?: string\n    path?: string\n  }) => Promise<{ routeSpecifier: string; issues: FormattedIssue[] }>\n}\n\nlet mcpServer: McpServer | undefined\n\nexport const getOrCreateMcpServer = (options: McpServerOptions) => {\n  if (mcpServer) {\n    return mcpServer\n  }\n\n  mcpServer = new McpServer({\n    name: 'Next.js MCP Server',\n    version: '0.2.0',\n  })\n\n  registerGetProjectMetadataTool(\n    mcpServer,\n    options.projectPath,\n    options.getDevServerUrl\n  )\n  registerGetErrorsTool(\n    mcpServer,\n    options.sendHmrMessage,\n    options.getActiveConnectionCount\n  )\n  registerGetPageMetadataTool(\n    mcpServer,\n    options.sendHmrMessage,\n    options.getActiveConnectionCount\n  )\n  registerGetLogsTool(mcpServer, options.distDir)\n  registerGetActionByIdTool(mcpServer, options.distDir)\n  registerGetRoutesTool(mcpServer, {\n    projectPath: options.projectPath,\n    nextConfig: options.nextConfig,\n    pagesDir: options.pagesDir,\n    appDir: options.appDir,\n  })\n  registerGetRequestInsightsTool(mcpServer)\n\n  if (options.getTurbopackProject) {\n    registerGetCompilationIssuesTool(mcpServer, options.getTurbopackProject)\n  }\n\n  if (options.compileRoute) {\n    registerCompileRouteTool(mcpServer, options.compileRoute)\n  }\n\n  return mcpServer\n}\n"],"names":["McpServer","registerGetProjectMetadataTool","registerGetErrorsTool","registerGetPageMetadataTool","registerGetLogsTool","registerGetActionByIdTool","registerGetRoutesTool","registerGetCompilationIssuesTool","registerCompileRouteTool","registerGetRequestInsightsTool","mcpServer","getOrCreateMcpServer","options","name","version","projectPath","getDevServerUrl","sendHmrMessage","getActiveConnectionCount","distDir","nextConfig","pagesDir","appDir","getTurbopackProject","compileRoute"],"mappings":"AAAA,SAASA,SAAS,QAAQ,0DAAyD;AACnF,SAASC,8BAA8B,QAAQ,+BAA8B;AAC7E,SAASC,qBAAqB,QAAQ,qBAAoB;AAC1D,SAASC,2BAA2B,QAAQ,4BAA2B;AACvE,SAASC,mBAAmB,QAAQ,mBAAkB;AACtD,SAASC,yBAAyB,QAAQ,kCAAiC;AAC3E,SAASC,qBAAqB,QAAQ,qBAAoB;AAC1D,SAASC,gCAAgC,QAAQ,iCAAgC;AACjF,SAASC,wBAAwB,QAAQ,wBAAuB;AAChE,SAASC,8BAA8B,QAAQ,+BAA8B;AAsB7E,IAAIC;AAEJ,OAAO,MAAMC,uBAAuB,CAACC;IACnC,IAAIF,WAAW;QACb,OAAOA;IACT;IAEAA,YAAY,IAAIV,UAAU;QACxBa,MAAM;QACNC,SAAS;IACX;IAEAb,+BACES,WACAE,QAAQG,WAAW,EACnBH,QAAQI,eAAe;IAEzBd,sBACEQ,WACAE,QAAQK,cAAc,EACtBL,QAAQM,wBAAwB;IAElCf,4BACEO,WACAE,QAAQK,cAAc,EACtBL,QAAQM,wBAAwB;IAElCd,oBAAoBM,WAAWE,QAAQO,OAAO;IAC9Cd,0BAA0BK,WAAWE,QAAQO,OAAO;IACpDb,sBAAsBI,WAAW;QAC/BK,aAAaH,QAAQG,WAAW;QAChCK,YAAYR,QAAQQ,UAAU;QAC9BC,UAAUT,QAAQS,QAAQ;QAC1BC,QAAQV,QAAQU,MAAM;IACxB;IACAb,+BAA+BC;IAE/B,IAAIE,QAAQW,mBAAmB,EAAE;QAC/BhB,iCAAiCG,WAAWE,QAAQW,mBAAmB;IACzE;IAEA,IAAIX,QAAQY,YAAY,EAAE;QACxBhB,yBAAyBE,WAAWE,QAAQY,YAAY;IAC1D;IAEA,OAAOd;AACT,EAAC","ignoreList":[0]}