vercel/next.js · error

Not found. MCP endpoint is at /mcp

Error message

Not found. MCP endpoint is at /mcp

What it means

The turbo-trace-server's HTTP handler responds 404 with this text for any request whose URL is not /mcp; the internal trace server exposes only the MCP (Streamable HTTP) endpoint, so every other path is deliberately rejected.

Source

Thrown at packages/next/src/cli/internal/turbo-trace-server.ts:238

        md += '_No spans found._\n'
      }

      for (const span of spans) {
        md += renderSpanMarkdown(span)
      }

      if (page < totalPages) {
        md += `Use \`page=${page + 1}\` to see more results.\n`
      }

      return { content: [{ type: 'text', text: md }] }
    }
  )

  // Start the HTTP server for MCP (served at /mcp).
  const server = http.createServer(async (req, res) => {
    if (req.url !== '/mcp') {
      res.writeHead(404, { 'Content-Type': 'text/plain' })
      res.end('Not found. MCP endpoint is at /mcp\n')
      return
    }
    const transport = new StreamableHTTPServerTransport({
      sessionIdGenerator: undefined,
    })
    try {
      res.on('close', () => transport.close())
      await mcpServer.connect(transport)
      let body = ''
      req.setEncoding('utf8')
      await new Promise<void>((resolve, reject) => {
        req.on('data', (chunk: string) => {
          body += chunk
        })
        req.on('end', resolve)
        req.on('error', reject)
      })

View on GitHub (pinned to 0eb3775416)

Solutions

  1. Point your MCP client at the /mcp endpoint of the trace server instead of the requested path.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at packages/next/src/cli/internal/turbo-trace-server.ts:238 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of vercel/next.js@0eb3775416 (2026-08-19). Data as JSON: /api/errors/bd9514b82462d37b. Report an issue: GitHub.