Work Order MCP
Órdenes de trabajo desde el chat: crear, asignar, rastrear estado y piezas, cerrar con totales de mano de obra. Se combina con cotizaciones y tarjetas de trabajo.
Documentación
mcp-work-order
Servidor MCP para órdenes de trabajo y tarjetas de trabajo para oficios y servicio de campo. Órdenes de trabajo para oficios y trabajo de campo, con precios de la misma forma en que se facturará.
Funciona con Claude Desktop, Claude Code, Cursor y cualquier cliente del Model Context Protocol. Se ejecuta en tu propia máquina, o alojado sin instalación.
Página del producto: https://mcp.zovo.one/s/work-order — qué hace, las herramientas que expone y un endpoint de token en vivo.
Instalación
Alojado, nada que instalar. Obtén un token de https://mcp.zovo.one/mcp/connect (la página de conexión) o https://mcp.zovo.one/mcp/token (el mismo token como JSON); se emite uno anónimo gratuito al instante y una clave Pro funciona de la misma manera. Luego apunta un cliente MCP a https://mcp.zovo.one/mcp/work-order a través de streamable-http y envía el token como Authorization: Bearer <token>.
Si tu cliente no puede configurar encabezados, coloca el token en la ruta en su lugar: https://mcp.zovo.one/mcp/work-order/t/<token>. Ambas formas funcionan. La URL sin token responde 401 en tools/call, por lo que el token no es opcional.
Claude Desktop, un clic. Descarga work-order.mcpb desde la última versión y haz doble clic en él.
Desde el código fuente. El espejo es autónomo: 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-work-order.git
cd mcp-work-order
npm install && npm run build
Luego apunta tu cliente al punto de entrada compilado:
{
"mcpServers": {
"work-order": {
"command": "node",
"args": ["/absolute/path/to/mcp-work-order/dist/index.js"]
}
}
}
@theluckystrike/mcp-work-orderaún no está publicado en npm, por lo que un comandonpx -y @theluckystrike/mcp-work-orderfallará. Las tres rutas anteriores son las que funcionan y cada una es ejercitada por CI.

