MCP server for managing master resume profiles and generating tailored LaTeX resumes for different companies
Three tools with complete Zod schemas and basic descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (store_, get_, save_). Descriptions exist but are brief (50-80 chars) and lack context on when to use each tool or what happens on failure. No parameter descriptions beyond the schema itself, LLMs cannot infer what 'base_latex_template' or 'latex_content' mean from names alone. Output schemas are implicit (return objects visible in code but not documented in tool definitions). Error handling is present but generic ('Failed to save master profile'). No idempotency hints, no guidance on retry behavior, no mention of file system side effects.
Retrieve the saved master profile data (LaTeX template, skills, projects, etc.) to use for tailoring a resume.
Save the generated tailored LaTeX resume to a file.
Store the master profile data (LaTeX template, skills, projects, etc.) as a JSON file.
Parameter descriptions missing or minimal. 'base_latex_template' has a description in Zod, but LLMs need explicit guidance on format (is it a raw LaTeX string? Does it contain placeholders like {{skills}}?). 'latex_content' similarly lacks context on expected structure.
Output schemas not documented. Tools return objects with 'status', 'message', 'profile', 'file_path' fields, but these are inferred from code, not declared in tool metadata. LLMs cannot plan downstream calls without knowing what fields to expect.
No error recovery guidance. Errors like 'Master profile not found' are returned, but LLMs are not told what to do next (e.g., 'Call store_master_profile first'). Error messages are generic and do not include the invalid value or constraint violated.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | <=2025-11-25 | v2 |
Tool descriptions are too brief (35 - 40 chars). 'Retrieve the saved master profile data...' lacks context on when to call this vs. store_master_profile, what the profile structure contains, or whether it's safe to call repeatedly. Baseline for A+ tools is 50 - 200 chars with explicit WHAT/WHEN/WHY.
No idempotency or side-effect documentation. save_tailored_resume writes to disk, is it safe to retry? Does it overwrite? Can the agent call it twice with the same input? No guidance provided.