io.seamlessevents.mcp/confbuilder

ConfBuilder

ConfBuilder tools: events, speakers, sponsors, attendees, schedules, content, news, polls, chat.

Endpointhttps://mcp.seamlessevents.io/mcp (streamable-http)
Registry version1.0.0
Now78 tools · grade C (65) · pin ts_43d70b7990d0f3b4243e21e65bf53306 · protocol 2025-06-18
First / last listed2026-11-13 00:27 UTC / 2026-11-13 00:27 UTC
Grade over time2026-11-13: C (65), 78 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-11-13 00:27 UTC
78 tools, grade C (65)

Tools: request_login_code verify_login_code me list_teams find_events get_event get_event_actions get_event_modules toggle_event_module list_event_members invite_event_member update_event_member remove_event_member accept_event_invitation list_speakers get_speaker create_speaker update_speaker upload_speaker_image delete_speaker send_speaker_login_link list_sponsors get_sponsor create_sponsor delete_sponsor list_sponsor_categories update_sponsor upload_sponsor_image list_schedules get_schedule create_schedule update_schedule delete_event publish_schedule unpublish_schedule delete_schedule list_activities create_activity update_activity delete_activity set_promo_config get_promo_config list_card_presets set_form_config get_form_config get_website save_website publish_website check_website_slug list_marketing_posters create_marketing_poster update_marketing_poster delete_marketing_poster list_content upload_entity_content archive_entity_content list_news create_news list_polls create_poll list_chat_messages list_chat_conversations send_chat_message delete_chat_message list_notifications mark_notification_read get_my_labels set_my_labels list_attendees get_attendee check_in_attendees void_attendee update_attendee create_event update_event set_event_image create_checkout get_billing_portal_url

Current tools (78)

