Zovo Calendar MCP Server
Calendario y programación compartidos para equipos: eventos, disponibilidad, recordatorios. Local-first, plan gratuito, Pro por $19 de pago único.
Documentación
All servers · Buy Pro $19 · All 46 for $39 · Source
Dos formas de ejecutarlo, ambas gratuitas para empezar. Abre mcp.zovo.one/mcp/connect, copia la URL del calendario 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/calendar/t/<token>. El token no es opcional: el https://mcp.zovo.one/mcp/calendar desnudo se conecta y lista sus herramientas, pero luego responde a cada llamada con HTTP 401, así que usa el enlace de /mcp/connect o envía Authorization: Bearer <token>. O descarga calendar.mcpb y haz doble clic en Claude Desktop.
mcp-calendar
Tu aplicación de calendario puede mostrarte el próximo martes. No puede decirte a dónde fue realmente tu semana, qué dos cosas aceptaste al mismo tiempo, ni cuántas horas facturables valieron las reuniones del mes pasado. Este servidor lee el archivo .ics que tu calendario ya exporta y responde esas preguntas: eventos en cualquier ventana con series recurrentes expandidas correctamente, bloques ocupados combinados y los huecos libres reales dentro de tu horario laboral, cada doble reserva entre calendarios de trabajo y personales a la vez, una .ics limpia solo con los eventos que elegiste, y la entrada de tiempo exacta para una reunión que deberías haber facturado. No se conecta ninguna cuenta, no se sincroniza nada, y el archivo de calendario permanece en tu máquina como texto plano.
Creado por theluckystrike.
En el Registro oficial de MCP (io.github.theluckystrike/calendar-ics-reader-events-freebusy-conflicts).
Listado en el AI Product Index — endpoint remoto en vivo en mcp.zovo.one/s/calendar, plan gratuito, sin registro.

