Refactored FastMCP Server for Docker with HTTP Streaming, Redis Task Queue and improved tooling
The server defines 3 tools with mixed quality. All three tools have input schemas visible in the source code (debugContext.tool.ts, longProcess.tool.ts, synchronousExample.tool.ts), but descriptions are generic and lack LLM-optimization guidance. Tool names do not follow verb_noun convention (e.g., 'correctDebugContextTool' should be 'debug_context', 'asynchronousTaskSimulatorEnhanced' should be 'simulate_async_task'). Parameters have type definitions and brief descriptions, but descriptions lack context on WHEN to use each tool or HOW the output chains to other tools. Error handling is not visible in the provided source snippets. Output schemas are not documented. Tool names are excessively long and use camelCase instead of snake_case, making them harder for LLMs to parse.
Simulateur de tâche longue asynchrone.
Affiche le contexte d'authentification et de session.
Exemple d'outil synchrone.
Tool names violate verb_noun convention and use camelCase instead of snake_case. Names like 'correctDebugContextTool' should be 'debug_context' or 'get_debug_context'. Baseline: 90% of A+ tools start with an action verb; all use snake_case. LLMs struggle to parse camelCase tool names.
Tool descriptions are generic and lack context. 'Affiche le contexte d'authentification et de session' (in French, not English) does not explain WHEN to call this tool, what it returns, or how it chains to other tools. Baseline: A+ tools average 194 chars and explicitly state WHAT, WHEN, and WHAT IT RETURNS.
Output schemas are not documented. The source code does not show what these tools return or what structure LLMs should expect. Without documented return types, LLMs cannot plan downstream calls or extract the right data. Baseline: 100% of A+ tools have documented return types.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 41 | - | v1 |
Parameter descriptions are minimal. 'Duration in milliseconds (min: 100, max: 30000)' is clear for durationMs, but others like 'Optional message parameter' lack guidance on what the message should contain or how it affects execution.
Tool descriptions are in French, but code, package names, and comments are in English. Inconsistent language makes integration harder for English-speaking agent teams.
No error handling guidance visible. The source snippet for debugContext.tool.ts is truncated, but no error messages or recovery paths are documented. Pattern: error responses must tell LLMs what to do next.