An MCP server that automates filling out Workday timesheets using browser automation with AI agents
Single tool 'fill_timesheet' has a reasonable description (89 chars) but critical schema and parameter deficiencies. Input schema visible in code shows three string parameters with defaults but NO type declarations in the schema definition itself, only inferred from Python type hints. Parameters lack formal constraints (enums, patterns, ranges). No output schema documented. Tool performs a destructive/write operation (fills timesheet) but lacks error handling guidance, confirmation patterns, or recovery instructions. No tool annotations (destructiveHint). The resource endpoint for status tracking is present but undocumented in tool output schema.
Fill out a Workday timesheet with the specified hours.
Input schema lacks type declarations and formal constraints. Parameters (week_start_date, days_off, time_types) are documented as strings with defaults but no JSON Schema types, enums, patterns, or ranges. LLMs cannot validate input or select from constrained options.
No output schema documented. Tool returns a string message about async status but does not formally declare the response structure. LLMs cannot plan downstream operations or extract structured data.
Destructive operation (fill_timesheet modifies Workday state) lacks error handling guidance, confirmation pattern, or recovery instructions. No dry-run option. Tool description does not warn of irreversible consequences or guide LLM on retry logic.
Missing tool annotations. Destructive tool should declare destructiveHint=true. No idempotentHint or readOnlyHint present. Agents cannot reason about retry safety or side effects.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | <=2025-11-25 | v2 |
Parameter 'time_types' accepts free-form string (e.g. 'Admin, KITN-1937') with no enum or validation. LLMs may hallucinate invalid time type codes. No format constraint or example of valid codes provided.