Zovo Delivery Schedule MCP Server
Programación de entregas y franjas de rutas para equipos de logística, gestionables por agentes de IA. Local-first, plan gratuito, Pro de $19 único pago.
Documentación
All servers · Buy Pro $19 · All 46 for $39 · Source
Two ways to run it, both free to start. Open mcp.zovo.one/mcp/connect, copy the delivery-schedule URL and paste it into any client that takes a URL. It already carries a free token, so there is nothing to install, no account and no header to set. The URL is https://mcp.zovo.one/mcp/delivery-schedule/t/<token>. The token is not optional: the bare https://mcp.zovo.one/mcp/delivery-schedule connects and lists its tools and then answers every tool call with HTTP 401, so use the link from /mcp/connect or send Authorization: Bearer <token>. Or download delivery-schedule.mcpb and double-click it in Claude Desktop.
mcp-delivery-schedule
In the official MCP Registry (io.github.theluckystrike/delivery-schedule). Dated deliverables against a quote, a work order or a change order. Each one carries what is being handed over, the day it is due, its value in minor units, and a status that moves planned to in progress to delivered to accepted, every step with the day it actually happened. late_report then answers the only question anybody asks about a schedule: what has slipped, as at a date you name. Once the client has signed something off, the accepted milestones come back as invoice_create -ready items in MAJOR units and quote_create -ready items in MINOR units, in one call, with the scale printed against each.
Late is not a status here, it is a reading. A stored "late" flag is a fact about the afternoon somebody last ran the report, and it keeps being reported long after the work lands. So nothing derived is stored: a deliverable holds its due date, its value and its dated history, and the current status, the delivered date, the acceptance note, the lateness and every total are worked out on the call, against the date you passed.
Install
One-click (.mcpb): download delivery-schedule.mcpb from the latest release and double-click it in Claude Desktop: https://github.com/theluckystrike/mcp-servers/releases/latest
Hosted, no install: point a URL-based client at https://mcp.zovo.one/mcp/delivery-schedule. GET https://mcp.zovo.one/mcp/connect mints a token and prints a ready URL.
npm publish for @theluckystrike/mcp-delivery-schedule is pending, so the npx line below returns 404 today.
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"delivery-schedule": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-delivery-schedule"]
}
}
}
Claude Code
claude mcp add delivery-schedule -- npx -y @theluckystrike/mcp-delivery-schedule
Cursor
~/.cursor/mcp.json (global) or .cursor/mcp.json (project), same entry as Claude Desktop.
Tools
| Tool | What it does |
|---|---|
delivery_schedule_create | Open a schedule against a quote, work order or change order: the reference, its own date, the client, a title |
deliverable_add | Add one dated deliverable: what it is, the day it is due, and its value in minor units when it is separately priced |
deliverable_status | Record a dated move: in progress, delivered, and accepted with the client's acceptance note |
deliverable_delete | Delete a deliverable added by mistake, while it is still planned and has nothing recorded against it |
delivery_schedule_get | One schedule in full as at a date, with every deliverable's status, dates, value and lateness |
delivery_schedule_list | Schedules by client, reference and whether the job is finished, with the counts as at a date |
delivery_schedule_delete | Delete an empty schedule opened by mistake. Free on every tier |
late_report | What is late as at a date you name, worst first, with the value at risk per currency |
delivery_schedule_document | The schedule as a plain-text document for the client, with a sign-off block |
milestone_payload | The accepted milestones as invoice_create items (MAJOR units) and quote_create items (MINOR units) |
license_status / license_activate | Free or Pro, and where to upgrade |
Free vs Pro
| Free | Pro | |
|---|---|---|
| Open schedules (a job with anything not yet accepted) | 3 | unlimited |
| Deliverables per schedule | 200 | 200 |
| Open, add, move, get, list, delete | yes | yes |
| What is late, as at any date | yes | yes |
| Delivery schedule document | no | yes |
| Milestone invoice payload, both scales | no | yes |
The cap counts OPEN schedules, the jobs that still owe something, not the jobs you have ever run. Accepting the last deliverable completes a schedule and frees its slot without deleting the record, and delivery_schedule_delete clears an empty one; both are free on every tier, because a way back that only a Pro key can reach is not a way back.
Get Pro: https://mcp.zovo.one/buy/delivery-schedule (one-time $19, lifetime), or all servers for $39: https://mcp.zovo.one/buy/bundle Or the 46-server bundle for $39.
The status machine
planned to in_progress or straight to delivered; delivered to accepted. Accepted is final, and nothing moves back: work the client sent back is a new deliverable with its own due date, so the record keeps both the miss and the fix. Accepting something that was never delivered is refused by name, because acceptance is the client's answer to a handover and a deliverable accepted on a day nothing was handed over has no delivered date to bill from. Every move carries the day it actually happened, and a move dated before the reference document's own date, or before the previous move, is refused so the history reads as a timeline.
What "late" means
A deliverable is late once as_of is PAST its due date and it has not been delivered by then. One due on as_of itself is due_today, not late, which is the same rule the statement server ages an invoice by. A deliverable that was delivered is delivered_late or delivered_on_time by comparing its delivered date with its due date, which is a fact that no longer moves. Every comparison is between two YYYY-MM-DD strings and every day count is the difference of two UTC midnights, so the answer is the same on a laptop in Warsaw and a server in Auckland.
Two readings of the same store, four days apart, differ on purpose:
late_report as_of 2026-04-22 D02 is LATE by 2 days, nothing has been delivered late
late_report as_of 2026-05-05 D02 was DELIVERED LATE by 4 days, D03 is now LATE by 4 days
Deliverables with no price
A deliverable with no value_minor is not worth zero. It is one whose price was never stated here, usually because the job is a lump sum, and adding it in as zero would understate every total with nothing on the page to say so. It is counted apart wherever a total is printed, and milestone_payload lists it under excluded.accepted_but_unpriced rather than billing it. Nothing here invents a price.
Where the money comes from
This server keeps no arithmetic of its own. computeTotals, currencyDecimals, formatMoney and daysBetween are imported from @theluckystrike/mcp-invoice/lib, the corrupt-store quarantine from @theluckystrike/mcp-timezone/lib, the timezone-aware "today" from @theluckystrike/mcp-quotes/lib. The VAT rate, the currency and the business name come from the shared business profile that business_set in the invoice server writes. Nothing is written outside this server's own directory, and no sibling store is opened.
The measured insight
The same deliverable is late, on time and not yet due depending only on the date you ask about, so storing the answer is storing the day somebody asked. D02 in the worked example is due 2026-04-20 and was delivered 2026-04-24. Read at 2026-04-22 it is late by two days with no delivered date at all, even though the store already holds one dated 04-24. Read at 2026-05-01 it is delivered late by four days. Read at 2026-04-19 it is not yet due. One store, three answers, all correct. The unit suite asserts all three from one unchanged sandbox, and a separate suite replays every call under four timezones fourteen hours apart and asserts the responses are byte-identical, so the day somebody reads the report on a laptop that travelled cannot move a client's deadline.
Privacy
All data stays on your machine, in ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/delivery-schedule/. Nothing is sent anywhere. There is no account and no API key. License keys are verified offline. This server reads one file it does not own, the shared business profile, and writes into no store but its own.
Built by theluckystrike. https://github.com/theluckystrike
Set it up in your client
Exact config path, entry and caveats: Claude Desktop · Claude Code · Cursor · VS Code · Windsurf · Cline · Claude.ai and Claude Desktop connectors · all clients
Guides
Cómo rastrear horas facturables dentro de Claude Code y Cursor · Crear un PDF de factura a partir de un mensaje de chat con un servidor MCP · Hacer preguntas sobre un archivo Excel o CSV desde Cursor o Claude · Observar el precio de un producto con Claude y recibir aviso cuando baje · Qué incluye el plan gratuito y qué añade Pro · Registrar gastos y kilometraje en Claude, dividir el IVA, facturar de nuevo a una factura · Convertir divisas en Claude con tipos reales del BCE, sin clave API · Generar propuestas y contratos en Word a partir de un mensaje de chat · Encontrar una hora de reunión entre zonas horarias sin hacer la aritmética · Redactar un currículum y una carta de presentación desde el chat, sin inventar nada · Facturar un anticipo según un calendario sin un SaaS de facturación · Montar un contrato desde tu propia biblioteca de cláusulas, en el chat · Conectar servidores MCP a Claude.ai, Claude Desktop, Cursor y VS Code sin instalar nada · Combinar, dividir y sellar PDF desde el chat, y por qué algunos vuelven como números de glifo · Leer un calendario .ics en Claude: libre y ocupado, conflictos y reuniones facturables · Gestionar un tablero kanban en Claude, con seguimiento de tiempo en la misma tarea · Redimensionar, comprimir y poner marca de agua a imágenes desde un mensaje de chat · Categorizar y conciliar una exportación CSV bancaria desde el chat · Enviar un presupuesto desde el chat y luego convertir el sí en una factura · Poner un código QR de pago SEPA en una factura desde el chat · Comprimir y descomprimir archivos de forma segura desde Claude o Cursor · Depósitos de clientes y anticipos desde el chat, aplicados a tus facturas reales · Activos fijos y depreciación desde el chat, con los tipos que publican las autoridades fiscales · Dietas y viáticos desde el chat, con las tablas de tarifas que publican las autoridades fiscales · Un libro mayor de partida doble a partir de cada servidor que ya ejecutas · Calendarios de préstamos y arrendamientos desde el chat, cerrando exactamente en cero · Órdenes de trabajo y tarjetas de tarea desde el chat, y por qué el margen va en el costo unitario · Listas de precios y tarjetas de tarifas desde el chat, y la brecha de escala de 100x entre la factura y el presupuesto · Órdenes de cambio y el valor del contrato en curso desde el chat, y por qué una línea modificada son dos elementos · Un fondo de caja chica desde el chat, y por qué el cheque no es la suma de los comprobantes · Estados de cuenta de clientes y recordatorios de pago desde el chat, con antigüedad a cualquier fecha que indiques · Notas de crédito y órdenes de compra desde el chat, contra tus facturas reales · Una instalación, todos los servidores: el paquete de suite de oficina · Cerrar un mes en el chat: factura, nota de crédito, anticipo, conciliación bancaria, estado de cuenta · El servidor MCP no aparece en Claude Desktop: las seis comprobaciones que lo encuentran · ¿Dónde está claude_desktop_config.json y qué contiene? · claude mcp add: todas las banderas y el ámbito que pierde silenciosamente tu servidor · Servidores MCP en Windows: spawn npx ENOENT, barras invertidas y el PATH · Instalar estos servidores MCP cuando npx aún no funciona · Configuración de MCP en Cursor: mcp.json, el campo de tipo obligatorio y dónde aparecen los servidores · Qué servidores MCP funcionan sin red en absoluto · Facturar a un cliente de la UE con inversión del sujeto pasivo, desde un mensaje de chat · Presupuesto, depósito, factura, estado de cuenta: todo el ciclo en una conversación · ¿Está este proyecto generando dinero? Horas frente a costos, sin hoja de cálculo · Preparar un paquete de año fiscal para tu contable desde el chat · Llevar un registro de kilometraje en el chat, con la tarifa que realmente reclamas · Conciliar un CSV bancario con lo que facturaste y gastaste · Re-facturar gastos de clientes, con un margen y el IVA gestionado de forma honesta · Perseguir una factura impagada: antigüedad y luego la carta · Un contrato de compraventa desde el chat, con los identificadores verificados y las líneas de firma impresas · Preciar un trabajo desde una tarjeta de tarifas y qué hacer cuando cambia el alcance · Calcular tu tarifa por hora a partir de lo que realmente facturaste · Convertir CSV a xlsx y viceversa sin abrir Excel · Hacer preguntas a una hoja de cálculo en lenguaje natural · Combinar una carpeta de recibos en un solo PDF desde el chat · Dividir un escaneo grande en documentos separados · Enviar un mes de papeleo como un solo archivo, de forma segura · Servidores MCP en VS Code: el error de una palabra que rompe toda configuración · Servidores MCP en Windsurf y Cline: dos valores predeterminados que desperdician una tarde · Servidor MCP local o URL alojada: cuál elegir y qué pierdes · Qué hacen realmente estos servidores MCP en el plan gratuito · Elegir un servidor MCP para facturación: las siete preguntas que vale la pena hacer · Cuándo necesitas un servidor MCP y cuándo un prompt es suficiente · Ubicaciones de archivos de configuración MCP y claves JSON, para cada cliente · Por qué un servidor MCP no aparece, en orden de probabilidad · Cómo funciona realmente la búsqueda en el registro MCP, medido · Qué hay realmente en el registro MCP: 6,000 filas contadas · stdio o streamable HTTP: qué transporte MCP y qué se rompe · Versiones del protocolo MCP: qué cambió en cada una · Cada campo en una entrada de configuración de servidor MCP, por cliente · Ámbitos de configuración MCP: qué definición gana cuando un servidor se define dos veces · Dónde escribe cada cliente MCP sus registros · Distribuir un servidor MCP: un paquete para descargar o una URL para pegar · Qué hay dentro de un paquete MCP .mcpb · Cobrar por un servidor MCP: cómo funciona realmente la licencia · Cuánto texto puede devolver un servidor MCP y cuánto puede describir · Qué comprobar antes de permitir que un servidor MCP se ejecute · Por qué un directorio dice que tu servidor MCP alojado no responde · El registro MCP vincula una URL remota a un nombre de servidor · Las letras mayúsculas en tu nombre de usuario de GitHub cambian tu rango en el registro MCP · Cuántos servidores MCP ya tienen tu palabra en el nombre · Referencia de campos de server.json para el registro MCP · Cuando falla una herramienta MCP, no devuelvas un error JSON-RPC · structuredContent y outputSchema en MCP, y qué DEBE cumplirse · Reglas para nombrar una herramienta MCP y la colisión que nadie planifica · MCP no tiene sesión, entonces, ¿cómo comparten estado dos llamadas a herramientas? · x-mcp-header: reflejar parámetros de herramientas en cabeceras HTTP · Cómo puntúa un directorio a un servidor MCP y por qué tu peor herramienta lo decide · Qué rastreadores de IA obtienen que Googlebot no, medido en 141 URLs · La API de inspección de URL de Search Console cambia su respuesta entre llamadas · Qué servidores MCP funcionan pegando una URL, sin instalar nada · Dónde encontrar servidores MCP que cuestan dinero y cómo pagas realmente · Conseguir que un asistente complete un presupuesto o estimación para un cliente · ¿Existe un servidor MCP para un libro de caja chica o un libro de caja? · Conversión de divisas en un asistente y qué servidor MCP usar · Comprimir y descomprimir archivos desde un asistente y qué hacen las protecciones · Producir un calendario de entregas o un documento de orden de trabajo desde un chat · ¿Enviará un servidor MCP la factura por correo a mi cliente? · ¿Puede un asistente leer una foto de un recibo y registrar el gasto? · ¿Qué servidor MCP puede generar PDF de facturas desde un mensaje de chat? · ¿Puede un servidor MCP leer un PDF de estado de cuenta bancaria y categorizar las transacciones? · Mejores servidores MCP para contabilidad y papeleo de pequeñas empresas en 2026 · Directorio de proveedores MCP: evita que las listas de proveedores se pudran en una hoja de cálculo · Acuerdo de servicio MCP: deja de copiar una plantilla de contrato podrida de internet · Registro de mantenimiento MCP: sabe qué servicio vence sin que nadie lo recuerde · Registro de kilometraje MCP: mantén el registro deducible en el momento del viaje, no en abril · Mejores prácticas de plazos de pago de facturas: Net 30, fecha de vencimiento y recargos por demora · Cómo categorizar transacciones bancarias · Plantilla de registro de caja chica · Todas las guías
Más servidores
Servidor MCP para Facturas — Genera facturas desde Claude · Rastreador de Gastos MCP — Registra gastos desde Claude · Conversor de Divisas MCP · Servidor de Documentos Word MCP — Crea .docx desde Claude · Planificador de Zonas Horarias MCP · Currículum y Carta de Presentación MCP · Facturas Recurrentes MCP · Biblioteca de Cláusulas MCP