eventtia-mcp

Eventtia helps event teams manage private events, attendees, payments, sessions, workshops, checkpoints, and reporting.

От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемРаботаетБез входаГлобальныйБесплатноТолько чтение

Что умеет

  • ListAttendeeTypeCustomFields: Returns the form fields configured for an attendee type. Default fields (`first_name`, `email`, etc.) and custom fields are both included. **Filters:** by default returns
  • CreateAttendeeTypeCustomField: Creates a new custom field on an attendee type. Required: `name`, `input_type`. **Multiple-choice inputs** (`select`, `checkbox`, `radio`) require `values` as a JSON arr
  • UpdateAttendeeTypeCustomField: Updates an existing custom field. Default fields support a restricted set of mutations (only `required`, `display`, `allow_duplicate_values` for `email`, `min_age` for `

Какие данные видит

Нужен ли аккаунт

Не нужен: сервер работает без входа

Eventtia helps event teams manage private events, attendees, payments, sessions, workshops, checkpoints, and reporting.

Список инструментов сервера (49)

Технические названия из tools/list. Нужны только разработчикам.

listAttendeeTypeCustomFieldsReturns the form fields configured for an attendee type. Default fields (`first_name`, `email`, etc.) and custom fields are both included. **Filters:** by default returns only active fields (`archived: false`, `draft: false`). Override with `?archived=true|all` and `?draft=true|all`.
createAttendeeTypeCustomFieldCreates a new custom field on an attendee type. Required: `name`, `input_type`. **Multiple-choice inputs** (`select`, `checkbox`, `radio`) require `values` as a JSON array. Each value must be a non-empty string without commas (the legacy storage uses comma-separated serialization). **`terms_conditions`** input requires `terms_url`. File uploads are not supported via API — the server always forces `terms_mode=url`. Default fields cannot be created via this endpoint (they are auto-created with the AttendeeType).
updateAttendeeTypeCustomFieldUpdates an existing custom field. Default fields support a restricted set of mutations (only `required`, `display`, `allow_duplicate_values` for `email`, `min_age` for `birthdate`).
listAttendeeTypesReturns a paginated list of attendee types for an event. Only non-archived, non-draft types are returned.
createAttendeeTypeCreates a new attendee type. Required fields: `name` and `limit`.
getAttendeeTypeReturns a single attendee type by ID.
updateAttendeeTypeUpdates an existing attendee type. Only provided fields are modified.
listAttendeeTypeGroupLimitsReturns per-group capacity limits for an attendee type.
getAttendeeTypeFormSchemaReturns the ordered list of form fields the admin uses to create an Attendee of this AttendeeType. Includes default fields (first_name, email, etc.) and custom fields. Includes admin-only fields. Skips fields with display=false.
listAttendeesReturns a paginated list of attendees for a given event. By default only non-archived, non-draft, non-rejected attendees are returned. Use the filter query parameters to change this scope.
createAttendeeRegisters a new attendee for the event. The payload is wrapped under the `attendee` key. **Required fields:** `first_name`, `last_name`, `email`, `attendee_type_id`. (`email` may be skipped only when the selected `attendee_type` has `email_required` disabled; default is required.) If a draft attendee already exists for the same email + event it is promoted; otherwise a new attendee is created and registered. An optional top-level `coupon_code` is applied after a successful registration. **Precondition:** registration must be enabled for the event; otherwise the request fails with `422 "Registration for this event is not enabled"`. Side effect: may send the event's welcome email to the attendee's own inbox, if the attendee type has welcome emails enabled and the registration is not left as a draft.
getAttendeeReturns a single attendee scoped to the event by its `attendee_uuid`. Cached for 5 minutes.
updateAttendeeUpdates the profile of an existing attendee. Payload is wrapped under the `attendee` key. Only provided fields are modified. Side effect: may send the event's welcome email to the attendee's own inbox, if the attendee type has welcome emails enabled and the email had not been sent yet.
confirmAttendeeConfirms a pending attendee registration. Sets `confirmed = true` and records the confirming user. Side effect: confirming is what triggers the event's welcome/confirmation email to the attendee's own inbox, if the attendee type has welcome emails enabled. Sent mail cannot be recalled.
rejectAttendeeRejects an attendee registration. Archives the attendee if previously confirmed and unchecks-in if checked in. Side effect: sends a rejection email to the attendee's own inbox. Sent mail cannot be recalled.
getAttendeeEventCheckinReturns the event-level check-in status of an attendee. Indicates whether the attendee has checked in to the event and, if so, the check-in timestamp converted to the event's local timezone (format: YYYY-MM-DD HH:MM:SS).
listAttendeeCheckpointCheckinsReturns a paginated list of checkpoint check-in logs for an attendee. Each log records an entry (and optional exit) at a named checkpoint. Includes the checkpoint name, entry timestamp, and checkout status. Logs are ordered by creation time descending (most recent first). The response includes `total_entries` for the unfiltered count.
listAttendeeWorkshopCheckinsReturns a paginated list of workshop check-ins for an attendee. Only includes workshops where the attendee has an active registration AND has physically checked in (checked_in = true). Results are ordered by check-in date descending (most recent first). The response includes `total_entries` for the unfiltered count.
resendAttendeeEmailResends the welcome/confirmation email to a confirmed attendee. Returns 422 if the attendee is not eligible (draft, archived, unconfirmed, missing email, no attendee_type, or unpaid when payment is required).
createCheckpointCreates a new checkpoint for the given event. Requires `create_checkpoints` permission. Fails with 422 if: - `name` or `checkpoint_type` are missing - The event has exceeded its checkpoint plan limit
updateCheckpointUpdates an existing checkpoint. Requires `edit_checkpoints` permission. Only fields included in the request body are updated.
deleteCheckpointSoft-deletes a checkpoint by setting `archived: true`. Requires `delete_checkpoints` permission. The checkpoint is no longer returned in listings but is not removed from the database. **⚠️ DESTRUCTIVE OPERATION** LLM/MCP clients MUST obtain explicit end-user confirmation before invoking: present the target resource with user-recognizable identifiers and receive an affirmative response. Confirmation MUST NOT be inferred from dialogue or context.
searchCitiesCase-insensitive substring search over the global `cities` catalog. Useful to resolve a human-readable location into a numeric `city_id` before creating an offline or mixed event. Each result is preloaded with its `region` and `country` to avoid N+1 queries on the caller side. **Behavior:** - Matches `name LIKE "%q%"` (substring, case-insensitive in MySQL `utf8_general_ci`). - Wildcards `%` and `_` in `q` are escaped — no client-side wildcard matching. - Optional `country_iso_code` narrows results to a single country (case-insensitive). - Results are ordered by `name ASC`. - Capped at **20 results** (no pagination — refine the query instead). - Response is cacheable for 30 minutes (`Cache-Control: public, max-age=1800`). **Rate limit:** 100 requests/minute per IP (600 for whitelisted IPs).
listEventsReturns a paginated list of events belonging to the authenticated user's account. Events are filtered by the user's security access level and account scope. Archived events are excluded automatically. **Sorting:** Use the `order` parameter to sort results. Format: `column_name direction` (e.g., `start_date desc`, `name asc`). Supports up to two sort fields separated by comma. **Pagination:** Default page size is 24 (max 24). Use `page[number]` and `page[size]` to control pagination. **Caching:** Responses are cached for 1 minute. **Rate limit:** 100 requests/minute per IP (600 for whitelisted IPs).
createEventCreates a new event in the authenticated user's account. **Attendance mode rules:** - `offline`: Requires `city_id`. Timezone derived from the city. - `online`: Requires `virtual_timezone`. No `city_id` needed. - `mixed`: Requires both `city_id` and `virtual_timezone`. Dates must be sent as `dd/mm/yyyy - HH:MM`.
getEventReturns the details of a single event by its UUID. Authentication is optional. When unauthenticated, only non-archived public events are returned.
updateEventUpdates an existing event. Only the provided fields are modified.
getEventModulesReturns boolean flags indicating which modules (activities, checkpoints) are enabled for the event.
getEventSummaryReturns lightweight aggregated metrics for an event: attendee totals (active, confirmed, checked-in, drafts, rejected), date range with timezone, per-attendee-type seat usage, and top 5 workshops by check-in count. All counts are computed with grouped SQL queries (no N+1) regardless of the number of attendee types or workshops. **Caching:** Responses are cached for 1 minute.
listEventCustomFieldsReturns the account-level custom field definitions applicable to every event in the authenticated user's account. This endpoint is **account-scoped**, not event-scoped: it takes no `uuid` path parameter. The `id` of each definition (cast to string) is the key expected inside `custom_fields_data` on `createEvent` / `updateEvent`. Only active fields are returned (`archived: false`, `draft: false`), ordered by `order` ASC. **Caching:** Responses are cached for 30 minutes.
listPaymentsReturns the payments (deposits and charges) for a given attendee.
createPaymentCreates a manual deposit payment for an attendee. Internally calls `Payment.manual_payment(attendee, params, current_user)` with operation_type set to `deposit`.
deletePaymentDeletes a deposit payment. Only payments with `operation = deposit` are deletable.
listSessionsReturns the sessions (concrete time-slots) registered under a WorkshopDefinition.
createSessionCreates a new session (Workshop slot) under a WorkshopDefinition. Required fields: `start_date` and `end_date`. The session inherits the WorkshopDefinition's name/description. Streaming, chat, Zoom and related integrations are not configurable via this API. **Precondition:** the event must have multiple sessions enabled; otherwise the request fails with `422 "You cannot create a workshop session because multiple sessions are disabled for this event."`. A workshop's first session is created through `createWorkshop` (via `workshops_attributes`).
getSessionReturns a single workshop session by GUID.
updateSessionUpdates an existing workshop session. Only the provided fields are modified. Streaming, chat, Zoom and related integrations are not configurable via this API.
destroySessionPerforms a destructive mutation to transition a workshop session state to 'archived'. - **Cascade Behavior:** Atomically tearing down all related active enrollment fixtures. - **Idempotency:** Non-idempotent lookup; subsequent DELETE operations on the same GUID scope will resolve to a 404 response. **⚠️ DESTRUCTIVE OPERATION** LLM/MCP clients MUST obtain explicit end-user confirmation before invoking: present the target resource with user-recognizable identifiers and receive an affirmative response. Confirmation MUST NOT be inferred from dialogue or context.
enrollAttendeeInSessionEnrolls an attendee in a specific workshop session. This endpoint safely handles concurrent requests to prevent overbooking and automatically recomputes related attendee charges. ### Validation Rules * **Availability:** Checks seat capacity and enforces per-attendee-type limits. * **Scheduling:** Prevents double-enrollment and time overlaps with other registered sessions. * **Timeline:** Ensures the booking deadline has not passed.
unenrollAttendeeFromSessionRemoves an attendee's enrollment from a specific workshop session. ### Key Effects * **Participation:** Cancels the attendee's registration for this session. * **Charges:** Triggers an automatic recomputation of the associated attendee charges. **⚠️ DESTRUCTIVE OPERATION** LLM/MCP clients MUST obtain explicit end-user confirmation before invoking: present the target resource with user-recognizable identifiers and receive an affirmative response. Confirmation MUST NOT be inferred from dialogue or context.
listSpeakersReturns a paginated list of speakers for an event. By default only non-archived, non-draft speakers are returned. Use `?archived=true` to list only archived speakers, or `?archived=all` to include both.
createSpeakerCreates a new speaker. Required field: `name`. Image fields (`picture`, `banner`) are not supported via this API. The `attendee` association is not exposed in this version.
getSpeakerReturns a single speaker by ID, scoped to the event.
updateSpeakerUpdates an existing speaker. Only provided fields are modified. Image fields (`picture`, `banner`) are not supported via this API. The `attendee` association is not exposed in this version.
listWorkshopsReturns a paginated list of workshop definitions for an event. Excludes archived, sponsor-owned and empty (no active sessions) definitions by default.
createWorkshopCreates a new workshop definition together with at least one session (`workshops_attributes`). Required fields: `name` (multilingual hash) and `workshops_attributes` (non-empty). Image fields (`banner_image`, `background_image`) are not supported via this API.
getWorkshopReturns a single workshop definition by GUID.
updateWorkshopUpdates a workshop definition. Only `name` and `description` (multilingual) are accepted; nested `workshops_attributes` is ignored on update.
getWorkshopStatsReturns used seats and check-in counts for a single workshop session. `guid` is the workshop session GUID (the same GUID used by `getWorkshop`), not the workshop definition GUID.
eventtia-mcp: подключить к Claude, ChatGPT, Cursor · Connectors.fun