Skip to main content
Glama
UtahREIA

addevent-mcp-server

by UtahREIA

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TRANSPORTNoOptional transport mode. Set to 'http' to run as an HTTP server (default is stdio).
ADDEVENT_API_KEYYesYour AddEvent API token. Obtain it from dashboard.addevent.com under Settings > API.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
addevent_create_eventA

Creates a new event on an AddEvent calendar.

Args:

  • title (string, required): The event's title.

  • calendar_id (string, optional): Target calendar. Defaults to the account's default calendar. Use addevent_search_calendars to find IDs.

  • datetime_start (string, required): Start date/time, e.g. "2026-09-15 18:00" or "2026-09-15" for a date-only event.

  • datetime_end (string, optional): End date/time. Defaults to datetime_start + 1 hour.

  • all_day_event, timezone, recurring_rule, description, internal_name, location, location_id, organizer_name, organizer_email, reminder, color, free_busy, landing_page_template_id, rsvp_enabled, rsvp_form_id, custom_data: optional fields, see each field's description.

Returns: The created event object as JSON, including its event_id and public landing_page_url.

Examples:

  • "Create the Main Monthly meetup for Sept 15 at 6pm at [venue]" -> title, datetime_start, location set.

  • "Make it a recurring event, third Tuesday of every month" -> recurring_rule: "FREQ=MONTHLY;BYDAY=3TU".

  • Don't use when: the event already exists (use addevent_update_event instead).

Error Handling:

  • Returns a clear message if required fields are missing, the calendar_id doesn't exist, or the API rejects the request body (400).

addevent_search_eventsA

Searches events you've previously created. Does NOT create or modify events.

Args:

  • calendar_ids, event_ids (string[], optional): Narrow to specific calendars or events.

  • datetime_min, datetime_max (string, optional): Filter by date range. datetime_min matches events ending on/after that time; datetime_max matches events starting on/before it.

  • search (string, optional): Free-text match against title, internal_name, description, and location.

  • custom_data_key / custom_data_value (string, optional): Filter by a custom_data key-value pair. Both must be provided together.

  • page (number, default 1), page_size (number, 1-20, default 10): Pagination.

  • sort_by ('created' | 'title' | 'calendar_id' | 'datetime_start'), sort_order ('asc' | 'desc'): Sorting.

Returns: { "events": [ ...event objects... ], "count": number, // events in this response "page": number, "page_size": number } An empty "events" array means no matches, not an error.

Examples:

  • "What events do we have next month?" -> datetime_min/datetime_max set to that month's range.

  • "Find the Main Monthly event" -> search: "Main Monthly".

  • Don't use when: you already have the event_id (use addevent_get_event, it's cheaper).

Error Handling:

  • Returns "Error: Invalid request..." if a filter combination is invalid (e.g. custom_data_key without custom_data_value).

addevent_get_eventA

Retrieves a single event by its event_id.

Args:

  • event_id (string, required): The event to retrieve.

Returns: The full event object as JSON.

Examples:

  • "Show me the details for event evt_abc123" -> event_id: "evt_abc123".

  • Don't use when: you don't have the event_id yet (use addevent_search_events first).

Error Handling:

  • Returns "Error: Not found..." (404) if the event_id doesn't exist.

addevent_update_eventA

Updates an existing event. Only the fields you provide are changed; everything else is left as-is.

Args:

  • event_id (string, required): The event to update.

  • Any other field from addevent_create_event (title, datetime_start, datetime_end, location, description, etc.) is optional here — include only what's changing.

Returns: The updated event object as JSON.

Examples:

  • "Move the Main Monthly meetup to 7pm" -> event_id set, datetime_start updated.

  • "Change the location to the new venue" -> event_id set, location updated.

  • Don't use when: the event doesn't exist yet (use addevent_create_event).

Error Handling:

  • Returns "Error: Not found..." (404) if event_id doesn't exist, or "Error: Invalid request..." (400) if a field value fails validation.

addevent_delete_eventA

Permanently deletes an event. This cannot be undone.

Args:

  • event_id (string, required): The event to delete.

Returns: A confirmation message.

Examples:

  • "Delete the duplicate event we just created" -> event_id set.

  • Don't use when: you want to hide an event without losing it (there's no archive/unpublish option in this API; deletion is permanent).

Error Handling:

  • Returns "Error: Not found..." (404) if the event_id doesn't exist.

addevent_create_calendarA

Creates a new calendar (a container that events live inside).

Args:

  • title (string, required): The calendar's title.

  • timezone, weekday_begin, description, internal_name, calendar_color, landing_page_template_id, embeddable_calendar_template_id, custom_data: optional fields.

Returns: The created calendar object as JSON, including its calendar_id.

Examples:

  • "Set up a separate calendar for the WREIA meetups" -> title: "WREIA Meetups".

  • Don't use when: you just need to add an event to an existing calendar (use addevent_create_event with calendar_id instead).

Error Handling:

  • Returns "Error: Invalid request..." (400) if title is missing.

addevent_search_calendarsA

Searches calendars you've previously created. Does NOT create or modify calendars.

Args:

  • calendar_ids (string[], optional): Narrow to specific calendar IDs.

  • page (number, default 1), page_size (number, 1-20, default 10): Pagination.

  • sort_by ('created' | 'title'), sort_order ('asc' | 'desc'): Sorting.

