ConfBuilder

io.seamlessevents.mcpPublished by mcp.seamlessevents.ioOfficial publisherv1.0.0Updated Oct 24, 2026

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

VerifiedStreamable HTTPWeb executableProductivity & WorkflowCommunication & Collaboration

Overview

AI-generated overview

ConfBuilder lets an assistant manage conference events: speakers, sponsors, schedules, sessions, members and event modules through a remote MCP endpoint.

What you can do
Sign in by email code and read the user's profile and teams, then find and inspect events and see what needs action on each one (get_event_actions). Manage event access: list, invite, change roles of and remove members, and accept the user's own invitation. Manage speakers: list, create, update, delete, upload headshots and logos, and send passwordless sign-in links. Manage sponsors: list, create, update, delete, upload logos and list sponsor categories. Manage schedules and sessions: create, update, publish or unpublish tracks, and create, update or delete activities. Toggle event modules and delete events.
When to use it
Useful when someone runs conferences or events on ConfBuilder and wants an assistant to look up events, prepare speaker and sponsor records, build and publish schedules, or answer what still needs doing on an event without clicking through the dashboard.
Requirements
A remote streamable HTTP endpoint; nothing to install locally. Sign-in is by a 6-digit code emailed to the user's address, which the user reads back; verify_login_code returns an API token the user must set as the client's authorization header. The token is valid for 7 days.
Before you install
The token from verify_login_code is a credential the user must place in the authorization header. Many tools write or delete data: creating, updating and deleting speakers, sponsors, schedules, sessions and events, inviting or removing members, and publishing schedules to the live app and website. Deletions are permanent. Uploading images fetches a public URL server-side. Sending speaker login links emails real people, so confirm the speaker first.

Installation

In SourceWeft

  1. Open ConfBuilder in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.seamlessevents.mcp%2Fconfbuilder/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "confbuilder": {
      "type": "http",
      "url": "https://mcp.seamlessevents.io/mcp"
    }
  }
}

Tools

78

request_login_code

Request login code

Email 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'.

Parametersemailrequired

verify_login_code

Verify login code

Complete 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.

Parameterscoderequiredemailrequired

me

Get my profile

Profile of the logged-in user (id, name, email, team_ids), via the Authorization header token.

Takes no parameters.

list_teams

List my teams

List the user's teams (id + name). Use a team_id when creating an event.

Takes no parameters.

find_events

Find events

Find events the user can access. Optional free-text query `q`. Returns id/title/dates — chain the id into other tools.

Parametersqpagepage_size

get_event

Get event

Get one event by id (modules, email settings, dates, billing). Speakers, sponsors and schedules are separate tools — see the Actions dashboard via get_event_actions.

Parametersevent_idrequired

get_event_actions

Get event actions dashboard

One 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>'.

Parametersevent_idrequired

get_event_modules

List event modules

List an event's modules with their enabled state (speaker, schedule, content, attendee, app).

Parametersevent_idrequired

toggle_event_module

Toggle event module

Enable 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.

Parametersenabledrequiredevent_idrequiredmodule_idrequired

list_event_members

List event members

List the people with direct access to an event: user_id, name, email, role ('event:admin'/'event:editor'/'event:viewer'/'speaker'), invitation status ('active'/'pending').

Parametersevent_idrequired

invite_event_member

Invite event member

Invite 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).

Parametersnameroleemailrequiredevent_idrequired

update_event_member

Update event member

Change 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.

Parametersrolerequireduser_idrequiredevent_idrequired

remove_event_member

Remove event member

Remove a member's access to an event (their speaker links are not affected). Get user_id from list_event_members.

Parametersuser_idrequiredevent_idrequired

accept_event_invitation

Accept event invitation

Accept the logged-in user's own pending invitation to an event (activates their membership). Use when the user says 'accept my invite to <event>'.

Parametersevent_idrequired

list_speakers

List speakers

List 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).

Parametersqpageevent_idrequiredform_typepage_sizeintake_status

get_speaker

Get speaker

Get one speaker by id (bio, talk title, headshot, logos, links).

Parametersevent_idrequiredspeaker_idrequired

create_speaker

Create speaker

Create 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.

Parametersbioemailrequiredevent_idrequiredlinkedinform_typelast_namerequiredfirst_namerequiredtalk_titlecompany_namecompany_roletalk_description

update_speaker

Update speaker

Update 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.

Parametersbioevent_idrequiredlinkedinform_typelast_namefirst_namespeaker_idrequiredtalk_titlecompany_namecompany_roleembed_enabledinternal_notes+3 more

upload_speaker_image

Upload speaker image

Upload 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.

