MCP server providing tools for Timefold employee scheduling optimization, allowing setup of industry-specific demo data and score analysis
Two tools with basic descriptions but significant gaps in schema completeness, parameter documentation, and error handling. setupIndustryDemoData has a clear description (145 chars) but lacks type constraints on array elements and no output schema. scoreAnalysis has minimal description (56 chars, below 20-char floor) and no documented output. Neither tool declares error recovery paths or validates inputs. No tool annotations (readOnlyHint, destructiveHint). Naming is verb-noun compliant but generic. Per-tool average: 42.
Analyzes the score for a schedule generated with a given ID
Prepares the Timefold Demo Data with alternative industry details. This allows you to prepare demo data for a different industry than the regular nurse example. Relevant locations and skills for the alternative industry must be passed in. Before calling this tool, the user should be prompted for which industry it wants to prepare demo data.
scoreAnalysis description is 56 characters, below the 20-char floor for meaningful guidance. LLM cannot determine when to call this vs other analysis tools. Violates pattern:tool-description.
No output schemas documented for either tool. LLMs cannot plan downstream calls or extract required fields (e.g., schedule ID, score breakdown). Violates pattern:tool.
setupIndustryDemoData array parameters lack element type constraints. 'locations' and 'skills' accept List<String> but no enum, length limits, or format guidance. LLM may pass invalid values.
No error handling or recovery guidance. If scoreAnalysis receives invalid ID or setupIndustryDemoData fails API call, LLM has no actionable next step. Violates pattern:recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
setupIndustryDemoData modifies state (WRITE risk) but lacks confirmation or dry-run pattern. Agents may accidentally overwrite demo data. Violates pattern:confirmation-request.