MCP server for applying redlines and tracked changes to DOCX files
Server has 7 tools with basic schemas and descriptions, but significant gaps prevent higher scoring. All tools have descriptions (10-100 chars, mostly adequate), and input schemas are present with Zod validation. However, parameter descriptions are sparse or missing entirely (e.g., 'operation' in apply_operation is just 'Structured operation object' with no guidance on required fields, structure, or valid values). Output schemas are not documented, callers cannot predict response structure. Error handling is minimal; no recovery guidance or actionable error messages visible. The 'operation' and 'operations' parameters accept generic z.record(z.string(), z.unknown()) with no schema validation, inviting hallucinated payloads. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (WRITE, IRREVERSIBLE). Session handle management is opaque, no guidance on handle lifecycle or cleanup. Batch tool (apply_operations) is good composition, but missing pagination/limits on list_parts.
Apply a structured redline or maintenance operation to word/document.xml.
Apply multiple structured redline or maintenance operations to word/document.xml in a single batch.
List package parts for an open DOCX handle.
Open a DOCX file and create a working document handle.
Read an OOXML part as XML text or get a read-only binary summary.
Save the working DOCX package in place or to an explicit output path.
Replace a writable XML part in the working DOCX package.
apply_operation and apply_operations accept 'operation' and 'operations' as z.record(z.string(), z.unknown()) with no schema validation. Description says 'Structured operation object' but does not specify required fields, valid operation types, or expected structure. LLMs will hallucinate payloads.
No output schemas documented for any tool. Callers cannot predict response structure (e.g., does list_parts return an array or an object with a 'parts' field?). LLMs must infer structure from trial and error.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. write_part, apply_operation, apply_operations, and save_docx are WRITE or IRREVERSIBLE but lack destructiveHint. Agents cannot reason about safety.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2025-06-18+ | v2 |
Parameter descriptions are minimal or missing. 'maxChars' in read_part has no description. 'partPath' in write_part and read_part lacks guidance on valid paths (e.g., 'word/document.xml', 'word/comments.xml'). 'author' in apply_operation is optional but no default behavior documented.
No error handling guidance visible. If open_docx fails (file not found, invalid DOCX), no recovery hint. If apply_operation fails (invalid XML, malformed operation), no actionable error message. Agents cannot self-correct.