Parametersslotsourcerequiredevent_idrequiredface_cropspeaker_idrequired

delete_speaker

Delete speaker

Delete a speaker from an event. Permanent — removes their talk links, content and images.

Parametersevent_idrequiredspeaker_idrequired

list_sponsors

List sponsors

List sponsors for an event (paginated). Optional free-text query `q`.

Parametersqpageevent_idrequiredpage_size

get_sponsor

Get sponsor

Get one sponsor by id (company info, contacts, logos, status).

Parametersevent_idrequiredsponsor_idrequired

create_sponsor

Create sponsor

Create 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.

Parameterstaglineevent_idrequiredform_typedescriptionwebsite_urlcompany_namerequiredlinkedin_urlsponsor_typerequiredprimary_contact_nameprimary_contact_emailprimary_contact_phone

delete_sponsor

Delete sponsor

Delete a sponsor from an event. Permanent — removes their logo, links and card images.

Parametersevent_idrequiredsponsor_idrequired

list_sponsor_categories

List sponsor categories

List 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.

Parametersevent_id

update_sponsor

Update sponsor

Update 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.

Parameterstaglineevent_idrequiredsponsor_idrequireddescriptionwebsite_urlcompany_namelinkedin_urlsponsor_typeembed_enabledinternal_notespromo_card_approvedprimary_contact_name+3 more

upload_sponsor_image

Upload sponsor logo

Upload 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.

Parametersslotsourcerequiredevent_idrequiredsponsor_idrequired

list_schedules

List schedules

List schedules (tracks) for an event.

Parametersevent_idrequired

get_schedule

Get schedule

Get one schedule by id (with its activities).

Parametersevent_idrequiredschedule_idrequired

create_schedule

Create schedule

Create a schedule (track) for an event. Optional name (default 'Event Schedule'), schedule_type (default 'detailed') and location.

Parametersnameevent_idrequiredlocationschedule_type

update_schedule

Update schedule

Update a schedule (track): name, schedule_type or location. Activities are managed separately.

Parametersnameevent_idrequiredlocationschedule_idrequiredschedule_type

delete_event

Delete event

Delete an event (removes it from listings; payments preserved for audit).

Parametersevent_idrequired

publish_schedule

Publish schedule

Publish a schedule (track): snapshots the current draft into a new version — that snapshot is what the app and website render. Publish again after edits.

Parametersevent_idrequiredschedule_idrequired

unpublish_schedule

Unpublish schedule

Unpublish 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.

Parametersevent_idrequiredschedule_idrequired

delete_schedule

Delete schedule

Delete a schedule (track) and all its activities and versions.

Parametersevent_idrequiredschedule_idrequired

list_activities

List sessions

List activities (sessions/talks) in one schedule.

Parametersevent_idrequiredschedule_idrequired

create_activity

Create session

Create 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.

Parametersnotestitlerequiredend_dateend_timeevent_idrequiredlocationstart_datestart_timedescriptionschedule_idrequiredspeaker_idssponsor_ids

update_activity

Update session

Update a session (activity). Pass only the fields to change; setting speaker_ids/sponsor_ids replaces the linked speakers/sponsors.

Parametersnotestitleend_dateend_timeevent_idrequiredlocationstart_datestart_timeactivity_idrequireddescriptionschedule_idrequiredspeaker_ids+1 more

delete_activity

Delete session

Delete an activity (session) from a schedule.

Parametersevent_idrequiredactivity_idrequiredschedule_idrequired

set_promo_config

Set card design config

Create 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). embed_expandable + embed_expand_count make the embed wall render the first N cards plus a show-more chevron instead of all cards.

Parametersconfigpresetevent_idrequiredpromo_typerequiredembed_expandableembed_expand_countembed_speaker_orderembed_sponsor_orderembed_max_card_widthembed_background_color

get_promo_config

Get card design config

Get an event's card design config. Optional promo_type filter ('website', 'sponsor-website', 'promo', 'sponsor-promo'); without it returns the event's first config.

Parametersevent_idrequiredpromo_type

list_card_presets

List card design presets

List the built-in card design presets (port of the frontend card-builder starters). Pass a preset name to set_promo_config's `preset` param.

Takes no parameters.

set_form_config

Set intake form config

Create 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}}}.

Parametersconfigrequiredevent_idrequiredform_typerequired

get_form_config

Get intake form config

Get 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.

Parametersevent_idrequiredform_type

get_website

Get event website

Get 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.

Parametersevent_idrequired

save_website

Save event website

Save 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 when renaming so printed links keep working). Publishing is a separate step (publish_website).

Parametersslugconfigrequiredevent_idrequired

publish_website

Publish event website

