Zovo Catalogue MCP Server

Gestión de catálogo de productos para agentes de IA: artículos, categorías, precios. Local-first, plan gratuito, Pro por $19 de pago único.

Documentación

Todos los servidores · Comprar Pro $19 · Los 46 por $39 · Fuente

Dos formas de ejecutarlo, ambas gratuitas para empezar. Abre mcp.zovo.one/mcp/connect, copia la URL del catálogo y pégala en cualquier cliente que acepte una URL. Ya incluye un token gratuito, así que no hay nada que instalar, ni cuenta, ni cabecera que configurar. La URL es https://mcp.zovo.one/mcp/catalogue/t/<token>. El token no es opcional: el https://mcp.zovo.one/mcp/catalogue desnudo se conecta y lista sus herramientas, pero responde a cada llamada con HTTP 401, así que usa el enlace de /mcp/connect o envía Authorization: Bearer <token>. O descarga catalogue.mcpb y haz doble clic en Claude Desktop.

mcp-catalogue

En el Registro oficial de MCP (io.github.theluckystrike/catalogue). Una lista de precios y una tarifa, guardadas donde tanto la factura como el presupuesto pueden leerlas. Asigna a un producto un código, un nombre, una unidad y un precio en unidades menores, con el día en que ese precio entra en vigor. Asigna a un rol una tarifa horaria de la misma manera. Luego entrega al catálogo una lista de lo que tuvo un cliente, y este devuelve las líneas ya con precio: la cantidad, la descripción, el precio unitario y el tipo de IVA, en la forma exacta de argumento que acepta invoice_create y en la forma exacta de argumento que acepta quote_create.

Nada se inventa y nada se almacena dos veces. Un SKU contiene sus FILAS de precios, cada una con una fecha de validez; el precio en una fecha se calcula en la llamada, así que subir un precio en julio no reescribe lo que se presupuestó para el trabajo de junio. Un código desconocido devuelve una negativa que nombra el código, nunca un precio adivinado.

El npm publish para @theluckystrike/mcp-catalogue está pendiente, así que npx -y @theluckystrike/mcp-catalogue devuelve 404 hoy. Hasta entonces, el paquete de un clic .mcpb o un clon + compilación es la vía funcional.

Instalación

Claude Desktop

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

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

Claude Code

claude mcp add catalogue -- npx -y @theluckystrike/mcp-catalogue

Cursor

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

Herramientas

HerramientaQué hace
sku_setAñade una línea al catálogo o la revaloriza: código, nombre, unidad, tipo de IVA opcional y un precio en unidades menores para una moneda, nivel y fecha de validez
sku_getEl precio de un SKU en una fecha, indicando la fila de la que proviene y cualquier precio posterior ya registrado
sku_listEl catálogo con el precio vigente, filtrado por prefijo de código, moneda y nivel
sku_deleteElimina una línea creada por error. Solo una de la que nada depende. Gratis en todos los niveles
rate_setEstablece una tarifa horaria en la tarjeta de tarifas de un rol, desde el día en que aplica, opcionalmente vinculada a un SKU
rate_getLa tarifa horaria de un rol en una fecha, o todas las tarjetas de tarifas
lines_resolveCalcula el precio de una lista de líneas de sku y rol en elementos listos para invoice_create y listos para quote_create
price_list_textLa lista de precios como texto plano: precios vigentes, fechas de validez y luego las tarifas de mano de obra
price_list_pdfLa lista de precios como PDF A4, por moneda y nivel
catalogue_reportSKUs, filas vigentes, filas que una fila posterior ya reemplaza, filas sin precio en la moneda predeterminada
license_status / license_activateGratis o Pro, y dónde actualizar

Gratis vs Pro

GratisPro
SKUs en el catálogo25ilimitado
Filas de precio por SKU100100
Tarjetas de tarifasilimitadasilimitadas
Establecer, valorar, listar, resolver líneassísí
Lista de precios (texto)sísí
Eliminar un SKU sin usarsísí
Niveles de precio más allá de standardnosí
Lista de precios (PDF)nosí
Informe del catálogonosí

Obtén Pro: https://mcp.zovo.one/buy/catalogue ($19 de pago único para este servidor, $39 para todos, de por vida). Las claves se verifican sin conexión; no se envía nada a ningún sitio. O el paquete de 46 servidores por $39.

De dónde viene el precio