Importa el .ics que tu calendario exporta, luego pregunta qué hay, cuándo estás libre y qué conflictos hay, cero configuración, todo local.
Instalación en 60 segundos
La publicación en npm para @theluckystrike/mcp-calendar está pendiente. Hasta entonces, el paquete de un clic .mcpb o un clon+compilación son la vía funcional, ambos verificados abajo.
Un clic (.mcpb): descarga calendar.mcpb de la última versión y haz doble clic en Claude Desktop: https://github.com/theluckystrike/mcp-servers/releases/latest
(claude_desktop_config.json):
{
"mcpServers": {
"calendar": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-calendar"]
}
}
}
Claude Code:
claude mcp add calendar -- npx -y @theluckystrike/mcp-calendar
(.cursor/mcp.json):
{
"mcpServers": {
"calendar": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-calendar"]
}
}
}
El formulario npx de arriba empieza a funcionar en cuanto se publique el paquete. Hasta entonces, usa el paquete .mcpb de arriba, o compila desde el código fuente con exactamente estos cuatro comandos:
git clone https://github.com/theluckystrike/mcp-servers.git && cd mcp-servers
npm install
npm run build -w packages/mcp-license -w servers/timezone -w servers/calendar
Luego apunta el command de tu cliente a node con un argumento: la ruta absoluta a servers/calendar/dist/index.js.
Para ejecutar en modo Pro, establece MCP_LICENSE_KEY en el mismo bloque de configuración, o llama a license_activate una vez con tu clave.
Cómo extraer el .ics de tu calendario
| Aplicación | Dónde |
|---|---|
| Google Calendar | Configuración -> Importar y exportar -> Exportar. Obtienes un zip; importa el .ics que contiene. |
| Apple Calendar | Archivo -> Exportar -> Exportar... |
| Outlook (escritorio) | Archivo -> Guardar calendario, formato iCalendar (.ics) |
| Outlook / Microsoft 365 (web) | Configuración -> Calendario -> Calendarios compartidos -> Publicar, luego usa el enlace ICS (Pro) |
| Cualquier otra cosa | Cualquier URL de feed publicado que termine en .ics, o webcal:// (Pro) |
Luego: ics_import {path: "~/Downloads/mike@example.com.ics", name: "work"}
Herramientas
| Herramienta | Qué hace |
|---|---|
ics_import | Lee un archivo .ics (path), contenido pegado (text) o un feed público (url, Pro) y lo guarda localmente bajo un nombre. Importar el mismo nombre de nuevo lo reemplaza. |
calendars_list | Cada calendario importado: nombre, fuente, número de eventos, tamaño, cuándo se importó. |
events_list | Cada evento entre dos fechas con series recurrentes expandidas a ocurrencias reales, ordenado, en tu propia zona horaria. Cada fila lleva un id. |
events_search | Eventos cuyo título, descripción, ubicación, organizador o asistentes contienen una frase. |
free_busy | Bloques ocupados combinados y los huecos libres dentro de tu horario laboral, día a día. Los eventos marcados como libres/transparentes no cuentan como ocupados. |
conflicts | Cada par de eventos que se superponen, con la superposición en minutos — en todos los calendarios, así se detecta una llamada de cliente que choca con la recogida del colegio. Una ventana más larga se acorta a los 31 días libres y se responde, nunca se rechaza. |
next_event | Lo siguiente que no ha comenzado, y cuánto falta para que empiece. |
event_export | Escribe los eventos elegidos (por id, o una ventana completa) en un nuevo .ics que puedes enviar. Horas en UTC, así llega correctamente a cualquier cliente. |
event_to_time_entry | Convierte una reunión en los argumentos exactos para el entry_add del rastreador de tiempo, para que una llamada se convierta en tiempo facturable sin volver a escribirlo. |
ics_forget | Elimina un calendario y su copia local. |
license_status / license_activate | Muestra el nivel; activa una clave Pro sin conexión. |
El recurso calendar://today da el horario de hoy en una sola lectura. El prompt plan_my_day recorre todo el ciclo: qué hay, qué conflictos hay, dónde están los tramos libres, y qué reuniones terminadas facturar.
Qué maneja el analizador
Escrito contra exportaciones reales, no solo contra la especificación: plegado de líneas (CRLF, LF simple y CR simple, y pliegues que Exchange coloca dentro de un carácter multibyte, que se reúnen en los bytes antes de decodificar), escape \n \, \; \\, eventos de día completo con DTEND exclusivo, DURATION en lugar de DTEND, TZID y horas UTC, horas flotantes, RRULE para HOURLY, DAILY, WEEKLY, MONTHLY y YEARLY con COUNT, UNTIL (inclusivo), INTERVAL, BYDAY incluidos ordinales (2MO, -1FR), BYMONTHDAY, BYMONTH y BYSETPOS, EXDATE, RDATE, anulaciones RECURRENCE-ID (la instancia movida reemplaza a la original en lugar de aparecer dos veces), STATUS:CANCELLED, TRANSP:TRANSPARENT y bloques VALARM dentro de un evento. Un evento que no puede leer se omite y se cuenta en lugar de costarte el resto del archivo.
FREQ=MINUTELY y FREQ=SECONDLY deliberadamente no se expanden: una sola regla así llena cualquier ventana con miles de ocurrencias y entierra el resto de la semana. Esos eventos se listan en su primera ocurrencia y el motivo se dice en voz alta. Una regla sin COUNT y sin UNTIL se expande solo hasta la ventana que pediste.
Las exportaciones escritas por este servidor mantienen los eventos de día completo como valores DATE, así un festivo sale como el mismo día que llegó en lugar de un bloque con hora el día anterior en la zona de tu máquina.
VTIMEZONE se ignora deliberadamente. Las reglas DST inline de un archivo solo son tan recientes como la aplicación que lo escribió; se conserva el TZID y cada desplazamiento se calcula desde los datos ICU dentro de tu compilación de Node, que es lo que mantiene una reunión semanal de Varsovia a las 10:00 en hora local a las 10:00 a través del cambio de reloj de marzo.
Gratis vs Pro
| Gratis | Pro ($19 único pago) | |
|---|---|---|
| Calendarios guardados | 2 | ilimitados |
| Ventana por pregunta | hasta 31 días | cualquier ventana |
conflicts sobre una ventana más larga | respondida para los primeros 31 días, límite nombrado | cualquier ventana |
| Eventos por exportación | 50 | ilimitados |
| Importar desde una URL o feed webcal | -- | sí |
| Todo lo demás | completo | completo |
Obtén Pro, o $39 por cada servidor del conjunto, de por vida. O el paquete de 46 servidores por $39.
Privacidad
Todo es local. El archivo de calendario que importas se copia a ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/calendar/ y se lee desde allí; eliminar ese directorio restablece el servidor. Hay exactamente una llamada de red en todo el servidor, y solo cuando pasas un url tú mismo: obtiene esa dirección una vez, con un tiempo de espera de 12 segundos, un límite de 5 MB y un rechazo en direcciones loopback, privadas y de metadatos de nube. No se sube nada, no se vincula ninguna cuenta, y las claves de licencia se verifican sin conexión.
Se combina con
- mcp-timezone, este servidor lee su zona horaria y el motor
.icsde él: convierte una hora de reunión, encuentra huecos entre países, escribe una invitación. - mcp-time-tracker,
event_to_time_entryle pasa una reunión terminada; él rastrea y reporta las horas. - mcp-invoice, convierte esas horas rastreadas en una factura numerada.
- office-suite, varios servidores detrás de una sola instalación, una entrada de configuración.
Preguntas frecuentes
No. No hay OAuth, ni token, ni sincronización. Exportas un archivo (o pegas una URL de feed público en Pro) y se lee localmente. Eso también significa que una importación es una instantánea: vuelve a importar cuando el calendario haya avanzado.
Sí, y eso es la mayor parte del código. Una serie semanal se expande en el reloj de pared, así una reunión de Varsovia a las 10:00 se mantiene a las 10:00 a través del cambio de DST en lugar de derivar a las 11:00. Mensual el día 31 omite febrero en lugar de pasar a marzo, UNTIL incluye la ocurrencia que cae exactamente en él, y una instancia movida reemplaza a la original.
No lo es: RFC 5545 hace DTEND exclusivo para un evento de día completo, así 1--3 de junio significa el 1 y el 2. Este servidor sigue la especificación, que es lo que también hace tu aplicación de calendario.
Escribe archivos .ics con event_export, que puedes importar en cualquier lugar. Nunca modifica el calendario que leyó.
5 MB, que son unos pocos miles de eventos. Exporta un rango de fechas más estrecho si un historial completo es más grande que eso.
Primeros cinco minutos
Tres prompts que puntuaron 3 de 3, medidos en la ronda 18, 2026-09-05. Pega uno tal como está escrito.
Here is my work calendar. Import it as Work. [1,594-byte .ics pasted as text, 8 events, week of 2026-09-07, Europe/Warsaw]
Pega esto en Claude con el servidor conectado.
Lo que hizo, medido en la ronda 18, 2026-09-05: Un ics_import {name: Work, text: <8 events>}.
What is on my calendar next week?
Pega esto en Claude con el servidor conectado.
Lo que hizo, medido en la ronda 18, 2026-09-05: Un events_list {calendar: Work, from: 2026-09-07, to: 2026-09-14}; el propio modelo redujo la ventana cruda de 9 filas (que derramaba una fila en la ocurrencia del standup del lunes siguiente) de vuelta a Lun 9/7-Dom 9/13 para 'la próxima semana'.
Where do I have a free two-hour block next week between 9 and 17 Warsaw time?
Pega esto en Claude con el servidor conectado.
Lo que hizo, medido en la ronda 18, 2026-09-05: Un free_busy {calendars: [Work], zone: Europe/Warsaw, work_start: 09:00, work_end: 17:00}.
En el nivel gratuito para esta vía: 2 calendarios, ventanas de hasta 31 días, exportaciones de hasta 50 eventos, comprobaciones de conflictos respondidas sobre los primeros 31 días de cualquier ventana.
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
Comparado con las alternativas
MCP Calendar vs mcp-ical y google-calendar-mcp - qué servidor MCP elegir · todas las comparaciones
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 · 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, refacturar a una factura · Convertir divisas en Claude con los 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 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 y anticipos de clientes 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 y recordatorios de pago desde el chat, con antigüedad en 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: todas las banderas 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 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 sola 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 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é sacrificas · 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 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ó 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é 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 posición 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 los parámetros de la herramienta en los encabezados 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 URL · 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 entrega 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 a partir de un mensaje de chat? · ¿Puede un servidor MCP leer un PDF de estado de cuenta 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: sabe qué servicio vence 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 · Todas las guías
Más servidores
MCP Barcode · MCP Zip · MCP Billing Docs · MCP Deposits · MCP Per Diem Calculator — Viáticos de empleados desde Claude · Servidor MCP para registro de activos fijos — Depreciación desde Claude · Servidor MCP para estados de cuenta — Saldos de clientes desde Claude · Servidor MCP para libro de caja — Recibos, pagos y saldos desde Claude