Claude Assistant for LibreOffice Writer
Enables Claude AI to read, select, and edit document content in LibreOffice Writer through MCP tools like get_document_text, get_selection, replace_selection, and insert_at_cursor.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Claude Assistant for LibreOffice Writerrewrite this paragraph in a formal tone"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Quill
Quill is a LibreOffice Writer extension — an AI writing assistant powered by Claude. It adds a native Quill sidebar: chat with Claude, rewrite the selected text, generate or continue writing, and summarise the document — with every edit shown as an inline diff for Apply / Reject before it touches your document.
It authenticates off your existing Claude Code login (subscription) via the Claude Agent SDK — no Anthropic API key required.
How it works
LibreOffice (Writer) agent sidecar (Python 3.10+ venv)
Quill sidebar panel ── JSON over a pipe ── claude-agent-sdk
owns the document (UNO) in-process MCP server "writer"
applies edits on approval drives Claude via Claude Code loginThe extension exposes the document to Claude as MCP tools
(get_document_text, get_selection, replace_selection, insert_at_cursor).
Claude calls them; edit tools are gated by the sidebar's preview-then-apply UI.
The agent runs in a separate Python process (the sidecar) because LibreOffice's
bundled Python is usually too old for the SDK; the two talk over the subprocess
pipe. Document edits are applied in-process via UNO as single undoable steps.
Related MCP server: Ultimate Google Docs & Drive MCP Server
Prerequisites
Claude Code CLI, installed and logged in:
claude # then /login if neededLibreOffice with Python scripting (standard on Linux).
A Python 3.10+ environment with
claude-agent-sdkfor the sidecar.
Install
Easiest — just install the extension; it sets itself up. Install
quill-writer.oxt (Tools → Extension Manager → Add, or unopkg add quill-writer.oxt), restart LibreOffice, and open the Quill sidebar. On
first run it auto-creates its own Python environment at
~/.local/share/quill/venv and installs the Claude Agent SDK — you'll
see "Setting up Claude…" in the panel for ~30s, then it's ready. Needs a
python3 with venv on PATH (and the Claude Code CLI logged in).
Or run the installer (does the setup up-front instead of on first run, and
builds the .oxt for you):
./install.shIt uses uv or python3 -m venv. To remove
everything later: ./uninstall.sh.
uv venv .venv && uv pip install -r requirements.txt # sidecar SDK env
mkdir -p ~/.config/quill
echo "$PWD/.venv/bin/python" > ~/.config/quill/python
PYTHON=.venv/bin/python ./build.sh # -> quill-writer.oxt
unopkg add --force quill-writer.oxtPointing at a different Python
By default the panel launches <extension>/.venv/bin/python. Override with:
export QUILL_PYTHON=/path/to/python3 # has claude-agent-sdk installedOptional model override: export QUILL_MODEL=claude-opus-4-8.
Usage
Rewrite: select text, ask e.g. "make this more formal" → Claude reads the selection and proposes a replacement; Apply or Reject.
Generate / continue: place the cursor, ask "continue this paragraph" → Claude proposes an insertion to approve.
Summarise: ask "summarise this document" → Claude reads the full text.
Chat: ask anything; Claude answers in the panel without editing.
Applied edits are single undo steps — Ctrl+Z reverts cleanly.
Project layout
Path | Role |
| UNO sidebar factory + panel UI, thread marshalling |
| Launches/streams the sidecar, routes document ops |
| UNO document read/edit operations |
| Agent loop: MCP server + |
| The |
| Extension manifests |
Testing the backbone (no GUI)
cd sidecar
../.venv/bin/python fake_panel_test.py ../.venv/bin/python "Make my selection formal."This drives the real sidecar with a faked document and prints the tools Claude called and the edits it proposed — verifying Claude Code auth and the MCP round-trip without LibreOffice.
Status
v0.1 — working: native sidebar (chat, rewrite selection, generate/continue, summarise), in-document inline-diff preview with Apply / Improve / Reject, whole-document rewrite, Enter-to-send, and Claude Code (subscription) auth with no API key. Document operations and the agent round-trip are verified against a live LibreOffice.
License
MIT — see LICENSE. "Quill" is the name of this extension; it is an independent project and is not affiliated with or endorsed by Anthropic. Note: the "Claude" name and the current sidebar icon are Anthropic brand assets and are not covered by the MIT license; replace the icon before redistributing if you don't have permission to use it.
This server cannot be deployed
Maintenance
Related MCP Connectors
An agent-first office suite Claude & ChatGPT read and write over one MCP URL.
Creative workspace. Public MCP: outline previews for Codex and Claude Code; media in the web app.
Trainable non-fiction writing voice, presets, and an anti-AI-tells audit for Claude, via MCP.
Read, edit, publish, and preview your pepita websites from Claude.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to create, read, edit, and manipulate LibreOffice documents with support for track changes, comments, search/replace, and real-time document operations through a native extension or HTTP API.10MIT
- AlicenseNot gradedqualityDmaintenanceConnects Claude Desktop to Google Docs and Google Drive, enabling comprehensive document reading, writing, formatting, structuring, and complete Drive file management including shared drives support through OAuth 2.0 authentication.93MIT
- AlicenseAqualityFmaintenanceEnables AI assistants to create, read, convert, and manipulate LibreOffice documents programmatically, supporting 50+ file formats including Writer, Calc, Impress documents with real-time editing, batch operations, and document analysis capabilities.14103MIT
- AlicenseAqualityCmaintenanceEnables AI agents to read, write, and edit Office documents via LibreOffice with token-efficient design. Supports multiple formats including DOCX, XLSX, PPTX, and legacy formats through LibreOffice bridge.2721MIT