Organize an event with a shared RSVP page that guests answer in their own browser.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when the host got answers outside the page (in person, by text) and wants them counted on their RSVP page. Takes the organizer link and 1-50 guests with name, answer (yes/no/maybe), extra guests and choice. A name that already replied is skipped, not overwritten; that guest can change their own answer with their link. Does not send anything to the guests.
Answers to record, e.g. [{"name": "Tom", "answer": "yes", "extra_guests": 1, "choice": "Fish"}].
The private organizer link returned when the page was created, e.g. https://rsvp-page.zovo.one/m/AbC.../XyZ.... The guest link (/p/...) does not work here.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http rsvp-page https://rsvp-page.zovo.one/mcp
Use this when the host got answers outside the page (in person, by text) and wants them counted on their RSVP page. Takes the organizer link and 1-50 guests with name, answer (yes/no/maybe), extra guests and choice. A name that already replied is skipped, not overwritten; that guest can change their own answer with their link. Does not send anything to the guests.
| Argument | Type | Description |
|---|---|---|
| guests* | array | Answers to record, e.g. [{"name": "Tom", "answer": "yes", "extra_guests": 1, "choice": "Fish"}]. |
| manage_url* | string | The private organizer link returned when the page was created, e.g. https://rsvp-page.zovo.one/m/AbC.../XyZ.... The guest link (/p/...) does not work here. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"manage_url",
"guests"
],
"properties": {
"guests": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"answer"
],
"properties": {
"name": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Guest first name or nickname, e.g. Tom."
},
"answer": {
"enum": [
"yes",
"no",
"maybe"
],
"type": "string",
"description": "The guest's answer, e.g. yes."
},
"choice": {
"type": "string",
"maxLength": 60,
"description": "Their answer to the page's question, e.g. Fish."
},
"extra_guests": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "Extra guests this person brings, e.g. 1. Ignored for no."
}
}
},
"maxItems": 50,
"minItems": 1,
"description": "Answers to record, e.g. [{\"name\": \"Tom\", \"answer\": \"yes\", \"extra_guests\": 1, \"choice\": \"Fish\"}]."
},
"manage_url": {
"type": "string",
"maxLength": 300,
"minLength": 10,
"description": "The private organizer link returned when the page was created, e.g. https://rsvp-page.zovo.one/m/AbC.../XyZ.... The guest link (/p/...) does not work here."
}
}
}Use this when the user wants guests to RSVP to an event: it publishes a shared web page where guests answer Yes/No/Maybe, add plus-ones and answer one optional multiple-choice question (for example meal choice). Returns a guest link to share and a private organizer link for results. Needs the title, start (local date-time) and IANA time zone. The event must end within 105 days. Does not send invitations, emails or reminders, and does not sell tickets or take payments.
| Argument | Type | Description |
|---|---|---|
| end | string | Optional end: HH:MM on the same day (e.g. 23:00; an earlier time means the next day), a local date-time YYYY-MM-DDTHH:MM, or for an all-day event the last day YYYY-MM-DD. |
| note | string | Short note for guests, e.g. Dress code smart casual. Parking at the back. |
| start* | string | Start as local date and time YYYY-MM-DDTHH:MM in the event's time zone, e.g. 2026-11-21T19:00. Use a date YYYY-MM-DD for an all-day event. |
| title* | string | Event name shown as the page title, e.g. Maya's 30th birthday dinner. |
| location | string | Place as plain text, e.g. Luigi's, 12 Main St, back room. Links are not allowed. |
| question | string | Optional one multiple-choice question for guests who answer Yes, e.g. Meal choice. |
| host_name | string |
Use this when the user asks who is coming, how many people are coming, or for meal-choice totals on an RSVP page made with create_rsvp_page. Takes the private organizer link and returns the headcount (yes replies plus their guests, maybe separately), per-choice totals, and the reply list. Does not work with the guest link and does not change the page.
| Argument | Type | Description |
|---|---|---|
| manage_url* | string | The private organizer link returned when the page was created, e.g. https://rsvp-page.zovo.one/m/AbC.../XyZ.... The guest link (/p/...) does not work here. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"manage_url"
],
"properties": {
"manage_url": {
"type": "string",
"maxLength": 300,
"minLength": 10,
"description": "The private organizer link returned when the page was created, e.g. https://rsvp-page.zovo.one/m/AbC.../XyZ.... The guest link (/p/...) does not work here."
}
}
}Use this when the host wants to change an RSVP page made with create_rsvp_page: close replies, reopen them, or edit the title, time, location, note, plus-one limit, deadline or add question choices. Takes the organizer link and only the fields to change. Choices that already have replies cannot be removed. Does not notify guests about the change and does not delete replies.
| Argument | Type | Description |
|---|---|---|
| end | string | New end time (HH:MM or YYYY-MM-DDTHH:MM), or an empty string to remove it. |
| note | string | Short note for guests, e.g. Dress code smart casual. Parking at the back. |
| start | string | Start as local date and time YYYY-MM-DDTHH:MM in the event's time zone, e.g. 2026-11-21T19:00. Use a date YYYY-MM-DD for an all-day event. |
| title | string | Event name shown as the page title, e.g. Maya's 30th birthday dinner. |
| replies | string | close stops new replies; reopen allows them again. Example: close. |
| location | string | Place as plain text, e.g. Luigi's, 12 Main St, back room. Links are not allowed. |
| host_name | string | Host display name shown to guests, e.g. Sam. |
| time_zone | string | IANA time zone of the event, e.g. America/New_York, Europe/London, Asia/Bangkok. Abbreviations such as EST are refused. |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 8, 2026.
| Host display name shown to guests, e.g. Sam. |
| time_zone* | string | IANA time zone of the event, e.g. America/New_York, Europe/London, Asia/Bangkok. Abbreviations such as EST are refused. |
| allow_maybe | boolean | Offer a Maybe answer as well as Yes and No. Default true. Example: false. |
| rsvp_deadline | string | Optional last day to reply, YYYY-MM-DD (end of that day) or YYYY-MM-DDTHH:MM, in the event's time zone, e.g. 2026-11-14. |
| max_extra_guests | integer | How many extra guests (plus-ones) one reply may bring, 0-10. Default 0. Example: 2. |
| question_options | array | 2-8 answer choices for the question, e.g. ["Chicken", "Fish", "Vegetarian"]. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"start",
"time_zone"
],
"properties": {
"end": {
"type": "string",
"maxLength": 40,
"description": "Optional end: HH:MM on the same day (e.g. 23:00; an earlier time means the next day), a local date-time YYYY-MM-DDTHH:MM, or for an all-day event the last day YYYY-MM-DD."
},
"note": {
"type": "string",
"maxLength": 600,
"description": "Short note for guests, e.g. Dress code smart casual. Parking at the back."
},
"start": {
"type": "string",
"maxLength": 40,
"minLength": 10,
"description": "Start as local date and time YYYY-MM-DDTHH:MM in the event's time zone, e.g. 2026-11-21T19:00. Use a date YYYY-MM-DD for an all-day event."
},
"title": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Event name shown as the page title, e.g. Maya's 30th birthday dinner."
},
"location": {
"type": "string",
"maxLength": 200,
"description": "Place as plain text, e.g. Luigi's, 12 Main St, back room. Links are not allowed."
},
"question": {
"type": "string",
"maxLength": 120,
"description": "Optional one multiple-choice question for guests who answer Yes, e.g. Meal choice."
},
"host_name": {
"type": "string",
"maxLength": 60,
"description": "Host display name shown to guests, e.g. Sam."
},
"time_zone": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "IANA time zone of the event, e.g. America/New_York, Europe/London, Asia/Bangkok. Abbreviations such as EST are refused."
},
"allow_maybe": {
"type": "boolean",
"description": "Offer a Maybe answer as well as Yes and No. Default true. Example: false."
},
"rsvp_deadline": {
"type": "string",
"maxLength": 40,
"description": "Optional last day to reply, YYYY-MM-DD (end of that day) or YYYY-MM-DDTHH:MM, in the event's time zone, e.g. 2026-11-14."
},
"max_extra_guests": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "How many extra guests (plus-ones) one reply may bring, 0-10. Default 0. Example: 2."
},
"question_options": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 8,
"description": "2-8 answer choices for the question, e.g. [\"Chicken\", \"Fish\", \"Vegetarian\"]."
}
}
}| manage_url* | string | The private organizer link returned when the page was created, e.g. https://rsvp-page.zovo.one/m/AbC.../XyZ.... The guest link (/p/...) does not work here. |
| allow_maybe | boolean | Offer a Maybe answer as well as Yes and No. Default true. Example: false. |
| rsvp_deadline | string | New reply deadline YYYY-MM-DD or YYYY-MM-DDTHH:MM, or an empty string to remove it. |
| max_extra_guests | integer | How many extra guests (plus-ones) one reply may bring, 0-10. Default 0. Example: 2. |
| question_options | array | 2-8 answer choices for the question, e.g. ["Chicken", "Fish", "Vegetarian"]. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"manage_url"
],
"properties": {
"end": {
"type": "string",
"maxLength": 40,
"description": "New end time (HH:MM or YYYY-MM-DDTHH:MM), or an empty string to remove it."
},
"note": {
"type": "string",
"maxLength": 600,
"description": "Short note for guests, e.g. Dress code smart casual. Parking at the back."
},
"start": {
"type": "string",
"maxLength": 40,
"minLength": 10,
"description": "Start as local date and time YYYY-MM-DDTHH:MM in the event's time zone, e.g. 2026-11-21T19:00. Use a date YYYY-MM-DD for an all-day event."
},
"title": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Event name shown as the page title, e.g. Maya's 30th birthday dinner."
},
"replies": {
"enum": [
"close",
"reopen"
],
"type": "string",
"description": "close stops new replies; reopen allows them again. Example: close."
},
"location": {
"type": "string",
"maxLength": 200,
"description": "Place as plain text, e.g. Luigi's, 12 Main St, back room. Links are not allowed."
},
"host_name": {
"type": "string",
"maxLength": 60,
"description": "Host display name shown to guests, e.g. Sam."
},
"time_zone": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "IANA time zone of the event, e.g. America/New_York, Europe/London, Asia/Bangkok. Abbreviations such as EST are refused."
},
"manage_url": {
"type": "string",
"maxLength": 300,
"minLength": 10,
"description": "The private organizer link returned when the page was created, e.g. https://rsvp-page.zovo.one/m/AbC.../XyZ.... The guest link (/p/...) does not work here."
},
"allow_maybe": {
"type": "boolean",
"description": "Offer a Maybe answer as well as Yes and No. Default true. Example: false."
},
"rsvp_deadline": {
"type": "string",
"maxLength": 40,
"description": "New reply deadline YYYY-MM-DD or YYYY-MM-DDTHH:MM, or an empty string to remove it."
},
"max_extra_guests": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "How many extra guests (plus-ones) one reply may bring, 0-10. Default 0. Example: 2."
},
"question_options": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 8,
"description": "2-8 answer choices for the question, e.g. [\"Chicken\", \"Fish\", \"Vegetarian\"]."
}
}
}