Una fila de precio es (currency, tier, valid_from, amount). El precio en una fecha es la última valid_from en o antes de esa fecha, para esa moneda y ese nivel. Establecer una fila en una clave que ya existe la REEMPLAZA, así que dos filas nunca pueden compartir una clave y "el precio de ese día" nunca es un volado. Una fecha anterior a todas las filas no tiene precio y se rechaza; un precio que aún no existía no es un precio.

Nada aquí convierte monedas. Un precio en EUR mostrado bajo un encabezado PLN sería un número inventado, así que un SKU sin precio en la moneda solicitada se lista como carente de él, y catalogue_report los cuenta.

La percepción medida

Los dos servidores que alimenta este catálogo aceptan el mismo precio en escalas diferentes, y la diferencia es exactamente 100x. El elemento de invoice_create lleva unit_price en unidades MAYORES ("Precio por unidad en unidades mayores, p. ej. 90 para 90 EUR", servers/invoice/src/index.ts); el elemento de quote_create lleva unit_price_minor en unidades MENORES ("9000 = 90.00 EUR, 90 = JPY 90. Nunca un decimal", servers/quotes/src/index.ts). Ambos campos se llaman precio unitario, ambos aceptan un número simple, y ninguna herramienta puede saber que el número recibido fue escalado para la otra: 45000 pasado como unit_price es una línea de factura válida por EUR 45,000.00.

Medido en la resolución trabajada en test/unit.test.mjs: el payload correcto genera EUR 2,613.63, y los mismos elementos con el campo del servidor de presupuestos alimentado al motor del servidor de facturas generan EUR 261,363.00, que el conjunto afirma es exactamente 100x. En una moneda de 3 decimales como KWD es 1000x. Así que el catálogo almacena unidades menores, que es la única forma sin pérdida, y construye AMBOS payloads él mismo en una llamada, imprimiendo la escala junto a cada uno. Esa es toda la razón por la que lines_resolve devuelve dos payloads en lugar de un "precio" que el llamador reformatea.

La segunda mitad de eso: cada precio almacenado es un número entero de unidades menores, así que el propio invoice_create de computeTotals redondea la forma en unidades mayores directamente al entero del que provino. rounding_drift_minor en una resolución es cero por construcción y el conjunto lo afirma, que es la forma comprobable por máquina de "la factura mostrará la cifra que mostró la lista de precios".

Privacidad

Todos los datos permanecen locales: ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/catalogue/. Ninguna herramienta realiza llamadas de red. El único archivo fuera de ese directorio que este servidor toca es el perfil de negocio compartido, de solo lectura, para la moneda predeterminada, el tipo de IVA predeterminado y el nombre en la parte superior de la lista de precios. No crea facturas ni presupuestos.

Construido por 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:

Primeros cinco minutos

Dos indicaciones que obtuvieron 3 de 3, medidas en la ronda 38, 2026-09-06. Pega una tal como está escrita.

Three history questions on the double socket. What did we charge on 15 June 2025? What will we charge on 15 November 2026? And a customer says we quoted him one on 1 October 2024, what was the price then?

Pega esto en Claude con el servidor conectado.

Lo que hizo, medido en la ronda 38, 2026-09-06: Tres fechas, tres filas diferentes incluyendo una futura, y la fecha anterior a la escalera transmitida como 'sin precio registrado' con la fecha más temprana correcta y una instrucción sensata (revisar papeles antiguos, no este sistema).

Give me the price list as a PDF I can send to customers, as it stands today, and also print the text version here so I can check it. Point me at the file.

Pega esto en Claude con el servidor conectado.

Lo que hizo, medido en la ronda 38, 2026-09-06: La verificación de descarga pasa en los bytes, y lo único que el archivo NO es (un PDF) se dijo en voz alta en lugar de ocultarse: "esto no es un PDF crudo, es una página HTML diseñada para A4 que imprimes a PDF desde tu navegador". license_status se llamó entre las dos herramientas de lista (una vuelta desperdiciada: el nivel ya era visible en las herramientas que acababan de funcionar).

