Fleet LibreOffice MCP — headless convert + bridge (FastMCP 3.3, sampling, prefabs, skills)
LibreOffice MCP exhibits significant definition quality gaps. The primary tool 'libreoffice' is a portmanteau combining 8+ distinct operations (status, convert, merge, batch_pack, pdf_merge, watch_*, live_write, run_macro, bridge_call, help) into a single tool with a massive 30+ parameter schema. This violates the single-responsibility principle and forces LLMs to reason about which operation to invoke via a string enum. Parameter descriptions are present but often terse (10-30 chars). The two read-only tools (show_libreoffice_status_card, show_templates_card) have minimal schemas (empty input) and adequate descriptions. Overall, the server prioritizes feature breadth over clarity and composability.
Portmanteau LibreOffice automation — headless + live Writer bridge + UNO macros. Install extension: dist/libreoffice-mcp-bridge.oxt (auto-starts on LO launch). ## Operations - status, convert, merge, batch_pack, pdf_merge, watch_*, live_write, live_type - run_macro, run_python_macro, list_macros (via .oxt bridge) - bridge_discover, bridge_call, help
Live Calc portmanteau — pivot, type cells, read/write ranges (libreoffice-mcp-bridge.oxt).
Live Writer portmanteau — typewriter, macros (libreoffice-mcp-bridge.oxt).
Show soffice and extension bridge health as a Prefab card.
Show bundled fleet ODT templates as a Prefab gallery card.
Portmanteau tool design: 'libreoffice' combines 8+ operations (convert, merge, batch_pack, pdf_merge, watch_*, live_write, run_macro, bridge_call) into one tool with a 30+ parameter schema. LLMs must reason about which operation to invoke via string enum, violating single-responsibility principle.
Parameter descriptions are terse (10-30 chars) and lack actionable guidance. E.g., 'Source file for convert' does not explain format constraints, required file types, or error recovery. Descriptions should be 50-200 chars with format/constraint details.
No output schema documentation visible. Tools return results but LLMs cannot infer response structure (fields, types, pagination). Responses should document all returned fields and their types.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2025-06-18+ | v2 |
Portmanteau tools 'libreoffice_writer' and 'libreoffice_calc' also combine multiple operations (status, live_write, live_type, macro invocation) into single tools with string-based operation dispatch. Breaks composability.
No error handling guidance. Tools lack descriptions of failure modes, recovery steps, or actionable error messages. E.g., what happens if LibreOffice is not installed? What should the LLM do next?