Espejo de solo lectura de mcp-servers/servers/work-order. Consulta MIRROR.md.
En el Registro oficial de MCP (io.github.theluckystrike/work-order).
Órdenes de trabajo para oficios y trabajo de campo, mantenidas de la misma forma en que se mantiene una tarjeta de trabajo. Levanta una orden de trabajo
contra un cliente (el mismo registro de cliente que usan tus facturas), asígnale una dirección del sitio, la
fecha en que se solicitó, qué es el trabajo y qué tan urgente es. Registra lo que el trabajo realmente usó a medida que
avanza: mano de obra como horas a una tarifa, piezas como una cantidad a un costo unitario con un margen opcional.
Muévela un paso a la vez, de borrador a programado a en progreso a completado a facturado,
cada paso sellado con su fecha y una nota. Cuando esté terminada, entrega al cliente un
informe de finalización con las horas, los materiales, los totales y un bloque de firma, y lleva
la carga útil de la factura directamente a invoice_create sin volver a escribir una sola cifra.
Nada se inventa y nada se almacena dos veces: el valor, las horas, los materiales y el IVA se derivan de las líneas en cada llamada, y los precios unitarios de la carga útil de la factura ya son las unidades facturadas, por lo que la factura reproduce la orden de trabajo hasta la unidad menor.
La publicación en npm para @theluckystrike/mcp-work-order está pendiente, por lo que npx -y @theluckystrike/mcp-work-order devuelve 404 hoy. Hasta entonces, el paquete de un clic .mcpb o un clon+compilación es la ruta que funciona.
Instalación
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o
%APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"work-order": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-work-order"]
}
}
}
Claude Code
claude mcp add work-order -- npx -y @theluckystrike/mcp-work-order
Cursor
~/.cursor/mcp.json (global) o .cursor/mcp.json (proyecto), misma entrada que Claude Desktop.
Herramientas
| Herramienta | Qué hace |
|---|---|
work_order_create | Levanta una orden de trabajo y devuelve su número WO-YYYY-NNNN: cliente, dirección del sitio, fecha solicitada, descripción, prioridad |
work_order_add_line | Agrega una línea: piezas con una cantidad y un costo unitario en unidades menores y un porcentaje de margen opcional, o mano de obra con horas y una tarifa por hora |
work_order_status | Muévela un paso: borrador, programado, en_progreso, completado, facturado, sellando la fecha y una nota |
work_order_get | Una orden de trabajo completa: cada línea con su unidad facturada, las horas, los materiales, el neto y el IVA, y el historial de estados |
work_order_list | Lista órdenes de trabajo por estado, por cliente y por rango de fecha solicitada |
work_order_delete | Elimina una orden de trabajo levantada por error. Solo borrador sin líneas. Gratis en todos los niveles |
completion_report_text | El informe de finalización como texto plano, listo para pegar en un correo electrónico |
completion_report_pdf | El informe de finalización como PDF A4, con el bloque de firma |
work_order_invoice_payload | Una carga útil lista para invoice_create a partir de las líneas, con IVA a la tasa del perfil compartido |
work_orders_report | El tablero completo: órdenes de trabajo por estado, horas registradas este mes, valor no facturado por moneda |
license_status / license_activate | Gratis o Pro, y dónde actualizar |
Gratis vs Pro
| Gratis | Pro | |
|---|---|---|
| Órdenes de trabajo abiertas | 5 | ilimitadas |
| Líneas por orden de trabajo | 200 | 200 |
| Levantar, registrar, mover, listar, eliminar | sí | sí |
| Informe de finalización (texto) | sí | sí |
| Informe de finalización (PDF) | no | sí |
| Carga útil de factura | no | sí |
| Informe de tablero | no | sí |
El límite cuenta las órdenes de trabajo ABIERTAS (borrador, programado, en progreso), no las que hayas
levantado alguna vez, por lo que terminar un trabajo libera su espacio. También lo hace work_order_delete en un borrador que
no tiene líneas, que es gratis en todos los niveles: una salida a la que solo una clave Pro puede llegar no es una salida.
Obtén Pro: https://mcp.zovo.one/buy/work-order (pago único de $19, de por vida), o todos los servidores por $39: https://mcp.zovo.one/buy/bundle
De dónde viene el dinero
Este servidor no mantiene aritmética propia. computeTotals, currencyDecimals,
formatMoney y roundHalfUp se importan de @theluckystrike/mcp-invoice/lib, el renderizador
A4 de @theluckystrike/mcp-billing-docs/lib, la cuarentena de almacén corrupto de
@theluckystrike/mcp-timezone/lib. La tasa de IVA, la moneda y el nombre del negocio provienen
del perfil de negocio compartido que business_set escribe en el servidor de facturas; el
cliente proviene de los registros de clientes de ese servidor. Nada se escribe fuera del directorio propio de este servidor.
La idea medida
Un margen pertenece al costo unitario, no al total de la línea, y una unidad menor es lo que lo dice.
Siete piezas a EUR 12.99 con 15 por ciento adicional es EUR 14.94 por unidad y EUR 104.58 en
la línea. Marcar el total de la línea en su lugar es round(9093 * 1.15) = 10,457 unidades menores, un
centavo menos. Ambos parecen la misma suma, y solo uno de ellos es la cifra que se le facturará
al cliente: el servidor de facturas redondea el precio unitario a la unidad menor primero y multiplica
(su base D-R24), por lo que una orden de trabajo que cotiza la cifra del total de la línea cotiza un número que su propia
factura no puede reproducir. La brecha aparece en cada línea cuyo margen unitario no cae en
un centavo completo, nunca se compensa entre líneas porque es una dirección de redondeo y no
un error, y es invisible en una verificación de hoja de cálculo porque ambas bases suman correctamente. La
suite de unidades afirma la brecha de 1 unidad explícitamente, por lo que un cambio de base falla la compilación en lugar de
re-preciar silenciosamente cada trabajo en el tablero.
Privacidad
Todos los datos permanecen en tu máquina, en ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/work-order/.
Nada se envía a ningún lugar. No hay cuenta ni clave de API. Las claves de licencia se verifican
sin conexión. Este servidor lee un archivo hermano, el clients.json del servidor de facturas, y escribe
en ningún almacén excepto el suyo propio.
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 Docs MCP: https://gitmcp.io/theluckystrike/mcp-work-order