Skip to main content

The Office Worker — office-worker-mcp

Your agent's document clerk. Genera documentos de oficina profesionales — PDF, Word, Excel y PowerPoint — desde datos + un tema corporativo, y lee PDFs (texto, tablas y formularios). Diseñado para agentes de IA (Hermes, Claude, Cursor) vía MCP, 100% local-first.

pip install office-worker-mcp          # instala librería + MCP server + CLI 'owi'

Conectalo a tu agente (ejemplo config MCP / stdio):

{ "mcpServers": { "office-worker": { "command": "office-worker-mcp" } } }

Y listo: le pedís "haceme una factura/informe/deck" en lenguaje natural y tu agente usa las tools del oficinista para producir el archivo bien diseñado.

Por qué existe (diferenciadores)

Los MCPs de documentos existentes son CRUD genéricos (47+ tools que inflan el contexto) y no cubren diseño ni PDF como entrada. El Office Worker hace lo contrario:

office-mcp / takos The Office Worker
Tools ~47–80 CRUD genéricas 8 poderosas (~2K tok/turno vs ~6.4K)
Plantillas con variables ✅ Jinja ({{ var }})
Temas corporativos (paleta/fuente) ❌ parámetros sueltos ✅ aplicable de una vez a todos los formatos
PDF como input (leer/tablas/formularios) ✅ PyMuPDF + pdfplumber + pypdf
PPTX editable (textos nativos, no imágenes) parcial ✅ html-to-pptx verificado
Guía anti-loop para agentes ✅ SKILL.md con reglas probadas en producción

Las 8 tools

Tool Qué hace
render_document PDF profesional desde plantilla HTML/Jinja + datos + tema (WeasyPrint)
create_word .docx con h1/h2/párrafos/tablas, tema aplicado (python-docx)
create_excel .xlsx multi-hoja con paleta y filas alternas (openpyxl)
create_pptx .pptx editable desde slides declarativas (html-to-pptx + Playwright)
read_pdf Extrae texto por página + metadatos de un PDF (input)
pdf_extract_tables Tablas estructuradas de un PDF (pdfplumber)
pdf_list_form_fields Campos de formulario AcroForm de un PDF (pypdf)
list_themes Devuelve la paleta/fuente del tema activo como referencia de diseño

Uso rápido (sin agente, vía CLI o Python)

from office_worker.core import create_word, create_excel, render_pdf

create_word("acta.docx", title="Acta", subtitle="Reunión", blocks=[
    {"type":"h2","text":"Puntos"}, {"type":"p","text":"Decisión tomada"}])

create_excel("balance.xlsx", title="Balance", sheets=[{"name":"Resumen",
    "headers":["Rubro","Monto"],"rows":[["Ingresos",100],["Gastos",40]]}])

Requisitos locales

  • Python ≥ 3.9 · WeasyPrint (necesita fontconfig/pango en Linux) · LibreOffice opcional.
  • PPTX editable (opcional): pip install office-worker-mcp[pptx] + playwright install chromium. Sin este extra, las tools de PDF/Word/Excel funcionan igual; solo create_pptx queda deshabilitada.
  • Todo corre en local; sin cloud.

Desarrollo & tests

pip install -e ".[dev]"
pytest            # test_core.py (núcleo) + test_e2e_mcp.py (MCP end-to-end, 8/8 tools)

El test E2E levanta el servidor MCP real, hace handshake y ejecuta cada tool creando/leyendo archivos válidos en disco.

Licencia

MIT — ver LICENSE. Agradecimientos en NOTICE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

office_worker_mcp-0.1.0.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

office_worker_mcp-0.1.0-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file office_worker_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: office_worker_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for office_worker_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ea183f2893fe0e0dfbe0531c98a96019e4a968a87b54a3818dd1780980e9ac71
MD5 1093c76c9ed783996423929211b1cad0
BLAKE2b-256 f1686914d9aefba23eae7a8b64a33b0afb9b9cd55068a62a2f18470f82ba4c89

See more details on using hashes here.

File details

Details for the file office_worker_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for office_worker_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 718109194ba9503405b368677665bce06960ad7f550f24c733be544247c866bd
MD5 27b3181d9df5954665b669d69c9035b9
BLAKE2b-256 d64f2e9a912766d8039b723d104b0cc0032cdcacf915931235f901922c479a9d

See more details on using hashes here.

Release history Release notifications | RSS feed

0.9.7

2 files

0.9.6

2 files

0.9.5

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.2.0

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page