Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,552Letters: 14Defects: 1,323counted 4 min ago
teppi

Server definition

Hash
sha256:dd32810f0ddc6036bcc5eec08af151b8a09dc7c433483fb883eaf902eb3df136
What it is
What a remote MCP server returned when asked what it offers: 5 tools

The blob, as servednamed by its sha256

{ "instructions": "Nolizi Calendar: scheduling for the account whose API key this server holds.\n\nWork in this order: list_event_types to find a slug, list_available_slots to get real times, then create_booking once the person has confirmed the event, the time and the attendee details. Always verify a write with list_upcoming_bookings before reporting it as done.\n\nTwo things to hold onto. Writes are not idempotent and there is no idempotency key, so a retried booking can double-book a real person: when a write reports an uncertain outcome, reconcile with list_upcoming_bookings instead of calling it again. And the key carries full owner permissions with no scopes, so treat every write as acting directly as the account holder.", "tools": [ { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "booking_id": { "description": "Exact booking_id from list_upcoming_bookings.", "type": "string" } }, "required": [ "booking_id" ], "type": "object" }, "name": "cancel_booking", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "booker_tz": { "description": "Attendee IANA timezone, e.g. Europe/Berlin. Defaults to UTC.", "type": "string" }, "email": { "description": "The attendee’s real email address. Invitations go here.", "type": "string" }, "end": { "description": "The matching end from that same slot.", "type": "string" }, "event_type": { "description": "Event slug from list_event_types.", "type": "string" }, "name": { "description": "The attendee’s real name.", "type": "string" }, "note": { "description": "Optional note shared with the host (max 2000 characters).", "type": "string" }, "start": { "description": "Start, copied exactly from a fresh list_available_slots response.", "type": "string" } }, "required": [ "event_type", "start", "end", "name", "email" ], "type": "object" }, "name": "create_booking", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": { "event_type": { "description": "Event slug from list_event_types (not a schedule_id).", "type": "string" } }, "required": [ "event_type" ], "type": "object" }, "name": "list_available_slots", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_event_types", "outputSchema": null }, { "description": "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.", "inputSchema": { "additionalProperties": false, "properties": {}, "type": "object" }, "name": "list_upcoming_bookings", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:dd32810f0ddc6036bcc5eec08af151b8a09dc7c433483fb883eaf902eb3df136 | sha256sum