Returns: { "calendars": [ ...calendar objects... ], "count": number, "page": number, "page_size": number } An empty "calendars" array means no matches, not an error.

Examples:

  • "What calendars do we have set up?" -> call with no filters to list them all.

  • "Find the calendar_id for the WREIA calendar" -> useful before addevent_create_event.

Error Handling:

  • Returns "Error: Invalid request..." (400) for an invalid sort combination.

addevent_get_calendarA

Retrieves a single calendar by its calendar_id.

Args:

  • calendar_id (string, required): The calendar to retrieve.

Returns: The full calendar object as JSON.

Error Handling:

  • Returns "Error: Not found..." (404) if the calendar_id doesn't exist.

addevent_update_calendarA

Updates an existing calendar. Only the fields you provide are changed; everything else is left as-is.

Args:

  • calendar_id (string, required): The calendar to update.

  • Any other field from addevent_create_calendar is optional here — include only what's changing.

Returns: The updated calendar object as JSON.

Error Handling:

  • Returns "Error: Not found..." (404) if calendar_id doesn't exist.

addevent_delete_calendarA

Permanently deletes a calendar. This cannot be undone, and affects any events still on it.

Args:

  • calendar_id (string, required): The calendar to delete.

Returns: A confirmation message.

Examples:

  • Before deleting, consider calling addevent_search_events with this calendar_id to check what's still on it.

Error Handling:

  • Returns "Error: Not found..." (404) if the calendar_id doesn't exist.

addevent_create_rsvpA

Registers an RSVP attendee on an event. Only works on events created with rsvp_enabled: true.

Args:

  • event_id (string, required): The event to RSVP to.

  • email (string, required): Attendee's email. Must be unique per event.

  • attending ('going' | 'maybe' | 'not-going', optional): Default 'going'.

  • notify ('active', optional): Set to send confirmation/notification emails. Omitted by default (silent creation) — useful when backfilling attendees from another system.

  • rsvp_form_data (object, optional): Values for the event's RSVP form. The default form needs { "name": "..." }.

Returns: The created RSVP attendee object as JSON, including its attendee_id.

Examples:

  • "Add jane@example.com as attending the Main Monthly meetup" -> event_id, email set.

  • "Import these 20 signups from our spreadsheet without emailing them" -> omit notify.

  • Don't use when: the event doesn't have RSVP enabled (check with addevent_get_event first).

Error Handling:

  • Returns "Error: Invalid request..." (400) if the email is already registered for this event, or rsvp_form_data is missing a required field.

addevent_search_rsvpsA

Searches RSVP attendees you've previously created. Does NOT create or modify RSVPs.

Args:

  • calendar_ids, event_ids (string[], optional): Narrow to attendees of these calendars or events.

  • attending (array of 'going' | 'maybe' | 'not-going', optional): Filter by response.

  • page (number, default 1), page_size (number, 1-20, default 10): Pagination.

  • sort_by ('created' | 'event_id' | 'attending' | 'email'), sort_order ('asc' | 'desc'): Sorting.

Returns: { "rsvps": [ ...attendee objects... ], "count": number, "page": number, "page_size": number } An empty "rsvps" array means no matches, not an error.

Examples:

  • "Who's RSVP'd yes to the Main Monthly meetup?" -> event_ids: [that event's ID], attending: ["going"].

  • "How many people said maybe across all our events this month?" -> attending: ["maybe"], combined with an event_ids or calendar_ids filter.

  • Don't use when: you already have the attendee_id (use addevent_get_rsvp, it's cheaper).

addevent_get_rsvpA

Retrieves a single RSVP attendee by attendee_id.

Args:

  • attendee_id (string, required): The RSVP attendee to retrieve.

Returns: The full RSVP attendee object as JSON.

Error Handling:

  • Returns "Error: Not found..." (404) if the attendee_id doesn't exist.

addevent_update_rsvpA

Updates an existing RSVP attendee. Only the fields you provide are changed; everything else is left as-is.

Args:

  • attendee_id (string, required): The RSVP attendee to update.

  • email, attending, rsvp_form_data: optional — include only what's changing.

Returns: The updated RSVP attendee object as JSON.

Examples:

  • "Mark jane@example.com as not going anymore" -> attendee_id set, attending: "not-going".

Error Handling:

  • Returns "Error: Not found..." (404) if attendee_id doesn't exist.

addevent_delete_rsvpA

Permanently deletes an RSVP attendee. This cannot be undone.

Args:

  • attendee_id (string, required): The RSVP attendee to delete.

Returns: A confirmation message.

Error Handling:

  • Returns "Error: Not found..." (404) if the attendee_id doesn't exist.

addevent_list_timezonesA

Lists the timezone values supported by AddEvent's timezone field on events and calendars.

Args:

  • search (string, optional): Filter results to timezone names containing this text.

Returns: { "timezones": [...], "count": number }

Examples:

  • "What timezone value should I use for Salt Lake City?" -> search: "Denver" (Utah shares the America/Denver zone).

  • Use this before addevent_create_event or addevent_create_calendar if you're unsure of the exact timezone string.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/UtahREIA/addevent-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server