Change Order MCP

Órdenes de cambio contra una cotización u orden de trabajo: deltas, aprobación, valor de contrato vigente.

Documentación

mcp-change-order

Servidor MCP para órdenes de cambio y variaciones de contrato. Órdenes de cambio contra un presupuesto o una orden de trabajo, con el valor del contrato en curso derivado de lo que el cliente aprobó.

Funciona con Claude Desktop, Claude Code, Cursor y cualquier cliente del Protocolo de Contexto de Modelo. Se ejecuta en tu propia máquina, o alojado sin instalación.

Página del producto: https://mcp.zovo.one/s/change-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 de 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/change-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/change-order/t/<token>. Ambas formas funcionan. La URL desnuda sin token responde 401 en tools/call, por lo que el token no es opcional.

Claude Desktop, un clic. Descarga change-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-change-order.git
cd mcp-change-order
npm install && npm run build

Luego apunta tu cliente al punto de entrada compilado:

{
  "mcpServers": {
    "change-order": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-change-order/dist/index.js"]
    }
  }
}

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

change-order demo

Espejo de solo lectura de mcp-servers/servers/change-order. Ver MIRROR.md.

En el Registro oficial de MCP (io.github.theluckystrike/change-order). Órdenes de cambio contra un presupuesto o una orden de trabajo, mantenidas como se mantiene una variación en obra: lo que se añadió, lo que se quitó y lo que cambió, cada uno con una razón y una fecha, enviadas al cliente y respondidas. El valor del contrato en curso es el original más los deltas que el cliente ha APROBADO; lo que aún no han respondido se muestra como pendiente y nunca se suma. Una vez que una orden de cambio es aprobada, el delta regresa como elementos listos para invoice_create en unidades MAYORES y elementos listos para quote_create en unidades MENORES, en una sola llamada, con la escala impresa junto a cada uno.

No se almacena ningún delta. Una orden de cambio contiene sus líneas y su historial de estado; el delta, el valor en curso y el IVA se derivan en cada llamada, con la propia aritmética del servidor de facturación. Nada se inventa: la primera orden de cambio contra una referencia establece el valor del contrato original una vez, cada una posterior lo hereda, y una cifra diferente es rechazada por nombre.

Instalación

Un clic (.mcpb): descarga change-order.mcpb desde la última versión y haz doble clic en él en Claude Desktop: https://github.com/theluckystrike/mcp-servers/releases/latest

Alojado, sin instalación: apunta un cliente basado en URL a https://mcp.zovo.one/mcp/change-order. GET https://mcp.zovo.one/mcp/connect genera un token e imprime una URL lista.

La publicación en npm para @theluckystrike/mcp-change-order está pendiente, por lo que la línea npx a continuación devuelve 404 hoy.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "change-order": {
      "command": "npx",
      "args": ["-y", "@theluckystrike/mcp-change-order"]
    }
  }
}

Claude Code

claude mcp add change-order -- npx -y @theluckystrike/mcp-change-order

Cursor

~/.cursor/mcp.json (global) o .cursor/mcp.json (proyecto), misma entrada que Claude Desktop.

Herramientas

HerramientaQué hace
change_order_createLevantar una orden de cambio contra un presupuesto u orden de trabajo: referencia, cliente, título, fecha y el valor del contrato original en la primera
change_order_add_lineAñadir una línea añadida, eliminada o modificada a un borrador, con su cantidad, precio unitario en unidades menores, razón y fecha
change_order_statusAvanzarla: de borrador a enviada, de enviada a aprobada o rechazada, de borrador o enviada a anulada, cada paso con fecha
change_order_getUna orden de cambio completa: cada línea con su delta, el IVA, el historial y el valor en curso de la referencia
change_order_listÓrdenes de cambio por referencia, estado, cliente y rango de fechas, con deltas aprobados y pendientes por moneda
change_order_deleteEliminar un borrador vacío levantado por error. Gratis en todos los niveles
contract_valueEl valor en curso de una referencia: original, delta aprobado, valor actual, delta pendiente mantenido aparte
change_order_documentLa orden de cambio como documento de texto plano para que el cliente la apruebe
change_order_invoice_payloadEl delta aprobado como elementos invoice_create (unidades MAYORES) y elementos quote_create (unidades MENORES)
license_status / license_activateGratis o Pro, y dónde actualizar

Gratis vs Pro

GratisPro
Órdenes de cambio abiertas (borrador y enviadas)5ilimitadas
Líneas por orden de cambio200200
Levantar, línea, mover, obtener, listar, eliminarsísí
Valor del contrato en cursosísí
Documento de orden de cambionosí
Carga útil de delta lista para facturación, ambas escalasnosí

El límite cuenta las órdenes de cambio ABIERTAS, las que el cliente no ha respondido, no las que hayas levantado alguna vez. Aprobar, rechazar o anular una libera su espacio, y también lo hace change_order_delete en un borrador sin líneas; todas esas acciones son gratuitas en todos los niveles, porque una salida que solo una clave Pro puede alcanzar no es una salida.

Obtén Pro: https://mcp.zovo.one/buy/change-order (pago único de $19, de por vida), o todos los servidores por $39: https://mcp.zovo.one/buy/bundle

La máquina de estados

draft a sent; sent a approved o rejected; draft o sent a void. Aprobado, rechazado y anulado son finales. Un borrador no puede aprobarse directamente: la aprobación es la respuesta del cliente a algo que se le envió. Las líneas se añaden solo mientras una orden de cambio es un borrador; una enviada que necesita otra línea se anula y se levanta de nuevo, para que la aprobación del cliente siempre se refiera a lo que se le envió. Cada paso lleva su propia fecha, y un paso fechado antes del último es rechazado.

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, la cuarentena de almacenes corruptos de @theluckystrike/mcp-timezone/lib, el "hoy" consciente de la zona horaria de @theluckystrike/mcp-quotes/lib. La tasa de IVA, la moneda y el nombre del negocio provienen del perfil de negocio compartido que business_set en el servidor de facturación escribe. Nada se escribe fuera del propio directorio de este servidor, y no se abre ningún almacén hermano.

La percepción medida

Una línea modificada son dos elementos, no uno, porque un elemento neto no muestra al cliente nada que pueda verificar. Una línea que pasa de 3 x EUR 450.00 a 5 x EUR 420.00 vale +EUR 750.00, y la carga útil tentadora es un elemento de cantidad 1 a EUR 750.00. El cliente no puede reproducir esa cifra a partir de nada en la orden de cambio que firmó. La carga útil que emite este servidor es una reversión, -3 x EUR 450.00, y la línea revisada, 5 x EUR 420.00; cada una se reproduce en una calculadora, y computeTotals sobre ambas es el mismo +EUR 750.00, porque el roundHalfUp del servidor de facturación es simétrico en signo. La misma regla lleva una eliminación como cantidad negativa al precio unitario al que se registró, que invoice_create acepta. La suite de unidades vuelve a ejecutar el propio computeTotals del servidor de facturación sobre la carga útil tal como se devuelve y verifica los cuatro valores de elementos y los tres totales, luego alimenta los elementos quote_create al mismo motor como si su cifra MENOR fuera MAYOR y verifica que el neto sea exactamente 100x, de modo que el día que alguien "simplifique" la carga útil a un elemento neto, o mueva un campo entre las dos escalas, la compilación lo diga en lugar del cliente.

Privacidad

Todos los datos permanecen en tu máquina, en ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/change-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 que no posee, el perfil de negocio compartido, y escribe en ningún almacén excepto el suyo.

Construido por theluckystrike. https://github.com/theluckystrike

Usa estos documentos como 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: