⚠️ DEPRECATED — This project has been superseded by Nelson MCP, a complete rewrite with 150+ tools, modular architecture, document & image galleries, FTS5 indexing, and more. Please use Nelson MCP instead.
MCP server that lets AI assistants create, read, convert and edit LibreOffice documents in real-time.
A LibreOffice extension runs an MCP server directly inside LibreOffice (port 8765). Your AI assistant connects to it and can manipulate documents in real-time — you see changes live in the LibreOffice window.
- Install LibreOffice 24.2+ if not already installed
- Install the extension — download the
.oxtfile from Releases and double-click it (or drag it into LibreOffice) - Restart LibreOffice — an "MCP Server" menu appears, the server starts automatically
- Configure your MCP client — add this to your config:
Claude Desktop (~/.config/claude/claude_desktop_config.json or %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"libreoffice": {
"type": "http",
"url": "https://localhost:8765/mcp"
}
}
}Claude Code (.mcp.json at the project root):
{
"mcpServers": {
"libreoffice": {
"type": "http",
"url": "https://localhost:8765/mcp"
}
}
}That's it. Open a document in LibreOffice, then ask Claude to edit it.
To expose LibreOffice MCP to remote AI assistants (ChatGPT, cloud-hosted Claude, etc.), enable the built-in tunnel. The default provider is Tailscale Funnel — stable HTTPS URL, no random subdomains, works great with ChatGPT.
- Install Tailscale: tailscale.com/download — or
winget install Tailscale.Tailscale(Windows) /brew install tailscale(macOS) - Log in:
tailscale login - Enable Funnel in the admin console: DNS → HTTPS Certificates → Enable, then Funnel → Enable for your device
- In LibreOffice: MCP Server menu → Settings (Tunnel tab) → check "Enable tunnel" → provider = tailscale → OK
- Restart the server — menu shows
Stop Tunnel (your-machine.tailnet.ts.net)
Your MCP endpoint will be https://your-machine.tailnet.ts.net/sse — use this in ChatGPT or any remote MCP client.
| Provider | Install | Notes |
|---|---|---|
| cloudflared | winget install Cloudflare.cloudflared |
Random URL each time (no account), or stable URL with Cloudflare account |
| bore | github.com/ekzhang/bore | Lightweight TCP tunnel, no account needed |
| ngrok | ngrok.com/download | Requires free account + authtoken |
Switch providers in the Settings dialog (Tunnel tab) — all four are built-in.
| Category | Examples |
|---|---|
| Document | create_document, read_document_text, convert_document, open_document_in_libreoffice |
| Navigation | get_document_tree (heading tree + page numbers), search_in_document, get_page_objects |
| Editing | insert_text_at_paragraph, set_paragraph_text, replace_in_document |
| Comments & review | list_comments, add_comment, resolve_comment, track changes |
| Images & frames | insert_image, set_image_properties (resize, crop, alt-text), replace_image |
| Tables | list_tables, read_table, write_table_cell, create_table |
| Styles | list_styles, get_style_info |
| Calc | read_spreadsheet_cells, write_spreadsheet_cell, list_sheets |
| Impress | list_slides, read_slide, get_presentation_info |
| Batch | batch_convert_documents, merge_text_documents |
If you want to modify the extension or contribute, clone the repo and use the dev scripts:
git clone https://github.com/quazardous/mcp-libre/
cd mcp-libre| Platform | Build & install | Dev hot-deploy |
|---|---|---|
| Linux | ./scripts/install-plugin.sh |
./scripts/dev-deploy.sh |
| Windows | .\scripts\install-plugin.ps1 |
.\scripts\dev-deploy.ps1 |
Dev-deploy syncs your changes to LibreOffice without rebuilding the .oxt — just restart LibreOffice to test.
See DEVEL.md for architecture, adding new tools, and known pitfalls.
This project is a major fork of patrup/mcp-libre, which provided the initial MCP server and headless LibreOffice integration. The current version has been extensively rewritten with an embedded LibreOffice extension, 67+ tools, and real-time document editing.