Publish 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.

Parametersevent_idrequired

check_website_slug

Check website slug availability

Check 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.

Parametersslugrequired

list_marketing_posters

List marketing posters

List an event's saved marketing posters (poster grids of speaker/sponsor/attendee cards, newest first).

Parametersevent_idrequired

create_marketing_poster

Create marketing poster

Create 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: templateFingerprint, urls: {cardId: url}}).

Parameterskindrequirednamerequiredevent_idrequiredpng_colscard_urlsentity_idscols_mobilecols_desktop

update_marketing_poster

Update marketing poster

Update 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.

Parametersnameevent_idrequiredpng_colscard_urlsposter_idrequiredentity_idscols_mobilecols_desktop

delete_marketing_poster

Delete marketing poster

Delete a marketing poster by id.

Parametersevent_idrequiredposter_idrequired

list_content

List content files

List an event's content items (slides, documents, assets) — or one entity's content only: pass entity_type ('speaker', 'sponsor' or 'schedule') + entity_id.

Parametersevent_idrequiredentity_identity_type

upload_entity_content

Upload content file

Attach 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'.

Parametersnamerequiredsourcerequiredevent_idrequiredentity_idrequiredentity_typerequired

archive_entity_content

Archive content file

Archive (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.

Parametersarchiveevent_idrequiredentity_idrequireddocument_idrequiredentity_typerequired

list_news

List news items

List news items for an event.

Parametersevent_idrequired

create_news

Post news item

Post a news item to an event's news feed (organisers). notify=True (default) also push-notifies everyone linked to the event.

Parametersbodytitlerequirednotifyevent_idrequired

list_polls

List polls

List polls for an event (open polls with anonymous results; include_closed=True to see closed ones too).

Parametersevent_idrequiredinclude_closed

create_poll

Create poll

Create 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.

Parametersoptionsrequiredevent_idrequiredquestionrequired

list_chat_messages

List chat messages

List chat messages for an event-wide channel (oldest last). Optional `peer` for a DM thread, `after` ISO timestamp to poll for new messages.

Parameterspeerafterlimitevent_idrequired

list_chat_conversations

List chat conversations

List 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.

Parametersevent_idrequired

send_chat_message

Send chat message

Send 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.

Parametersbodyrequiredevent_idrequiredpeer_user_id

delete_chat_message

Delete chat message

Delete a chat message (your own; organisers can delete any).

Parametersevent_idrequiredmessage_idrequired

list_notifications

List notifications

List 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.

Takes no parameters.

mark_notification_read

Mark notification read

Mark one of the user's notifications as read (get ids from list_notifications).

Parametersnotification_idrequired

get_my_labels

Get my event labels

Get the logged-in user's areas-of-interest labels for an event (e.g. ['AI', 'Fintech']) — what they're interested in / following there.

Parametersevent_idrequired

set_my_labels

Set my event labels

Replace 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).

Parameterslabelsrequiredevent_idrequired

list_attendees

List attendees

List attendees for an event (paginated). Optional `search` by name/email, `state` filter (e.g. 'complete').

Parameterspagestatesearchevent_idrequiredpage_size

get_attendee

Get attendee

Get one attendee by id (profile, ticket, check-in state).

Parametersevent_idrequiredattendee_idrequired

check_in_attendees

Check in attendees

Check in attendees in bulk. attendee_ids are ids from list_attendees.

Parametersevent_idrequiredattendee_idsrequired

void_attendee

Void attendee ticket

Void 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.

Parametersresellevent_idrequiredattendee_idrequired

update_attendee

Update attendee

Update an attendee's details. Pass only the fields to change (first_name, last_name, email, phone_number, company_name, job_title).

Parametersemailevent_idrequiredjob_titlelast_namefirst_nameattendee_idrequiredcompany_namephone_number

create_event

Create event

Create 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.

Parameterstitlerequiredteam_idrequiredwebsiteend_daterequiredlocationstart_daterequired

update_event

Update event

Update an event. Pass only the fields to change (title, start_date, end_date, location, website). The event image is set with set_event_image.

Parameterstitlewebsiteend_dateevent_idrequiredlocationstart_date

set_event_image

Set event image

Upload 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.

Parameterssourcerequiredevent_idrequired

create_checkout

Create event upgrade checkout

Start 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.

Parameterslocalecurrencyevent_idrequired

get_billing_portal_url

Open billing portal

Get the user's Polar billing-portal URL — manage payments, receipts and subscriptions. Open the returned URL in a browser.

Takes no parameters.

Version history

1
  1. v1.0.0LatestOct 1, 2026

Score

72% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts

    Publish an icon in the registry entry.

  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.