Dokumen-Pintar

by firdausmntp

Not rated
GitHub

About

62 format-aware tools for AI to read and edit Word, Excel, and PDF files with precision — plus academic document linting for Indonesian standards.

Details

Author
firdausmntp
Categories
File Management, Other, Productivity

Setup

Install Dokumen-Pintar in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/firdausmntp/Dokumen-Pintar

Follow the installation instructions in the repository README, then restart your MCP client.

Universal MCP server for cross-format document CRUD

Read, write, search, and manage text, Office, and PDF files
from any AI agent that supports theModel Context Protocol.

Features·Formats·Quick Start·Tools·Docs·Benchmark·Contributing

Most filesystem MCP servers stop at "read this file, write that file." Dokumen-Pintar treats documents asstructured datathe AI can navigate. Tell an agent to update a paragraph by index, set a cell bySheet1!B2, walk a JSON tree with JSONPath, generate a DOCX from Markdown - it works the same way across every supported format.

Every mutating tool snapshots the file first. Every action lands in an audit log. Every path is sandboxed to roots you opt in. The default config is sensible; theprofilescover the rest.

Multi-root Sandbox— Define multiple workspace roots with per-rootwritablecontrol. All paths outside the sandbox are rejected.

10 Formats— Plain text, Markdown, LaTeX, JSON / YAML, CSV / TSV, XML / SVG, DOCX, XLSX, PPTX, PDF.

62 MCP Tools- File & content CRUD, structured access, batch operations, search, versioning, metadata, authoring, image extraction, sections, templates, TOC, bibliography, document compare, lint - all exposed as callable tools.

Authoring— Generate DOCX or PDF from a JSON spec or Markdown source viacompose_docx/compose_pdf/compose_from_markdown.

Structured Access— JSONPath for JSON / YAML, XPath for XML, cell / range / sheet for XLSX, paragraph / table for DOCX, slide for PPTX, page for PDF.

Automatic Versioning— Copy-on-write snapshots on every write. Undo, diff, restore, and purge anytime.

Metadata Layer— Read, write, delete, or strip EXIF, OOXML core properties, and PDF docinfo through one consistent API.

Audit Trail— Every mutation logged to JSONL with timestamp and operation details.

2 Transports— stdio (Claude Desktop, Cursor, VS Code, Windsurf) and HTTP / SSE.

git clone https://github.com/firdausmntp/Dokumen-Pintar.git cd Dokumen-Pintar pip install -e ".[dev]"
{ "roots": [ { "name": "documents", "path": "~/Documents", "writable": true }, { "name": "projects", "path": "~/Projects", "writable": true } ] }

All other fields are optional with sensible defaults. Seedocs/CONFIG.md.

dokumen-pintar --config dokumen-pintar.config.json

Override or replace config roots from the command line — handy for one-off sessions or scripting:

# Single writable root, no config file required dokumen-pintar --root docs:/path/to/folder # Multiple roots, mix read-only and writable, choose stdio transport dokumen-pintar \ --root project:/repo:rw \ --root refs:/library:ro \ --transport stdio # Force every root to read-only (overrides config + --root) dokumen-pintar --config myconfig.json --read-only # Path-only shorthand (root name derived from basename) dokumen-pintar --root /home/me/Documents
dokumen-pintar-doctor --config dokumen-pintar.config.json

Verifies config validity, root existence,.mcpdocssnapshot writability, registered handlers, and optional semantic-search dependencies.

Add to yourclaude_desktop_config.json:

{ "mcpServers": { "dokumen-pintar": { "command": "dokumen-pintar", "args": ["--config", "/path/to/dokumen-pintar.config.json"] } } }

Use the same stdio transport. Point your IDE's MCP settings to thedokumen-pintarcommand and config path.

{ "transport": { "stdio": false, "http": { "enabled": true, "port": 7878 } } }

Start the server and connect your client tohttp://127.0.0.1:7878.

# List available workspace roots workspace_list_roots() # Read a Word document content_read(path="documents:/reports/q1.docx") # Create a new file file_create(path="documents:/notes/todo.txt", content="Hello World") # Find & replace inside a file content_replace(path="documents:/notes/todo.txt", old="World", new="Everyone") # Full-text search across all PDFs search_content(query="budget 2024", format="pdf") # Read an Excel cell structured_get(path="documents:/data.xlsx", expr="cell:Sheet1!B2") # Update a JSON key structured_set(path="documents:/config.json", expr="$.database.port", value=5432) # Delete an XML node structured_delete(path="documents:/data.xml", expr="//item[@id='old']") # Batch rename (dry-run first) batch_rename(glob=".txt", pattern="draft_", replacement="final_", dry_run=true) # Undo last change version_undo(path="documents:/reports/q1.docx")

Only registered whensemantic_search.enabled = trueand the[semantic]extra is installed.

flowchart TD Client["AI Client\n(Claude, Cursor, VS Code, ...)"] Client -->|"MCP protocol\n(stdio or HTTP/SSE)"| Server subgraph Server["dokumen-pintar server"] PG["PathGuard\nsandboxed multi-root"] H["Handlers\n9 format parsers"] V["Versions\ncopy-on-write snapshots"] A["AuditLog\nJSONL mutation log"] S["Search\nfilename + content"] SE["Semantic\nvector index (optional)"] end Server --> FS["Filesystem\n(sandboxed workspace roots)"]
pip install -e ".[dev]" pytest

HTML coverage report:htmlcov/index.html

Performance numbers and methodology:docs/BENCHMARK.md

git clone https://github.com/firdausmntp/Dokumen-Pintar.git cd Dokumen-Pintar pip install -e ".[dev]" ruff check src/ # lint mypy src/dokumen_pintar/ # type check pytest # test + coverage

PRs welcome. All tests must pass and coverage must stay at 100%. ReadAGENTS.mdbefore submitting - it covers conventions, the handler protocol, and how to add a new format or tool.

Convert files between various formats, including images, documents, audio, video, and more.

Convert files (DOCX, XLSX, PPTX, images), HTML, and Markdown to pixel-perfect PDFs — npx stdio or hosted Streamable HTTP, free API key in one click.

MCP server for BulkRender — generate bulk DOCX and PDF documents from Claude, Cursor, Windsurf, and any MCP-compatible AI assistant

Universal document generation and conversion MCP. Generate PDF/DOCX/XLSX from templates+JSON (invoices, contracts, reports), batch generation, 100+ format conversions.

A server for reading and converting documents between PDF, DOCX, and Markdown formats using marker-pdf and pandoc.

MCP for work with docx files. Make copy format from docx files.

Convert Excel and Apple Numbers files to PDF format.

Convert any file or URL to clean AI-ready Markdown. Supports PDF, Word, Excel, PowerPoint, YouTube, ArXiv, Wikipedia, and 18 more formats. Up to 63% fewer tokens for ChatGPT and Claude. Free, no API key required.

A server that converts various file types, including documents, images, audio, and web pages, into Markdown format.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.