Lo
БесплатноНе проверенA stdio MCP server for LibreOffice Writer that enables creating, editing, and exporting Writer documents via natural language commands.
Описание
A stdio MCP server for LibreOffice Writer that enables creating, editing, and exporting Writer documents via natural language commands.
README
A stdio MCP server for LibreOffice Writer. Minimal scope on purpose: create, edit, and export Writer documents. No Calc/Impress yet — add them later if Writer proves useful.
Why this shape
LibreOffice's own bundled Python interpreter (LibreOfficePython, used by
import uno for document automation) carries a macOS Launch Constraint —
spawning it as a subprocess from Claude Code's process tree gets SIGKILLed
by macOS (CODESIGNING 4 Launch Constraint Violation). Plain soffice does
not carry this constraint, but driving Writer interactively needs the uno
Python bindings, which only load correctly under LibreOffice's own bundled
interpreter (cross-interpreter import uno from an unrelated Python is an
ABI mismatch — observed to hang the process in uninterruptible sleep, not
fail cleanly).
So: a small LibreOffice extension (extension/) runs inside the
already-running soffice process, using LibreOffice's own already-correct
interpreter — no subprocess, no cross-interpreter import. It exposes a
local HTTP server. The MCP server (src/lo_mcp/) is a thin, unconstrained
client that talks to it over plain HTTP — same pattern as freecad-mcp
connecting to the AICopilot addon running inside FreeCAD.
Setup
- Build and install the extension:
extension/build.sh /Applications/LibreOffice.app/Contents/MacOS/unopkg add --force dist/lo-mcp.oxt - Launch (or restart) LibreOffice.
- In LibreOffice: lo-mcp menu > Start Server. This opens
127.0.0.1:8794— local-only, only listens while you've started it. No real authentication, but POSTs must carry anX-Lo-Mcp-Clientheader, which forces browsers to CORS-preflight cross-origin requests; since the server never answers withAccess-Control-Allow-Origin, that preflight fails and a malicious web page can't drive it. - Register the MCP server:
uv sync claude mcp add lo-mcp -- uv run --project /Volumes/Files/claude/lo-mcp lo-mcp
Call check_connection first in any session — if LibreOffice isn't running
or the server wasn't started, it says so.
Tools
check_connection, create_document, open_document, list_documents,
get_text, insert_text, find_and_replace, save_document,
export_document (pdf/docx/odt/doc/rtf/txt/html), close_document.
Testing
uv run pytest
Requires LibreOffice running with the server started; skips otherwise.
Extending to Calc/Impress
Add operations to extension/pythonpath/lo_mcp_extension.py (new *Ops
class or methods, registered in _OPS) and matching thin @mcp.tool()
wrappers in src/lo_mcp/server.py. The HTTP/extension plumbing doesn't
change.
Установка Lo
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/blwfish/LibreOffice-mcpFAQ
Lo MCP бесплатный?
Да, Lo MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Lo?
Нет, Lo работает без API-ключей и переменных окружения.
Lo — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Lo в Claude Desktop, Claude Code или Cursor?
Открой Lo на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Lo with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
