AI-powered timeline generation service that creates comprehensive event timelines from viewpoints and research questions using FastMCP
Single tool 'create_timeline' has adequate naming and schema structure but suffers from critical gaps in parameter descriptions, missing output schema documentation, and incomplete error handling guidance. The tool description is decent (120+ chars) but parameters lack detail. The config parameter is poorly documented with only a generic 'Optional task configuration' note and example enum values in description rather than formal schema constraints. No documented return schema. Code shows progress reporting capability but the tool definition itself does not reflect current best practices for LLM-facing interfaces.
Create timeline generation task with progress reporting. This implementation follows FastMCP best practices for long-running tasks, using the official progress reporting mechanism to keep clients informed.
Missing output schema documentation. Tool definition provides no structured specification of what create_timeline returns (fields, types, format). LLMs cannot plan downstream calls or extract required data without knowing the response structure.
Parameter 'config' lacks proper schema constraints. The description states 'Optional task configuration (e.g: {"data_source_preference": "dataset_wikipedia_en"})' but does not declare data_source_preference as an enum with allowed values. LLMs may hallucinate invalid data_source values (e.g. 'dataset_wikipedia_de', 'online_blog') instead of adhering to the three documented options.
Parameter 'config' description violates best practices: includes example values inline ('dataset_wikipedia_en') which LLMs tend to reuse literally. Constraint examples should be formalized as JSON Schema enums or regex patterns, not prose examples.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 56 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 28 | - | v1 |
No error handling or recovery guidance documented in tool definition. Tool accepts topic_text but source code shows service initialization can fail (LLM initialization, database connection). No documented error cases, retry guidance, or fallback behavior for LLMs to understand when/how to recover.
Parameter 'topic_text' description is minimal ('The topic text to generate timeline'). Does not specify format constraints, length limits, character restrictions, or examples. Baseline for parameter descriptions is 72 chars; this is ~30 chars.