libre-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LIBRE_MCP_LOG_LEVEL | No | stderr log level | INFO |
| LIBRE_MCP_PROFILE_DIR | No | per-instance profile root | ./.lo_profiles |
| LIBRE_MCP_PYTHON_PATH | No | bundled python override | auto |
| LIBRE_MCP_KEEP_PROFILE | No | keep profiles for debugging | false |
| LIBRE_MCP_SOFFICE_PATH | No | soffice binary override | auto |
| LIBRE_MCP_STARTUP_TIMEOUT | No | seconds to wait for soffice | 30 |
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_documentA | Create a new empty LibreOffice document. |
| open_documentA | Open an existing document from an absolute filesystem path. |
| list_documentsA | List currently open documents as {documents: [{doc_id, kind, url}]}. |
| document_infoC | Get {kind, url, modified} for an open document. |
| save_documentA | Save a document. With no path, saves in place (the document must already have a location). With an absolute path, saves a copy; format is inferred from the extension if omitted (e.g. odt, pdf, docx, ods, xlsx, csv, html). |
| export_documentA | Export a document to an absolute path in the given format. |
| close_documentA | Close an open document. |
| get_textB | Return the full plain text of a Writer document as {text}. |
| insert_textB | Append text at the end of a Writer document. |
| find_and_replaceA | Replace all occurrences of search with replace. Returns {count}. Set regex=true to treat search as a regular expression. |
| page_setupA | Set page margins (cm) and/or page background color (hex) for a Writer
doc. |
| add_paragraphA | Append a styled paragraph to a Writer doc (the workhorse — use a large
bold size for headings). size is points; color is hex; align is
left|center|right|justify; space_before/after are cm. |
| add_listC | Append a bulleted (or numbered, if ordered=true) list — one string per item. |
| insert_tableC | Insert a table from a 2D list of rows. With header=true the first row gets the accent background + white bold text. |
| insert_imageB | Insert an image inline from an absolute path, scaled to width_cm (aspect preserved). |
| add_page_boxA | Place a page-anchored box (a colored band, header, or pull-quote
callout). x/y/w/h are percent (0-100) of the PAGE; fill is the box color
(hex, or null for transparent); optional |
| set_cellsA | Write cells in a Calc document. Returns {written}. |
| read_cellsA | Read a cell range (e.g. "A1:C10") as {values: [[...]]}. |
| add_sheetA | Add a worksheet by name (appended, or at |
| style_cellsA | Format a cell range (e.g. "A1:E1"). bold/italic, text |
| set_column_widthB | Set the width (cm) of a column or column span, e.g. "A" or "A:E". |
| add_slideA | Append a slide to an Impress presentation. Returns {index, count}. A new presentation already has one slide at index 0. layout is an Impress autolayout id (default 1 = title + content). |
| set_slide_contentB | Set a slide's title and/or bullet body by 0-based slide index. bullets is a list of strings, one per bullet line. |
| list_slidesA | List slides as {slides: [{index, title}], count}. |
| read_slideA | Read a slide's text content by 0-based index. |
| delete_slideA | Delete a slide by 0-based index. Returns {count}. |
| set_presentation_sizeA | Set the slide aspect ratio for the whole deck: "16:9" (default) or "4:3". |
| set_slide_backgroundA | Fill a slide's background. Call this FIRST on a slide (it stacks at the
back). Pass color2 for a linear gradient from color→color2 at |
| add_textboxB | Place a styled text box. x/y/w/h are percent (0-100) of the slide;
size is in points; color is hex; align is left|center|right; valign is
top|center|bottom. Use newlines in |
| add_shapeA | Draw a shape: shape is rect|round|ellipse|line. x/y/w/h are percent of
the slide. fill is hex (or null for none); pass fill2 for a gradient at
|
| add_imageC | Place an image from an absolute path. x/y/w/h are percent of the slide. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/krondor-corp/libre-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server