InviteKit Calendar Files

.ics files & calendar links

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
100%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,717Tokens (definiciones de herramientas)
~13.1 KBTamaño de respuesta típico
Impacto significativo en la atención (2.12% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "calendar-invite": {
      "url": "https://calendar-invite.zovo.one/mcp"
    }
  }
}

Puntos de conexión remotos

https://calendar-invite.zovo.one/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (2)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢generate_calendar_event(title, start, end, duration_minutes, all_day, ...)

Use this when the user wants a calendar invite, an .ics file, or an add-to-calendar link (Google Calendar, Outlook, Office 365, Yahoo) for one event or one repeating event: a webinar, class, meeting, party, deadline, or launch. Takes the title, local start/end and the event's time zone (city or IANA zone), or dates only for all-day events, plus optional location, description, link, organizer name, reminders, and a repeat rule (daily, weekly on chosen weekdays, monthly by date, nth weekday such as the last Friday, or the first/last weekday of the month, yearly; with count, until date, and skipped dates). Returns a downloadable RFC 5545 .ics file with time zone data, four add-to-calendar links, and the first 5 dates in the event's zone and optional attendee zones, with daylight saving changes flagged. Does not send invitations, read or change anyone's calendar, or track RSVPs. Do not use for a list of different sessions (use generate_event_series) or for finding a meeting time across zones.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 200,
      "description": "Event title, e.g. Product launch webinar."
    },
    "start": {
      "type": "string",
      "maxLength": 40,
      "description": "Local start YYYY-MM-DDTHH:MM in the event's time zone, e.g. 2026-11-05T18:30, or a date YYYY-MM-DD for an all-day event. No UTC offset."
    },
    "end": {
      "description": "Local end YYYY-MM-DDTHH:MM, or just a time HH:MM on the start day, e.g. 21:00. For all-day events, the last day YYYY-MM-DD (inclusive). Default: 1 hour, or 1 day for all-day.",
      "type": "string",
      "maxLength": 40
    },
    "duration_minutes": {
      "description": "Length in minutes instead of end, e.g. 90.",
      "type": "integer",
      "minimum": 1,
      "maximum": 20160
    },
    "all_day": {
      "description": "true for an all-day event (dates only), e.g. a conference day or a deadline. Automatic when start has no time.",
      "type": "boolean"
    },
    "location": {
      "description": "Venue, address, or meeting room shown in the calendar, e.g. Pier 39, San Francisco.",
      "type": "string",
      "maxLength": 300
    },
    "description": {
      "description": "Event details or agenda (plain text; line breaks allowed), e.g. Bring a laptop.",
      "type": "string",
      "maxLength": 1500
    },
    "url": {
      "description": "Optional event page or video-call link, e.g. https://example.com/webinar.",
      "type": "string",
      "maxLength": 500
    },
    "organizer_name": {
      "description": "Optional organizer name shown in the details, e.g. Acme Events. No email needed.",
      "type": "string",
      "maxLength": 100
    },
    "reminders_minutes_before": {
      "description": "Up to 3 reminders in minutes before the start, e.g. [15, 1440] for 15 minutes and 1 day before.",
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 40320
      }
    },
    "time_zone": {
      "description": "Time zone of the start/end: IANA zone (Europe/Warsaw), city (Chicago, Sydney), or UTC. Required for timed events; not used for all-day events.",
      "type": "string",
      "maxLength": 80
    },
    "recurrence": {
      "description": "Optional repeat rule, e.g. {\"frequency\":\"weekly\",\"weekdays\":[\"TU\",\"TH\"],\"count\":10}.",
      "type": "object",
      "properties": {
        "frequency": {
          "type": "string",
          "enum": [
            "daily",
            "weekly",
            "monthly",
            "yearly"
          ],
          "description": "How often it repeats, e.g. weekly."
        },
        "interval": {
          "description": "Repeat every N days/weeks/months/years, e.g. 2 for every other week. Default 1.",
          "type": "integer",
          "minimum": 1,
          "maximum": 99
        },
        "weekdays": {
          "description": "Weekly: the days it repeats on, e.g. [\"TU\",\"TH\"] (default: the start's weekday). Monthly/yearly with nth_weekday: one weekday, e.g. [\"TU\"], or several with nth to pick from the set, e.g. [\"MO\",\"TU\",\"WE\",\"TH\",\"FR\"] with nth -1 for the last weekday of the month.",
          "maxItems": 7,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 12
          }
        },
        "monthly_on": {
          "description": "Monthly/yearly: day_of_month (same date, e.g. the 15th; default) or nth_weekday (e.g. the second Tuesday or the last Friday).",
          "type": "string",
          "enum": [
            "day_of_month",
            "nth_weekday"
          ]
        },
        "nth": {
          "description": "With nth_weekday: 1-5, or -1 for the last, e.g. 2 for the second Tuesday. Default: the start date's position in its month.",
          "type": "integer",
          "minimum": -1,
          "maximum": 5
        },
        "count": {
          "description": "Total number of dates in the pattern, e.g. 10. Do not combine with until.",
          "type": "integer",
          "minimum": 1,
          "maximum": 1000
        },
        "until": {
          "description": "Last possible date YYYY-MM-DD (inclusive), e.g. 2027-06-30. Leave out count and until for no end date.",
          "type": "string",
          "maxLength": 10
        },
        "exceptions": {
          "description": "Dates YYYY-MM-DD to skip, e.g. [\"2026-12-24\"]. Each must be a date the pattern produces.",
          "maxItems": 60,
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 10
          }
        }
      },
      "required": [
        "frequency"
      ]
    },
    "viewer_time_zones": {
      "description": "Optional places or zones of attendees to show local times for, e.g. [\"New York\", \"Tokyo\"].",
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 80
      }
    }
  },
  "required": [
    "title",
    "start"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string"
    },
    "all_day": {
      "type": "boolean"
    },
    "when": {
      "type": "string"
    },
    "time_zone": {
      "type": [
        "string",
        "null"
      ]
    },
    "zone_label": {
      "type": [
        "string",
        "null"
      ]
    },
    "start": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string"
        },
        "time": {
          "type": "string"
        }
      },
      "required": [
        "date"
      ],
      "additionalProperties": false
    },
    "end": {
      "type": "object",
      "properties": {
        "date": {
          "type": "string"
        },
        "time": {
          "type": "string"
        }
      },
      "required": [
        "date"
      ],
      "additionalProperties": false
    },
    "duration": {
      "type": "string"
    },
    "location": {
      "type": [
        "string",
        "null"
      ]
    },
    "description": {
      "type": [
        "string",
        "null"
      ]
    },
    "url": {
      "type": [
        "string",
        "null"
      ]
    },
    "organizer": {
      "type": [
        "string",
        "null"
      ]
    },
    "reminders": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "recurrence": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "rrule": {
              "type": [
                "string",
                "null"
              ]
            },
            "text": {
              "type": "string"
            },
            "total": {
              "type": [
                "number",
                "null"
              ]
            },
            "count": {
              "type": [
                "number",
                "null"
              ]
            },
            "until": {
              "type": [
                "string",
                "null"
              ]
            },
            "last_date": {
              "type": [
                "string",
                "null"
              ]
            },
            "exceptions": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "required": [
            "rrule",
            "text",
            "total",
            "count",
            "until",
            "last_date",
            "exceptions"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "occurrences": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      }
    },
    "viewer_zones": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "links": {
      "type": "object",
      "properties": {
        "google": {
          "type": "string"
        },
        "outlook": {
          "type": "string"
        },
        "office365": {
          "type": "string"
        },
        "yahoo": {
          "type": "string"
        }
      },
      "required": [
        "google",
        "outlook",
        "office365",
        "yahoo"
      ],
      "additionalProperties": false
    },
    "downloads": {
      "type": "object",
      "properties": {
        "ics": {
          "type": "string"
        }
      },
      "required": [
        "ics"
      ],
      "additionalProperties": false
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "title",
    "all_day",
    "when",
    "time_zone",
    "zone_label",
    "start",
    "end",
    "duration",
    "location",
    "description",
    "url",
    "organizer",
    "reminders",
    "recurrence",
    "occurrences",
    "viewer_zones",
    "links",
    "downloads",
    "notes"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢generate_event_series(calendar_name, time_zone, events, location, description, ...)

Use this when the user wants one calendar file (.ics) that adds several different events at once: a course or class schedule, a training program, a conference agenda, match fixtures, or a list of webinars on irregular dates. Takes 1-40 sessions (each with its own start, end or duration, optional title, location and note) plus a shared time zone, location, details, link, organizer name and reminders. Returns one .ics file with one event per session and a dated list of the sessions. Does not make add-to-calendar web links per session, send invitations, or change anyone's calendar. Do not use for an event that repeats on a regular pattern (use generate_calendar_event with recurrence).

Esquema de entrada

{
  "type": "object",
  "properties": {
    "calendar_name": {
      "description": "Name for the schedule, e.g. Spanish A1 evening course. Shown as the calendar name and default title.",
      "type": "string",
      "maxLength": 100
    },
    "time_zone": {
      "description": "Time zone for all sessions: IANA zone or city, e.g. America/Chicago. Required when sessions have times.",
      "type": "string",
      "maxLength": 80
    },
    "events": {
      "minItems": 1,
      "maxItems": 40,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Session title, e.g. Week 1: Introduction. Default: calendar_name with the session number.",
            "type": "string",
            "maxLength": 200
          },
          "start": {
            "type": "string",
            "maxLength": 40,
            "description": "Local start YYYY-MM-DDTHH:MM, e.g. 2027-01-12T18:00, or YYYY-MM-DD for all-day."
          },
          "end": {
            "description": "Local end time HH:MM or YYYY-MM-DDTHH:MM, e.g. 19:30. All-day: last day YYYY-MM-DD.",
            "type": "string",
            "maxLength": 40
          },
          "duration_minutes": {
            "description": "Length in minutes instead of end, e.g. 90.",
            "type": "integer",
            "minimum": 1,
            "maximum": 20160
          },
          "all_day": {
            "description": "true for a date-only event, e.g. an exam day.",
            "type": "boolean"
          },
          "location": {
            "description": "Location for this session if it differs, e.g. Room 204.",
            "type": "string",
            "maxLength": 300
          },
          "description": {
            "description": "Short note for this session, e.g. Quiz on chapter 3.",
            "type": "string",
            "maxLength": 300
          }
        },
        "required": [
          "start"
        ]
      },
      "description": "1-40 distinct sessions with their own dates, e.g. [{\"title\":\"Week 1\",\"start\":\"2027-01-12T18:00\",\"end\":\"19:30\"}]."
    },
    "location": {
      "description": "Default location for every session, e.g. Community Center, Room 2.",
      "type": "string",
      "maxLength": 300
    },
    "description": {
      "description": "Shared details added to every session, e.g. Bring your workbook.",
      "type": "string",
      "maxLength": 600
    },
    "url": {
      "description": "Optional shared link, e.g. a course page or video-call link: https://example.com/course.",
      "type": "string",
      "maxLength": 500
    },
    "organizer_name": {
      "description": "Optional organizer or teacher name, e.g. Ms. Rivera.",
      "type": "string",
      "maxLength": 100
    },
    "reminders_minutes_before": {
      "description": "Up to 3 reminders for every session, minutes before, e.g. [60].",
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 40320
      }
    }
  },
  "required": [
    "events"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "calendar_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "time_zone": {
      "type": [
        "string",
        "null"
      ]
    },
    "zone_label": {
      "type": [
        "string",
        "null"
      ]
    },
    "event_count": {
      "type": "number"
    },
    "first_date": {
      "type": "string"
    },
    "last_date": {
      "type": "string"
    },
    "location": {
      "type": [
        "string",
        "null"
      ]
    },
    "reminders": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {},
        "additionalProperties": {}
      }
    },
    "downloads": {
      "type": "object",
      "properties": {
        "ics": {
          "type": "string"
        }
      },
      "required": [
        "ics"
      ],
      "additionalProperties": false
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "calendar_name",
    "time_zone",
    "zone_label",
    "event_count",
    "first_date",
    "last_date",
    "location",
    "reminders",
    "events",
    "downloads",
    "notes"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada2 herramientas