LibreOffice MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PYTHONPATH | No | Path to the mcp-libre project directory. | |
| LIBREOFFICE_PATH | No | Optional path to the LibreOffice executable, for example /usr/bin/libreoffice. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_documentB | Create a new LibreOffice document |
| read_document_textC | Extract text content from a LibreOffice document |
| _docx_has_ommlA | 检测 docx 是否含 OMML 公式(word/document.xml 里查 <m:oMath)。 |
| get_document_infoC | Get detailed information about a LibreOffice document |
| read_spreadsheet_dataA | Read data from a LibreOffice Calc spreadsheet |
| insert_text_at_positionB | Insert text into a LibreOffice Writer document |
| read_impress_layoutA | 精确读取 PPT(.pptx)每页每个元素的几何布局:坐标/宽高(厘米)、旋转、占位符角色、z 序、组内子元素、文本摘要。 |
| search_documentsC | Search for documents containing specific text |
| batch_convert_documentsC | Convert multiple documents in a directory to a different format |
| merge_text_documentsA | Merge multiple text documents into a single document |
| get_document_statisticsC | Get detailed statistics about a document |
| open_document_in_libreofficeA | Open a document in LibreOffice GUI for live viewing |
| refresh_document_in_libreofficeB | Send a refresh signal to LibreOffice to reload a document |
| watch_document_changesB | Watch a document for changes and provide live updates |
| create_live_editing_sessionC | Create a live editing session with automatic refresh capabilities |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| list_documents | List all LibreOffice documents in common locations |
TDQS
Scored across 15 tools
Most tools target distinct document operations and file types, so selection is generally clear. However, get_document_info overlaps with get_document_statistics, the live-editing cluster (open/refresh/watch/create_live_editing_session) has some boundary ambiguity, and _docx_has_omml looks like an internal helper exposed as a tool.
Nearly all tools use snake_case with predictable verb_noun phrasing, such as create_document, read_document_text, and merge_text_documents. The main deviations are the internal-looking _docx_has_omml name and the adjective-prefixed batch_convert_documents, but the set remains mostly consistent.
Fifteen tools is within the expected well-scoped range and covers reading, writing, conversion, search, and live-viewing workflows. The count is not excessive, though one exposed internal helper slightly dilutes the set.
The surface covers document creation, reading, search, batch conversion, and Writer text insertion, but editing support is thin for Calc and Impress. There are no clear tools for updating spreadsheet cells, modifying slides, deleting documents, or general single-document export/save workflows.