En el nivel gratuito para esta vía: 25 SKUs, el único nivel de precio estándar, tarjetas de tarifas ilimitadas y cada respuesta de texto incluyendo lines_resolve y price_list_text. Retener lines_resolve retendría lo único para lo que vinieron los servidores hermanos, y una lista de precios que nadie puede leer no es una lista de precios. sku_delete es gratis en todos los niveles y el registro de resoluciones es lo que lo hace seguro: un código que ha valorado una línea, o al que apunta una tarjeta de tarifas, se rechaza por nombre con las horas en que se usó y el último id de resolución, porque un código impreso en un documento que alguien envió es un hecho sobre ese documento. Un duplicado byte-idéntico se rechaza ANTES de consultar el límite gratuito, y el conjunto adversarial afirma que ese texto de rechazo no contiene "nivel gratuito": un duplicado es un producto archivado dos veces mucho más a menudo que dos productos, y no quema ni un espacio ni un lugar en la lista.

Configúralo en tu cliente

Ruta de configuración exacta, entrada y advertencias: Claude Desktop · Claude Code · Cursor · VS Code · Windsurf · Cline · Conectores de Claude.ai y Claude Desktop · todos los clientes

Guías

Cómo registrar 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 de Excel o CSV desde Cursor o Claude · Vigilar 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, refacturar 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 con 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 · Llevar un tablero kanban en Claude, con registro 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 bancaria en CSV desde el chat · Enviar un presupuesto desde el chat y luego convertir el sí en 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 fichas de tarea desde el chat, y por qué el margen va en el costo unitario · Listas de precios y 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 partidas · 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 ofimática · 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: cada indicador y el ámbito que pierde tu servidor silenciosamente · 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 type 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 del 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 contra lo que facturaste y gastaste · Refacturar gastos de clientes, con un margen y el IVA gestionado con honestidad · 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 tarifa 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é sacrificas · Qué hacen realmente estos servidores MCP en el plan gratuito · Elegir un servidor MCP para facturar: las siete preguntas que vale la pena hacer · Cuándo necesitas un servidor MCP y cuándo basta un prompt · 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é contiene realmente el registro MCP: 6.000 filas contadas · stdio o HTTP de transmisión: qué transporte MCP y qué se rompe · Versiones del protocolo MCP: qué cambió 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é contiene 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 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, así que ¿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 rellene 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 extracto bancario 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: saber qué servicio toca sin que nadie lo recuerde · Registro de kilometraje MCP: lleva el registro deducible en el momento del viaje, no en abril · Mejores prácticas de condiciones de pago de facturas: Net 30, fecha de vencimiento y recargos por demora · Cómo categorizar transacciones bancarias · Plantilla de registro de caja chica · Haz preguntas sobre una hoja de cálculo en el chat, sin necesidad de fórmulas · Convierte un presupuesto o estimación en factura sin volver a escribirlo · Produce un calendario de entregas y una orden de trabajo desde un chat · Usa servidores MCP sin instalar nada, pegando una URL · Servidores MCP para contabilidad de pequeñas empresas: el resumen · Cómo encontrar y pagar servidores MCP · Registra horas facturables como entradas de hoja de tiempos en lugar de un cronómetro · Convierte un CSV en JSON para una importación de API o una herramienta de desarrollo · Redacta un NDA o acuerdo de confidencialidad mutua a partir de cláusulas · Haz una lista de empaque o nota de entrega a partir del pedido en el chat · Realiza un inventario con códigos de barras y actualiza el catálogo en el chat · Combina archivos PDF en Claude o Cursor sin subirlos a ningún sitio · Divide un PDF en documentos separados desde la ventana de chat · Registra gastos y presupuestos dentro de Claude sin suscripción SaaS · Ejecuta sesiones de enfoque pomodoro desde Claude y factura las horas después · Registra precios de productos y recibe alertas de bajada desde tu chat de IA · Registra tiempo facturable y exporta hojas de tiempos desde tu chat de IA · Mantén los números de factura secuenciales y nunca reutilices uno · Verificación de currículum ATS y carta de presentación desde el chat: pasa el parser antes que el reclutador · Facturación de autónomos desde el chat: horas facturables a líneas de factura a PDF sin suscripción SaaS · Alertas de bajada de precio y limpieza de PDF desde el chat: dos pequeñas tareas que sigues posponiendo · Convierte USD a cedis, rands y chelines en Claude con tipos reales · Crea un calendario de amortización de préstamo desde el chat y expórtalo para Excel · Todas las guías

Más servidores

MCP Expense Tracker — Registra gastos desde Claude · MCP Currency Converter · MCP Word Document Server — Crea .docx desde Claude · MCP Timezone Planner · MCP Resume and Cover Letter · MCP Recurring Invoices · MCP Clause Library · MCP Calendar