{"record":{"id":"fbfcd1ffb072760c","repo":"ruvnet/ruflo","slug":"not-found","errorCode":null,"errorMessage":"Not found","messagePattern":"Not found","errorType":"http","errorClass":null,"httpStatus":404,"severity":"error","filePath":"v3/@claude-flow/mcp/src/transport/http.ts","lineNumber":325,"sourceCode":"\n    this.app.post('/mcp', async (req, res) => {\n      await this.handleHttpRequest(req, res);\n    });\n\n    this.app.get('/info', (req, res) => {\n      res.json({\n        name: 'Claude-Flow MCP Server V3',\n        version: '3.0.0',\n        transport: 'http',\n        capabilities: {\n          jsonrpc: true,\n          websocket: true,\n        },\n      });\n    });\n\n    this.app.use((req, res) => {\n      res.status(404).json({\n        error: 'Not found',\n        path: req.path,\n      });\n    });\n\n    this.app.use((err: Error, req: Request, res: Response, next: NextFunction) => {\n      this.logger.error('Express error', { error: err });\n      this.errors++;\n      res.status(500).json({\n        jsonrpc: '2.0',\n        id: null,\n        error: { code: -32603, message: 'Internal error' },\n      });\n    });\n  }\n\n  private setupWebSocketHandlers(): void {\n    if (!this.wss) return;","sourceCodeStart":307,"sourceCodeEnd":343,"githubUrl":"https://github.com/ruvnet/ruflo/blob/fa13ee4ad60ac2090b1480656eb233521790d640/v3/@claude-flow/mcp/src/transport/http.ts#L307-L343","documentation":"Express fell through to the catch-all middleware: the request path matched no registered route (/rpc, /mcp, /info, /health). The 404 echoes the offending path; it is a routing guard, typically caused by a wrong base URL or old client expecting a different endpoint name.","triggerScenarios":"Thrown at v3/@claude-flow/mcp/src/transport/http.ts:325 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the referenced identifier exists before use (list available items and match against user input).","Return a clear 404-style error listing valid identifiers, and have the caller retry with an existing id."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fa13ee4ad60ac2090b1480656eb233521790d640","analyzedAt":"2026-08-18T21:34:22.708Z","contentChangedAt":"2026-08-18T21:34:22.708Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}