request_login_codeEmail a 6-digit sign-in code to the user's address. The user reads the code from their inbox and gives it back to you; then call verify_login_code. Use this whenever an API tool returns 'Not authorized'.
params: email*
verify_login_codeComplete login with the 6-digit code from request_login_code. Returns an API token the user must set as their client's authorization header (this server keeps no per-session state). Token is valid for 7 days.
params: email*, code*
meProfile of the logged-in user (id, name, email, team_ids), via the Authorization header token.
params: none
list_teamsList the user's teams (id + name). Use a team_id when creating an event.
params: none
find_eventsFind events the user can access. Optional free-text query `q`. Returns id/title/dates — chain the id into other tools.
params: q, page, page_size
get_eventGet one event by id (modules, email settings, dates, billing). Speakers, sponsors and schedules are separate tools — see the Actions dashboard via get_event_actions.
params: event_id*
get_event_actionsOne call returning everything actionable on an event: speakers/sponsors awaiting intake approval or card approval/publishing, call-for-speakers applications, and schedule pending proposals + publishable tracks. Replaces five separate list calls; use this when asked 'what needs doing on <event>'.
params: event_id*
get_event_modulesList an event's modules with their enabled state (speaker, schedule, content, attendee, app).
params: event_id*
toggle_event_moduleEnable or disable an event module. module_id is one of 'speaker', 'schedule', 'content', 'attendee', 'app'. Disabling hides the module for the event's users without deleting anything.
params: event_id*, module_id*, enabled*
list_event_membersList the people with direct access to an event: user_id, name, email, role ('event:admin'/'event:editor'/'event:viewer'/'speaker'), invitation status ('active'/'pending').
params: event_id*
invite_event_memberInvite someone to an event by email — the account is created for them if they don't have one, and they get an invitation email. role: 'admin' (full control), 'editor' (manage content; default) or 'viewer' (read-only).
params: event_id*, email*, role, name
update_event_memberChange a member's role: 'admin' (full control), 'editor' (manage content) or 'viewer' (read-only). Get user_id from list_event_members. The event creator cannot be demoted.
params: event_id*, user_id*, role*
remove_event_memberRemove a member's access to an event (their speaker links are not affected). Get user_id from list_event_members.
params: event_id*, user_id*
accept_event_invitationAccept the logged-in user's own pending invitation to an event (activates their membership). Use when the user says 'accept my invite to <event>'.
params: event_id*
list_speakersList speakers for an event (paginated). Optional filters: q (search name/email), form_type ('speaker-info' or 'call-for-speakers'), intake_status (e.g. 'info_pending', 'info_submitted'; values from speaker_information_status).
params: event_id*, q, intake_status, form_type, page, page_size
get_speakerGet one speaker by id (bio, talk title, headshot, logos, links).
params: event_id*, speaker_id*
create_speakerCreate a speaker for an event. Requires first_name, last_name, email. The speaker is coupled to the event; image files can be added later with upload_speaker_image.
params: event_id*, first_name*, last_name*, email*, company_name, company_role, linkedin, bio, talk_title, talk_description, form_type
update_speakerUpdate a speaker. Pass only the fields to change (snake_case names). For images use upload_speaker_image instead of headshot/company_logo. Set website_card_approved / promo_card_approved true to publish the speaker's cards to the website walls.
params: event_id*, speaker_id*, first_name, last_name, company_name, company_role, linkedin, bio, talk_title, talk_description, internal_notes, form_type, website_card_approved, promo_card_approved, embed_enabled
upload_speaker_imageUpload an image for a speaker and attach it to a slot (headshot, company_logo or company_logo_white). `source` is a public image URL (fetched by this server, e.g. Drive link or website) or a base64 data URL. Replaces any existing image in that slot. Ask the user whether to auto-crop the image to a face (face_crop) before uploading if they haven't said.
params: event_id*, speaker_id*, source*, slot, face_crop
delete_speakerDelete a speaker from an event. Permanent — removes their talk links, content and images.
params: event_id*, speaker_id*
send_speaker_login_linkEmail a speaker a passwordless sign-in link for the ConfBuilder app (their account is created if needed). Use when the user asks to send a speaker their login / access link; confirm the speaker before sending.
params: event_id*, speaker_id*
list_sponsorsList sponsors for an event (paginated). Optional free-text query `q`.
params: event_id*, q, page, page_size
get_sponsorGet one sponsor by id (company info, contacts, logos, status).
params: event_id*, sponsor_id*
create_sponsorCreate a sponsor for an event. Requires company_name and sponsor_type (a sponsor category — pick from list_sponsor_categories, e.g. 'gold_sponsor'; custom values are also fine and become available event-wide). Primary contact name/email recommended. Logos are uploaded separately later.
params: event_id*, company_name*, sponsor_type*, primary_contact_name, primary_contact_email, primary_contact_phone, tagline, description, website_url, linkedin_url, form_type
delete_sponsorDelete a sponsor from an event. Permanent — removes their logo, links and card images.
params: event_id*, sponsor_id*
list_sponsor_categoriesList the sponsor categories available for create_sponsor/update_sponsor. Defaults (e.g. 'gold_sponsor') plus any custom categories already in use on the event when event_id is given.
params: event_id
update_sponsorUpdate a sponsor. Pass only the fields to change (snake_case names). sponsor_type takes a category value from list_sponsor_categories. primary_contact_email is frozen by the API (it owns the sponsor account). Set website_card_approved / promo_card_approved true to publish the sponsor's cards to the website walls.
params: event_id*, sponsor_id*, company_name, tagline, description, website_url, linkedin_url, sponsor_type, primary_contact_name, primary_contact_phone, sponsor_information_status, internal_notes, website_card_approved, promo_card_approved, embed_enabled
upload_sponsor_imageUpload a logo for a sponsor and attach it to a slot (company_logo, company_logo_white, company_logo_vector or company_logo_white_vector). `source` is a public image URL (fetched by this server, e.g. Drive link or website) or a base64 data URL. Replaces any existing logo in that slot.
params: event_id*, sponsor_id*, source*, slot
list_schedulesList schedules (tracks) for an event.
params: event_id*
get_scheduleGet one schedule by id (with its activities).
params: event_id*, schedule_id*
create_scheduleCreate a schedule (track) for an event. Optional name (default 'Event Schedule'), schedule_type (default 'detailed') and location.
params: event_id*, name, schedule_type, location
update_scheduleUpdate a schedule (track): name, schedule_type or location. Activities are managed separately.
params: event_id*, schedule_id*, name, schedule_type, location
delete_eventDelete an event (removes it from listings; payments preserved for audit).
params: event_id*
publish_schedulePublish a schedule (track): snapshots the current draft into a new version — that snapshot is what the app and website render. Publish again after edits.
params: event_id*, schedule_id*
unpublish_scheduleUnpublish a schedule (track): pulls the published snapshot back to draft so it no longer renders in the app/website until publish_schedule is called again.
params: event_id*, schedule_id*
delete_scheduleDelete a schedule (track) and all its activities and versions.
params: event_id*, schedule_id*
list_activitiesList activities (sessions/talks) in one schedule.
params: event_id*, schedule_id*
create_activityCreate a session (activity) in a schedule. Requires title; optional dates/times (ISO, e.g. start_date 2025-09-21, start_time 10:00:00), description, location, notes, and speaker_ids/sponsor_ids to link speakers or sponsors to the session.
params: event_id*, schedule_id*, title*, start_date, end_date, start_time, end_time, description, location, notes, speaker_ids, sponsor_ids
update_activityUpdate a session (activity). Pass only the fields to change; setting speaker_ids/sponsor_ids replaces the linked speakers/sponsors.
params: event_id*, schedule_id*, activity_id*, title, start_date, end_date, start_time, end_time, description, location, notes, speaker_ids, sponsor_ids
delete_activityDelete an activity (session) from a schedule.
params: event_id*, schedule_id*, activity_id*
set_promo_configCreate or update an event's card design config (upsert by event_id + promo_type). promo_type: 'website' (speaker website cards), 'sponsor-website' (sponsor website cards), 'promo' / 'sponsor-promo' (social share cards). Pass either `preset` (a name from list_card_presets) or `config` (the card-design JSON the card builder saves: templateUrl, bgColor, canvasWidth/canvasHeight, field descriptors). e
params: event_id*, promo_type*, config, preset, embed_max_card_width, embed_background_color, embed_speaker_order, embed_sponsor_order, embed_expandable, embed_expand_count
get_promo_configGet an event's card design config. Optional promo_type filter ('website', 'sponsor-website', 'promo', 'sponsor-promo'); without it returns the event's first config.
params: event_id*, promo_type
list_card_presetsList the built-in card design presets (port of the frontend card-builder starters). Pass a preset name to set_promo_config's `preset` param.
params: none
set_form_configCreate or update an event's intake form config (upsert by event_id + form_type). form_type: 'speaker-info', 'sponsor-info' or 'call-for-speakers'. `config` is the form-builder JSON: {fields: [{id, label, type, enabled, required, options, helpText, sectionStart, maxWords}], metadata: {title, subtitle, showTitle, shareCaption, welcomeInfo: {tabLabel, heading, body}}}.
params: event_id*, form_type*, config*
get_form_configGet an event's intake form config (fields + metadata). Optional form_type filter ('speaker-info', 'sponsor-info', 'call-for-speakers'); without it returns the first config.
params: event_id*, form_type
get_websiteGet an event's website-builder state: config (the section/theme draft JSON), slug (claimed address, e.g. summit2026 gives summit2026.confbuilder.com), publishedConfig + publishedAt (what is live). config null = website not started.
params: event_id*
save_websiteSave an event's website-builder draft. `config` is the website-builder JSON (sections + theme — best obtained by reading get_website and editing it, or by asking the user for what they want built). Optional `slug` claims or renames the site address (3–40 chars: lowercase letters, numbers, hyphens; check with check_website_slug first — taken slugs fail with 409, and old slugs stay reserved forever
params: event_id*, config*, slug
publish_websitePublish an event's website: snapshots the current draft live (what visitors see). Requires a saved config and a claimed slug — save_website first. Publish again after further edits in the builder to ship them.
params: event_id*
check_website_slugCheck whether a website-builder slug (the subdomain label, 3–40 lowercase letters/numbers/hyphens) is valid and available, e.g. before save_website claims it.
params: slug*
list_marketing_postersList an event's saved marketing posters (poster grids of speaker/sponsor/attendee cards, newest first).
params: event_id*
create_marketing_posterCreate a saved marketing poster (a grid of cards for the Marketing Builder). kind fixes the entity type: 'speakers', 'sponsors' or 'attendees'. entity_ids are the ids of the entities to show on the poster (get them from list_speakers/list_sponsors/list_attendees). cols_desktop/cols_mobile are grid columns; png_cols is the cards-per-row used for PNG export; card_urls carries hosted card PNGs ({fp:
params: event_id*, kind*, name*, entity_ids, cols_desktop, cols_mobile, png_cols, card_urls
update_marketing_posterUpdate a marketing poster. Pass only the fields to change: name, entity_ids (replaces the poster's cards), cols_desktop, cols_mobile, png_cols, card_urls. kind is fixed at creation and cannot change — create a new poster for a different entity type.
params: event_id*, poster_id*, name, entity_ids, cols_desktop, cols_mobile, png_cols, card_urls
delete_marketing_posterDelete a marketing poster by id.
params: event_id*, poster_id*
list_contentList an event's content items (slides, documents, assets) — or one entity's content only: pass entity_type ('speaker', 'sponsor' or 'schedule') + entity_id.
params: event_id*, entity_type, entity_id
upload_entity_contentAttach a content file (slide deck, video, image, PDF…) to a speaker, sponsor or schedule. entity_type picks which. `source` is a public URL (fetched by this server) or a base64 data URL. name is a label shown in the app, e.g. 'presentation' or 'previous_talk'.
params: event_id*, entity_type*, entity_id*, name*, source*
archive_entity_contentArchive (or unarchive) an entity's content item by document id. Archived content is hidden from the app but kept (content has no hard delete). Get document ids from list_content.
params: event_id*, entity_type*, entity_id*, document_id*, archive
list_newsList news items for an event.
params: event_id*
create_newsPost a news item to an event's news feed (organisers). notify=True (default) also push-notifies everyone linked to the event.
params: event_id*, title*, body, notify
list_pollsList polls for an event (open polls with anonymous results; include_closed=True to see closed ones too).
params: event_id*, include_closed
create_pollCreate a poll for an event's audience. Requires a question and at least two options (e.g. options ['Yes', 'No']). Voting is anonymous; results tally is returned with the poll.
params: event_id*, question*, options*
list_chat_messagesList chat messages for an event-wide channel (oldest last). Optional `peer` for a DM thread, `after` ISO timestamp to poll for new messages.
params: event_id*, limit, after, peer
list_chat_conversationsList the logged-in user's DM threads for an event (one row per peer, latest message first). Pass a conversation's peerId to list_chat_messages as `peer` to read the full thread.
params: event_id*
send_chat_messageSend a chat message to an event's chat channel (as the logged-in user). Optional peer_user_id sends a direct message to that user instead of the event-wide channel.
params: event_id*, body*, peer_user_id
delete_chat_messageDelete a chat message (your own; organisers can delete any).
params: event_id*, message_id*
list_notificationsList the logged-in user's notifications across their events (newest first): id/title/body/data/read + unread_count. Pair with mark_notification_read when the user asks to catch up.
params: none
mark_notification_readMark one of the user's notifications as read (get ids from list_notifications).
params: notification_id*
get_my_labelsGet the logged-in user's areas-of-interest labels for an event (e.g. ['AI', 'Fintech']) — what they're interested in / following there.
params: event_id*
set_my_labelsReplace the logged-in user's areas-of-interest labels for an event (the full list replaces the old one — read with get_my_labels first and keep what they want to keep).
params: event_id*, labels*
list_attendeesList attendees for an event (paginated). Optional `search` by name/email, `state` filter (e.g. 'complete').
params: event_id*, search, state, page, page_size
get_attendeeGet one attendee by id (profile, ticket, check-in state).
params: event_id*, attendee_id*
check_in_attendeesCheck in attendees in bulk. attendee_ids are ids from list_attendees.
params: event_id*, attendee_ids*
void_attendeeVoid an attendee's ticket (mark it invalid). resell=True also frees the ticket-type capacity so the ticket can be sold again; default keeps it consumed.
params: event_id*, attendee_id*, resell
update_attendeeUpdate an attendee's details. Pass only the fields to change (first_name, last_name, email, phone_number, company_name, job_title).
params: event_id*, attendee_id*, first_name, last_name, email, phone_number, company_name, job_title
create_eventCreate an event. Requires title, start_date and end_date (ISO 8601, e.g. 2025-09-21T09:00:00Z) and team_id (get from list_teams). location optional.
params: title*, start_date*, end_date*, team_id*, location, website
update_eventUpdate an event. Pass only the fields to change (title, start_date, end_date, location, website). The event image is set with set_event_image.
params: event_id*, title, start_date, end_date, location, website
set_event_imageUpload an image for an event (e.g. hero/banner) and set it as the event's eventImage. `source` is a public image URL (fetched by this server, e.g. Drive link or website) or a base64 data URL. Replaces any existing image.
params: event_id*, source*
create_checkoutStart a checkout that pays for upgrading an event (speaker module) via Polar. Returns the hosted checkout URL — give it to the user to open and pay; the upgrade activates automatically once payment completes. No tool exists to check payment status — ask in the Polar billing portal instead.
params: event_id*, locale, currency
get_billing_portal_urlGet the user's Polar billing-portal URL — manage payments, receipts and subscriptions. Open the returned URL in a browser.
params: none

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.