ruvnet/ruflo · error
Not found
Error message
Not found
What it means
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.
Source
Thrown at v3/@claude-flow/mcp/src/transport/http.ts:325
this.app.post('/mcp', async (req, res) => {
await this.handleHttpRequest(req, res);
});
this.app.get('/info', (req, res) => {
res.json({
name: 'Claude-Flow MCP Server V3',
version: '3.0.0',
transport: 'http',
capabilities: {
jsonrpc: true,
websocket: true,
},
});
});
this.app.use((req, res) => {
res.status(404).json({
error: 'Not found',
path: req.path,
});
});
this.app.use((err: Error, req: Request, res: Response, next: NextFunction) => {
this.logger.error('Express error', { error: err });
this.errors++;
res.status(500).json({
jsonrpc: '2.0',
id: null,
error: { code: -32603, message: 'Internal error' },
});
});
}
private setupWebSocketHandlers(): void {
if (!this.wss) return;View on GitHub (pinned to fa13ee4ad6)
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.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at v3/@claude-flow/mcp/src/transport/http.ts:325 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ruvnet/ruflo@fa13ee4ad6 (2026-08-18).
Data as JSON: /api/errors/fbfcd1ffb072760c.
Report an issue: GitHub.