{"_id":"@cadivus/mcp-server-lo-doc-reader","name":"@cadivus/mcp-server-lo-doc-reader","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@cadivus/mcp-server-lo-doc-reader","version":"0.1.0","description":"LibreOffice Document Reader MCP Server - converts documents to Markdown via MCP","type":"module","bin":{"mcp-server-lo-doc-reader":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js","test":"tsx --test test/*.test.ts","test:e2e":"cd e2e-tests && npm test","typecheck":"tsc --noEmit","typecheck:all":"tsc --noEmit -p tsconfig.test.json"},"keywords":["mcp","libreoffice","document","markdown","docx","odt","converter"],"license":"Apache-2.0","engines":{"node":">=18"},"repository":{"type":"git","url":"git+ssh://git@github.com/cadivus/mcp-server-lo-doc-reader.git"},"dependencies":{"@modelcontextprotocol/sdk":"^1.0.0","zod":"^3.22.0"},"devDependencies":{"@types/node":"^20.0.0","tsx":"^4.21.0","typescript":"^5.0.0"},"_id":"@cadivus/mcp-server-lo-doc-reader@0.1.0","gitHead":"34763491faf48947fc6810e0a72547ec3caef25a","bugs":{"url":"https://github.com/cadivus/mcp-server-lo-doc-reader/issues"},"homepage":"https://github.com/cadivus/mcp-server-lo-doc-reader#readme","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-wRdVa1jz+FZs5Enms/rQ5y0xCWer9Jhr4ti9gGIcdbCIuBFCpf06f/bQ+7gKKJ9UGbv15ucmpND1rn04ui5kAA==","shasum":"332ba213fc4c580a05d6b3617c04b6fc5d6bba35","tarball":"https://registry.npmjs.org/@cadivus/mcp-server-lo-doc-reader/-/mcp-server-lo-doc-reader-0.1.0.tgz","fileCount":23,"unpackedSize":42263,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@cadivus%2fmcp-server-lo-doc-reader@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHTozAS+a5/Ei6nT+ST7z1nameKqqUA86KLTM8qan4/vAiEA6MokROttz8VnVmoPJlMNeG7phSDqwkDtSem+Zdd8rB0="}]},"_npmUser":{"name":"cadivus","email":"cadivus@daverkomp.de"},"directories":{},"maintainers":[{"name":"cadivus","email":"cadivus@daverkomp.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server-lo-doc-reader_0.1.0_1776005474352_0.5976156112546662"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-12T14:51:14.202Z","0.1.0":"2026-04-12T14:51:14.500Z","modified":"2026-04-12T14:51:15.040Z"},"maintainers":[{"name":"cadivus","email":"cadivus@daverkomp.de"}],"description":"LibreOffice Document Reader MCP Server - converts documents to Markdown via MCP","homepage":"https://github.com/cadivus/mcp-server-lo-doc-reader#readme","keywords":["mcp","libreoffice","document","markdown","docx","odt","converter"],"repository":{"type":"git","url":"git+ssh://git@github.com/cadivus/mcp-server-lo-doc-reader.git"},"bugs":{"url":"https://github.com/cadivus/mcp-server-lo-doc-reader/issues"},"license":"Apache-2.0","readme":"# mcp-server-lo-doc-reader\n\n**The local-first, privacy-focused MCP server for high-fidelity document parsing.**\n\n`lo-doc-reader` is a [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that enables AI assistants (like Claude, Cursor, and Windsurf) to read complex documents by leveraging a local LibreOffice installation.\n\n## 🌟 Why lo-doc-reader?\n\nWhile many document parsers struggle with complex layouts or legacy formats, `lo-doc-reader` uses the battle-tested LibreOffice engine to provide:\n\n* **🔒 Absolute Privacy:** Your documents never leave your machine. No cloud APIs, no data collection, and no third-party processing.\n* **🏛️ Superior Legacy Support:** Seamlessly handles `.doc`, `.rtf`, and older formats that break modern lightweight libraries.\n* **⚙️ Headless Efficiency:** Runs in the background using isolated user profiles. It won't interfere with your open LibreOffice windows or documents.\n* **💰 Zero Cost:** No per-page fees or subscription limits.\n\n## 🚀 Quick Start\n\n### Prerequisites\n* **Node.js** ≥ 18\n* **LibreOffice** ≥ 24.2 ([Download here](https://www.libreoffice.org/download/download/))\n\n### MCP Client Configuration\nAdd this to your `claude_desktop_config.json` or equivalent client settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"lo-doc-reader\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@cadivus/mcp-server-lo-doc-reader\"]\n    }\n  }\n}\n```\n\n## 📂 Supported File Formats\n\n| Extension | Description |\n| :--- | :--- |\n| `.docx` / `.doc` | Microsoft Word (Modern & Legacy) |\n| `.odt` / `.fodt` | OpenDocument Text / Flat XML |\n| `.rtf` | Rich Text Format |\n| `.epub` | Electronic Publication (E-books) |\n| `.html` / `.htm` | Web Documents |\n\n## 🛠️ How It Works\n1.  **Detection:** Automatically finds the `soffice` binary across macOS, Windows, and Linux.\n2.  **Sandboxing:** Creates a temporary, isolated user profile for every request to ensure thread safety and prevent configuration conflicts.\n3.  **Conversion:** Invokes a headless instance of LibreOffice to perform a native export to Markdown.\n4.  **Cleanup:** Instantly purges all temporary files and profiles once the content is delivered to your LLM.\n\n## 🧰 Available Tools\n\n### `read_document`\nExtracts text from a document and returns it as LLM-optimized Markdown.\n* **Input:** `filePath` (The **absolute path** to your file).\n\n### `list_supported_formats`\nDisplays all extensions currently supported by your local installation.\n\n## ⚠️ Limitations & Notes\n* **Formatting:** Complexity is limited by LibreOffice's Markdown export filter (tables and images may have simplified rendering).\n* **Scopes:** Spreadsheets (`.xlsx`) and Presentations (`.pptx`) are not currently supported.\n* **Paths:** Ensure you provide the *absolute* path to the file so the server can locate it reliably.\n\n## 🏷️ Keywords & Use Cases\n`mcp-server`, `context-window`, `RAG`, `local-llm`, `document-parsing`, `privacy-focused-ai`, `word-to-markdown`, `offline-ai-tools`, `claude-desktop-tools`.\n\n## 📜 License\n\nCopyright © 2026. Licensed under the **Apache License, Version 2.0**.\n","readmeFilename":"README.md","_rev":"1-6e41b1948a122e0f56560e123b742f62"}