Install
$ agentstack add mcp-harshithb3304-libre-office-mcp Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
LibreOffice MCP Server
A Model Context Protocol (MCP) server that enables Claude and other AI assistants to interact with LibreOffice documents directly.
Overview
This MCP server provides a bridge between AI assistants like Claude and LibreOffice, allowing the AI to create, read, edit, and format LibreOffice documents. Built on the Model Context Protocol, it exposes LibreOffice functionality as tools that can be called by compatible AI applications.
Features
LibreOffice Suite Support
- [x] LibreWriter
- Implemented:
- [x] Create new documents
- [x] Open and read text documents
- [x] Copy documents
- [x] List documents in a directory
- [x] Get document properties and metadata
- [x] Add text to documents
- [x] Add headings with different levels
- [x] Add formatted paragraphs
- [x] Add tables with data
- [x] Format tables with borders, colors, and header rows
- [x] Search and replace text
- [x] Delete specific text
- [x] Delete paragraphs
- [x] Insert page breaks (partial implementation)
- [x] Insert images
- [x] Format specific text (bold, italic, color, size)
- [ ] LibreCalc
- [ ] LibreImpress
Installation
Requirements
- Python 3.10 or higher
- LibreOffice installed
- Claude for Desktop (or another MCP-compatible client)
Setup Instructions
- Clone the repository
``bash git clone https://github.com/harshithb3304/libre-office-mcp.git cd libre-office-mcp/libre-writer ``
- Set up Python environment
```bash UV Installation
#For Windows powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" #For MacOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh
# With uv (recommended) uv init uv venv uv add mcp[cli] httpx
# With pip pip install "mcp[cli]" httpx ```
- Install LibreOffice
- Windows: Download from LibreOffice website
- macOS:
``bash brew install --cask libreoffice ``
Usage with Claude for Desktop
- Configure Claude for Desktop
Add the following to your Claude for Desktop configuration file:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
``json { "mcpServers": { "libreoffice-server": { "command": "uv", "args": [ "--directory", "C:\\path\\to\\libreoffice-mcp-server", "run", "main.py" ] } } } ` or ``json { "mcpServers": { "libreoffice-server": { "command": "python", "args": [ "C:\\path\\to\\the\\main.py" ] } } }
```
> ⚠️ Note: Replace C:\\path\\to\\libreoffice-mcp-server with the actual path to where you cloned the repository.
- Restart Claude for Desktop
- Interact with LibreOffice
You can now ask Claude to perform actions like:
- "Create a new document with a title and three paragraphs"
- "List all the documents in my Documents folder"
- "Open my report.odt file and add a table with 4 columns and 5 rows"
How It Works
The server consists of three main components:
- LibreOffice Helper (
helper.py): A Python script that communicates directly with LibreOffice using the UNO bridge API.
- MCP Server (
libre.py): The main MCP server that exposes LibreOffice functionality as tools for AI assistants.
- Launcher (
main.py): A script that launches both the helper and the MCP server.
When a request comes in from Claude:
- The MCP server receives the request
- It forwards the command to the LibreOffice helper via a socket connection
- The helper executes the command using LibreOffice's UNO API
- The result is sent back to the MCP server and then to Claude
Configuration Options
The server will use your Documents folder as the default location for creating new documents if no path is specified. You can change this by modifying the get_default_document_path function in libre.py.
Troubleshooting
Common Issues
- "LibreOffice helper is not running"
Make sure LibreOffice is installed and the path to the LibreOffice Python executable is correct in main.py.
- "Connection refused"
The helper script may not have started correctly. Check if port 8765 is already in use.
- "Failed to connect to LibreOffice desktop"
LibreOffice may not be running in headless mode. Check if port 2002 is available.
Contributing
Contributions are welcome! Here are some areas that need improvement:
- Fixing image insertion functionality
- Implementing robust text formatting
- Supporting additional LibreOffice features
- Improving error handling
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: harshithb3304
- Source: harshithb3304/libre-office-mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.