MCP 服务器

Nolizi Calendar

com.nolizi.calendar/calendar
生产力 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Lists live calendar availability, creates and verifies bookings, and cancels confirmed meetings.

cancel_booking
Cancel a booking
Cancel a confirmed booking. This notifies the attendee and removes the meeting from connected calendars, and it cannot be undone. Use an exact booking_id taken from list_upcoming_bookings — never a guessed or reconstructed one. Cancelling one occurrence of a grouped or recurring booking can affect several meetings, so confirm with the person which meetings they mean.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['booking_id'], 'properties': {'booking_id': {'type': 'string', 'description': 'Exact booking_id from list_upcoming_bookings.'}}, 'additionalProperties': False}
create_booking
Create a booking
Book a real meeting. This sends invitations and writes to connected calendars, and it cannot be undone except by cancelling. Ask the person to confirm the event, the exact time and the attendee details before calling it, and use their real name and email — never a placeholder. The start and end must be copied verbatim from a recent list_available_slots response; this server re-checks them against live availability and refuses times it cannot find. There is no idempotency key: if this call returns an uncertain outcome, do not call it again — call list_upcoming_bookings and read what actually happened.
可访问外部资源
输入模式
{'type': 'object', 'required': ['event_type', 'start', 'end', 'name', 'email'], 'properties': {'end': {'type': 'string', 'description': 'The matching end from that same slot.'}, 'name': {'type': 'string', 'description': 'The attendee’s real name.'}, 'note': {'type': 'string', 'description': 'Optional note shared with the host (max 2000 characters).'}, 'email': {'type': 'string', 'description': 'The attendee’s real email address. Invitations go here.'}, 'start': {'type': 'string', 'description': 'Start, copied exactly from a fresh list_available_slots response.'}, 'booker_tz': {'type': 'string', 'description': 'Attendee IANA timezone, e.g. Europe/Berlin. Defaults to UTC.'}, 'event_type': {'type': 'string', 'description': 'Event slug from list_event_types.'}}, 'additionalProperties': False}
list_available_slots
List available times
Return the live available start/end pairs for one event type. These are real times on a real calendar: show them to the person and let them choose. Do not invent, extrapolate or round a time that is not in this response. Convert times for display only — pass the original values back to create_booking unchanged.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['event_type'], 'properties': {'event_type': {'type': 'string', 'description': 'Event slug from list_event_types (not a schedule_id).'}}, 'additionalProperties': False}
list_event_types
List event types
List the bookable event types owned by the configured Nolizi Calendar account. Start here: the returned slug is what every other tool needs. Never guess a slug. Events with required custom questions or email verification cannot be booked through this API — send the person to the event’s public booking page instead.
只读 可访问外部资源
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
list_upcoming_bookings
List upcoming bookings
List up to 100 upcoming confirmed bookings. This is the only way to verify that a booking exists. Use it after every create or cancel, and use it first whenever a write returned an uncertain outcome.
只读 可访问外部资源
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
已添加
cancel_booking
2026年9月22日 02:40
已添加
create_booking
2026年9月22日 02:40
已添加
list_upcoming_bookings
2026年9月22日 02:40
已添加
list_available_slots
2026年9月22日 02:40
已添加
list_event_types
2026年9月22日 02:40