Office Suite MCP
Un solo paquete: docx, xlsx, pdf, combinación de correspondencia y plantillas para propuestas, cotizaciones y contratos desde el chat. Todo local.
Documentación
mcp-office-suite
Servidor MCP para contabilidad y papeleo de pequeñas empresas: facturas, PDFs, hojas de cálculo, documentos de Word, seguimiento de tiempo y gastos. Una sola instalación que expone todas las herramientas de los 45 servidores alojados, 418 en total.
Funciona con Claude Desktop, Claude Code, Cursor y cualquier cliente del Protocolo de Contexto de Modelos. Se ejecuta en tu propia máquina: este no tiene un endpoint alojado, así que instálalo desde el paquete o desde el código fuente.
Instalación
Claude Desktop, un clic. Descarga office-suite.mcpb desde la última versión y haz doble clic en él.
Desde el código fuente. El espejo es autocontenido: cada dependencia de @theluckystrike/* está incluida, por lo que un clon nuevo se compila sin configuración adicional.
git clone https://github.com/theluckystrike/mcp-office-suite.git
cd mcp-office-suite
npm install && npm run build
Luego apunta tu cliente al punto de entrada compilado:
{
"mcpServers": {
"office-suite": {
"command": "node",
"args": ["/absolute/path/to/mcp-office-suite/dist/index.js"]
}
}
}
@theluckystrike/mcp-office-suiteaún no está publicado en npm, por lo que un comandonpx -y @theluckystrike/mcp-office-suitefallará. Las tres rutas anteriores son las que funcionan y cada una es verificada por CI.

Espejo de solo lectura de mcp-servers/servers/office-suite. Consulta MIRROR.md.
En el Registro oficial de MCP (io.github.theluckystrike/office-suite-time-invoice-expense-excel-price).
Una sola instalación para toda la oficina del freelancer. Este servidor MCP actúa como proxy de los 31 servidores hermanos en este repositorio, por lo que un cliente obtiene todas sus 292 herramientas detrás de una única entrada de configuración en lugar de 31. La lista de hijos se publica en tiempo de ejecución como el recurso office://tools_map, que es la única cifra en la que confiar: se lee del servidor en ejecución, no de este archivo. Internamente, inicia cada servidor hermano como su propio proceso hijo stdio, reenvía tools/call, resources/* y prompts/* al hijo que posee el nombre, y fusiona su estado de licencia en un par license_status / license_activate. No se reimplementa nada: cada servidor hijo se ejecuta exactamente como lo hace de forma independiente, con su propio almacenamiento JSON local.
Cada herramienta de time-tracker, price-tracker, spreadsheet e invoice, un solo claude mcp add.
Instalación en 60 segundos
La publicación en npm de @theluckystrike/mcp-office-suite (y sus dependencias) está pendiente. Hasta entonces, el paquete de un clic .mcpb o un clon+compilación es la ruta que funciona, ambas verificadas a continuación. Este servidor está empaquetado como office-suite.mcpb en la versión v0.2.1 y está listado en el registro oficial de MCP (io.github.theluckystrike/office-suite-time-invoice-expense-excel-price).
Un clic (.mcpb): descarga office-suite.mcpb desde la última versión y haz doble clic en Claude Desktop:
https://github.com/theluckystrike/mcp-servers/releases/latest
(claude_desktop_config.json):
{
"mcpServers": {
"office-suite": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-office-suite"]
}
}
}
Claude Code:
claude mcp add office-suite -- npx -y @theluckystrike/mcp-office-suite
(.cursor/mcp.json):
{
"mcpServers": {
"office-suite": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-office-suite"]
}
}
}
El formulario npx anterior comienza a funcionar en cuanto se publique el paquete. Hasta entonces, usa el paquete .mcpb anterior, o compila desde el código fuente con exactamente estos comandos:
git clone https://github.com/theluckystrike/mcp-servers.git && cd mcp-servers
npm install
npm run build
Se requiere npm run build (sin -w) aquí; compila mcp-license y cada servidor hermano que office-suite inicia como hijo, y luego office-suite mismo. Luego apunta el command de tu cliente a node con un argumento: la ruta absoluta a servers/office-suite/dist/index.js.
Para ejecutar cada servidor en modo Pro, establece MCP_LICENSE_KEY en el mismo bloque de configuración, o llama a license_activate una vez con tu clave; se reenvía a cada hijo conectado. La activación es de todo o nada: la respuesta es un error a menos que cada hijo acepte la clave, e imprime una tabla por hijo (OK / FAILED con el mensaje propio de cada hijo) para que un paquete que es mitad Pro no pueda parecer un éxito.
Por qué un servidor en lugar de treinta y uno
La agregación es lo que recompensa el uso en esta categoría: el servidor más utilizado que rastreamos es una puerta de enlace agregadora de herramientas con 2,530 herramientas y 419,019 usos, 7.5 veces el siguiente servidor y 30 veces la mediana de la cohorte. Un usuario que quiere "cosas de oficina" no debería tener que agregar treinta y un servidores MCP separados a una configuración de cliente. Instalar este obtiene todas las herramientas a continuación.
Herramientas
Los nombres de las herramientas se pasan sin cambios desde cada hijo. Si este paquete alguna vez actúa como proxy de dos hijos que registran el mismo nombre de herramienta, ambos se exponen con un prefijo <child>_<tool> en su lugar; los pares renombrados actuales se enumeran en Herramientas renombradas a continuación.
time-tracker
| Herramienta | Qué hace |
|---|---|
timer_start | Inicia un cronómetro para un proyecto; detiene y registra cualquier temporizador anterior en ejecución |
timer_stop | Detiene el temporizador en ejecución y lo registra como una entrada de tiempo |
timer_status | Muestra el temporizador en ejecución y las horas totales de hoy |
entry_add | Registra tiempo que ya trabajaste, con inicio más fin o minutos |
entry_list | Lista las entradas de tiempo registradas como tabla (gratis: últimos 7 días) |
entry_delete | Elimina una entrada de tiempo por id |
entry_edit | Cambia campos de una entrada existente |
project_set_rate | Establece la tarifa por hora y la moneda para un proyecto |
report | Horas y dinero por proyecto, día, tarea o etiqueta (agrupación por etiqueta es Pro) |
export_csv | Exporta la hoja de tiempos a un archivo CSV |
invoice_summary | Convierte tiempo facturable rastreado en partidas de factura |
price-tracker
| Herramienta | Qué hace |
|---|---|
price_check | Verifica el precio actual de un producto ahora mismo |
watch_add | Comienza a vigilar una URL de producto para detectar caídas de precio |
watch_list | Lista todos los productos vigilados y su último precio |
watch_remove | Deja de vigilar un producto |
watch_refresh | Vuelve a verificar todas las vigilancias (o una) inmediatamente |
price_history | Historial de precios para un producto vigilado |
price_add_manual | Registra un precio manualmente, para sitios que bloquean la obtención |
alerts_pending | Vigilancias que cayeron por debajo de su precio objetivo |
spreadsheet
| Herramienta | Qué hace |
|---|---|
sheet_info | Resumen de un archivo CSV/XLSX: hojas, columnas, número de filas |
sheet_read | Lee filas de una hoja de cálculo |
sheet_query | Filtra, agrupa y ordena filas |
sheet_stats | Estadísticas por columna (mín, máx, media, suma, distintos) |
sheet_find | Busca texto en una hoja de cálculo |
sheet_write | Escribe filas en una hoja de cálculo |
sheet_add_column | Agrega una columna calculada |
sheet_convert | Convierte entre CSV y XLSX |
invoice
| Herramienta | Qué hace |
|---|---|
business_set | Establece tu perfil de negocio: nombre, dirección, ID de IVA, IBAN, moneda predeterminada y términos |
client_add | Almacena un cliente para que las facturas puedan referirse a él por nombre |
client_list | Lista cada cliente almacenado |
invoice_create | Crea una factura a partir de partidas, con impuesto y descuento |
invoice_from_hours | Crea una factura a partir de horas trabajadas a una tarifa |
invoice_list | Lista facturas |
invoice_get | Obtiene una factura por id o número |
invoice_mark_paid | Registra un pago contra una factura |
invoice_pdf | Renderiza una factura como archivo PDF |
overdue_report | Facturas vencidas, por cuántos días (Pro) |
En todo el paquete
| Herramienta | Qué hace |
|---|---|
license_status | Estado Gratis/Pro de cada servidor proxy, y el enlace de actualización del paquete |
license_activate | Activa una clave Pro del paquete en todos los servidores a la vez. Devuelve un error con una tabla por hijo a menos que todos la acepten |
Los recursos y avisos registrados por cualquier hijo (por ejemplo, el recurso timetracker://today de time-tracker y el aviso daily_standup) también se proxean bajo sus nombres originales.
Herramientas renombradas
Dos hijos pueden registrar el mismo nombre de herramienta; invoice y docx ambos tienen business_set. El paquete entonces expone ambos, con el prefijo del servidor del que provienen (invoice_business_set, docx_business_set), anuncia los renombres una vez al inicio, y reescribe la respuesta del propio hijo para que una respuesta que decía "Ejecuta business_set ..." diga el nombre que realmente puedes llamar. El mapeo completo se publica como el recurso office://tools_map: nombre expuesto -> child.tool, con los pares renombrados listados por separado.
Gratis vs Pro
Cada servidor hijo mantiene su propio nivel gratuito exactamente como se documenta en su propio README (consulta cada servers/<name>/README.md). Este paquete no cambia nada sobre esos límites; solo cambia cuántas entradas de configuración se necesitan para alcanzarlos todos.
Una sola clave Pro de paquete ($39 de pago único, de por vida) desbloquea Pro en todos los servidores del paquete, en lugar de comprar la clave de $19 de cada servidor por separado. Actívala una vez aquí y se reenvía a cada hijo.
Obtén Pro: https://mcp.zovo.one/buy/bundle
Procesos hijos
Cada hijo se ejecuta como su propio proceso stdio. Dos cosas que el proxy hace en su nombre:
- Su stderr se drena hacia el nuestro, una línea a la vez, etiquetada con el hijo del que proviene (
[invoice] ...). El stderr de un hijo es una tubería con un pequeño buffer del SO; si no se lee, un hijo que registró más que ese buffer se bloqueaba enwrite()y la llamada de herramienta que estaba respondiendo nunca regresaba. - Un hijo que muere rechaza sus solicitudes en vuelo antes de que el paquete intente reiniciarlo, para que una llamada proxy falle rápido en lugar de colgarse hasta el tiempo de espera del cliente, donde un reintento podría repetir una mutación que ya se había aplicado.
Privacidad
Cada servidor hijo almacena sus datos localmente, en ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/<name>/ por servidor. Este paquete no agrega almacenamiento propio y no envía nada a ningún lugar; solo canaliza stdio entre tu cliente MCP y los procesos hijos que inicia en tu propia máquina.
expense-tracker
PENDIENTE: servers/expense-tracker/dist aún no existe en este repositorio. Una vez que ese servidor esté compilado y publicado, agrégalo a CHILDREN en src/index.ts, su dependencia a package.json, su paso de compilación al Dockerfile, y su tabla de herramientas a este README.
Construido por theluckystrike (https://github.com/theluckystrike).
Usa estos documentos como un servidor MCP
Cualquier cliente MCP (Claude, Cursor, Windsurf, VS Code) puede leer la documentación de este repositorio directamente a través de GitMCP — sin instalación:
- URL de documentos MCP: https://gitmcp.io/theluckystrike/mcp-office-suite