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-order aún no está publicado en npm, por lo que un comando npx -y @theluckystrike/mcp-work-order fallará. Las tres rutas anteriores son las que funcionan y cada una es ejercitada por CI.

work-order demo

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

HerramientaQué hace
work_order_createLevanta 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_lineAgrega 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_statusMuévela un paso: borrador, programado, en_progreso, completado, facturado, sellando la fecha y una nota
work_order_getUna 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_listLista órdenes de trabajo por estado, por cliente y por rango de fecha solicitada
work_order_deleteElimina una orden de trabajo levantada por error. Solo borrador sin líneas. Gratis en todos los niveles
completion_report_textEl informe de finalización como texto plano, listo para pegar en un correo electrónico
completion_report_pdfEl informe de finalización como PDF A4, con el bloque de firma
work_order_invoice_payloadUna carga útil lista para invoice_create a partir de las líneas, con IVA a la tasa del perfil compartido
work_orders_reportEl tablero completo: órdenes de trabajo por estado, horas registradas este mes, valor no facturado por moneda
license_status / license_activateGratis o Pro, y dónde actualizar

Gratis vs Pro

GratisPro
Órdenes de trabajo abiertas5ilimitadas
Líneas por orden de trabajo200200
Levantar, registrar, mover, listar, eliminarsísí
Informe de finalización (texto)sísí
Informe de finalización (PDF)nosí
Carga útil de facturanosí
Informe de tableronosí

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: