MCP server for editing DOCX files with multimodal support. Enables LLM-driven editing of Word documents including text and images.
Server has 5 tools with complete input schemas and descriptions. Naming follows verb_noun convention (read_, write_, append_, replace_, list_). Descriptions are present (avg ~100 chars) but lack actionable context for LLM selection. Parameters are typed and mostly described, but lack constraints (enums, ranges, format hints). Output schemas are not documented, LLMs cannot predict response structure. Error handling is absent from visible code. No tool annotations (readOnlyHint, destructiveHint). write_docx and append_to_docx accept base64 image data but lack validation guidance or size limits.
Append content to an existing DOCX file. Supports text paragraphs and images.
List all images in a DOCX file with their metadata.
Read content from a DOCX file including text and images. Returns structured content with paragraphs and embedded images.
Replace all occurrences of text in a DOCX file.
Create or overwrite a DOCX file with new content. Supports text paragraphs and images.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). Agents cannot plan downstream tool calls or extract required data.
No error handling guidance in visible code. Errors should tell LLM what to do next (retry, ask user, or fail). Missing recovery paths for file-not-found, permission-denied, invalid-base64.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes. write_docx and append_to_docx should be marked destructiveHint=true.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 66 | <=2025-11-25 | v2 |
Parameter constraints missing. 'width' in write_docx/append_to_docx lacks min/max (e.g. 0.5 - 11 inches). 'include_images' boolean lacks rationale. 'image_data' lacks size limit or format validation hint.
Descriptions lack actionable context. 'Read content from a DOCX file' does not explain WHEN to use read_docx vs list_docx_images, or what structure is returned. LLMs cannot disambiguate similar tools.