# ConfBuilder (remote · mcp.seamlessevents.io)

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

- Trust score: 33/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-04

## Components

- remote · `mcp.seamlessevents.io`: 33/100 (this document), [markdown](https://verifymcp.io/servers/io-seamlessevents-mcp-confbuilder/mcp.md), [page](https://verifymcp.io/servers/io-seamlessevents-mcp-confbuilder/mcp)

## Channel facts

- Endpoint: `https://mcp.seamlessevents.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-04.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - The endpoint enforces authorisation, but returns a challenge with no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport blocked by authentication: the endpoint requires auth we don't have to verify streamable-http.
- **Schema Quality & AI Usability**: 0/100
  - Schema blocked by authentication: the endpoint requires auth we don't have to read it.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Tool Safety**: 0/100
  - Tool safety blocked by authentication: the endpoint requires auth we don't have to read its tools.
- **Capabilities**: 0/100
  - Capabilities blocked by authentication: the endpoint requires auth we don't have to read them.

**Unverified: 6 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the ConfBuilder MCP server?

ConfBuilder is a hosted endpoint at https://mcp.seamlessevents.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-seamlessevents-mcp-confbuilder 'https://mcp.seamlessevents.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-seamlessevents-mcp-confbuilder": {
      "url": "https://mcp.seamlessevents.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-seamlessevents-mcp-confbuilder": {
      "type": "http",
      "url": "https://mcp.seamlessevents.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-seamlessevents-mcp-confbuilder]
url = "https://mcp.seamlessevents.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-seamlessevents-mcp-confbuilder": {
      "type": "remote",
      "url": "https://mcp.seamlessevents.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-seamlessevents-mcp-confbuilder --url 'https://mcp.seamlessevents.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-seamlessevents-mcp-confbuilder:
    url: "https://mcp.seamlessevents.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-seamlessevents-mcp-confbuilder": {
      "Transport": "http",
      "Url": "https://mcp.seamlessevents.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-seamlessevents-mcp-confbuilder -t streamable-http -u 'https://mcp.seamlessevents.io/mcp'
```

### Other

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

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-30 (score 33)

First indexed and scored.

## MCP tools (76)

### `request_login_code` (~61 tokens)

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

Input parameters:

- `email` (string, required)

### `verify_login_code` (~66 tokens)

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.

Input parameters:

- `code` (string, required)
- `email` (string, required)

### `me` (~29 tokens)

Get my profile

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

### `list_teams` (~27 tokens)

List my teams

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

### `find_events` (~55 tokens)

Find events

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

Input parameters:

- `page` (integer)
- `page_size` (integer)
- `q`

### `get_event` (~33 tokens)

Get event

Get one event by id (full detail: modules, speakers, sponsors, schedules).

Input parameters:

- `event_id` (string, required)

### `get_event_modules` (~37 tokens)

List event modules

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

Input parameters:

- `event_id` (string, required)

### `toggle_event_module` (~74 tokens)

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.

Input parameters:

- `enabled` (boolean, required)
- `event_id` (string, required)
- `module_id` (string, required)

### `list_event_members` (~61 tokens)

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

Input parameters:

- `event_id` (string, required)

### `invite_event_member` (~89 tokens)

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

Input parameters:

- `email` (string, required)
- `event_id` (string, required)
- `name`
- `role` (string)

### `update_event_member` (~76 tokens)

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.

Input parameters:

- `event_id` (string, required)
- `role` (string, required)
- `user_id` (string, required)

### `remove_event_member` (~49 tokens)

Remove event member

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

Input parameters:

- `event_id` (string, required)
- `user_id` (string, required)

### `accept_event_invitation` (~48 tokens)

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

Input parameters:

- `event_id` (string, required)

### `list_speakers` (~68 tokens)

List speakers

List speakers for an event (paginated). Optional form_type filter, e.g. 'speaker-intake' or 'call-for-speakers'.

Input parameters:

- `event_id` (string, required)
- `form_type`
- `page` (integer)
- `page_size` (integer)

### `get_speaker` (~43 tokens)

Get speaker

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

Input parameters:

- `event_id` (string, required)
- `speaker_id` (string, required)

### `create_speaker` (~118 tokens)

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.

Input parameters:

- `bio`
- `company_name`
- `company_role`
- `email` (string, required)
- `event_id` (string, required)
- `first_name` (string, required)
- `form_type` (string)
- `last_name` (string, required)
- `linkedin`
- `talk_description`
- `talk_title`

### `update_speaker` (~156 tokens)

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.

Input parameters:

- `bio`
- `company_name`
- `company_role`
- `embed_enabled`
- `event_id` (string, required)
- `first_name`
- `form_type`
- `internal_notes`
- `last_name`
- `linkedin`
- `promo_card_approved`
- `speaker_id` (string, required)
- `talk_description`
- `talk_title`
- `website_card_approved`

### `upload_speaker_image` (~134 tokens)

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.

Input parameters:

- `event_id` (string, required)
- `face_crop` (boolean)
- `slot` (string)
- `source` (string, required)
- `speaker_id` (string, required)

### `delete_speaker` (~43 tokens)

Delete speaker

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

Input parameters:

- `event_id` (string, required)
- `speaker_id` (string, required)

### `send_speaker_login_link` (~70 tokens)

Send speaker login link

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

Input parameters:

- `event_id` (string, required)
- `speaker_id` (string, required)

### `list_sponsors` (~53 tokens)

List sponsors

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

Input parameters:

- `event_id` (string, required)
- `page` (integer)
- `page_size` (integer)
- `q`

### `get_sponsor` (~40 tokens)

Get sponsor

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

Input parameters:

- `event_id` (string, required)
- `sponsor_id` (string, required)

### `create_sponsor` (~140 tokens)

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.

Input parameters:

- `company_name` (string, required)
- `description`
- `event_id` (string, required)
- `form_type` (string)
- `linkedin_url`
- `primary_contact_email`
- `primary_contact_name`
- `primary_contact_phone`
- `sponsor_type` (string, required)
- `tagline`
- `website_url`

### `delete_sponsor` (~43 tokens)

Delete sponsor

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

Input parameters:

- `event_id` (string, required)
- `sponsor_id` (string, required)

Output parameters:

- `result`

### `list_sponsor_categories` (~55 tokens)

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.

Input parameters:

- `event_id`

### `update_sponsor` (~172 tokens)

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.

Input parameters:

- `company_name`
- `description`
- `embed_enabled`
- `event_id` (string, required)
- `internal_notes`
- `linkedin_url`
- `primary_contact_name`
- `primary_contact_phone`
- `promo_card_approved`
- `sponsor_id` (string, required)
- `sponsor_information_status`
- `sponsor_type`
- `tagline`
- `website_card_approved`
- `website_url`

### `upload_sponsor_image` (~108 tokens)

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.

Input parameters:

- `event_id` (string, required)
- `slot` (string)
- `source` (string, required)
- `sponsor_id` (string, required)

### `list_schedules` (~26 tokens)

List schedules

List schedules (tracks) for an event.

Input parameters:

- `event_id` (string, required)

Output parameters:

- `result`

### `get_schedule` (~34 tokens)

Get schedule

Get one schedule by id (with its activities).

Input parameters:

- `event_id` (string, required)
- `schedule_id` (string, required)

### `create_schedule` (~65 tokens)

Create schedule

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

Input parameters:

- `event_id` (string, required)
- `location`
- `name` (string)
- `schedule_type` (string)

### `update_schedule` (~58 tokens)

Update schedule

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

Input parameters:

- `event_id` (string, required)
- `location`
- `name`
- `schedule_id` (string, required)
- `schedule_type`

### `delete_event` (~31 tokens)

Delete event

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

Input parameters:

- `event_id` (string, required)

Output parameters:

- `result`

### `publish_schedule` (~54 tokens)

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.

Input parameters:

- `event_id` (string, required)
- `schedule_id` (string, required)

### `delete_schedule` (~37 tokens)

Delete schedule

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

Input parameters:

- `event_id` (string, required)
- `schedule_id` (string, required)

Output parameters:

- `result`

### `list_activities` (~37 tokens)

List sessions

List activities (sessions/talks) in one schedule.

Input parameters:

- `event_id` (string, required)
- `schedule_id` (string, required)

Output parameters:

- `result`

### `create_activity` (~145 tokens)

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.

Input parameters:

- `description`
- `end_date`
- `end_time`
- `event_id` (string, required)
- `location`
- `notes`
- `schedule_id` (string, required)
- `speaker_ids`
- `sponsor_ids`
- `start_date`
- `start_time`
- `title` (string, required)

### `update_activity` (~114 tokens)

Update session

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

Input parameters:

- `activity_id` (string, required)
- `description`
- `end_date`
- `end_time`
- `event_id` (string, required)
- `location`
- `notes`
- `schedule_id` (string, required)
- `speaker_ids`
- `sponsor_ids`
- `start_date`
- `start_time`
- `title`

### `delete_activity` (~42 tokens)

Delete session

Delete an activity (session) from a schedule.

Input parameters:

- `activity_id` (string, required)
- `event_id` (string, required)
- `schedule_id` (string, required)

Output parameters:

- `result`

### `set_promo_config` (~167 tokens)

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

Input parameters:

- `config`
- `embed_background_color`
- `embed_max_card_width`
- `embed_speaker_order`
- `embed_sponsor_order`
- `event_id` (string, required)
- `preset`
- `promo_type` (string, required)

### `get_promo_config` (~63 tokens)

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.

Input parameters:

- `event_id` (string, required)
- `promo_type`

### `list_card_presets` (~41 tokens)

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.

### `set_form_config` (~129 tokens)

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

Input parameters:

- `config` (object, required)
- `event_id` (string, required)
- `form_type` (string, required)

### `get_form_config` (~61 tokens)

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.

Input parameters:

- `event_id` (string, required)
- `form_type`

### `get_website` (~70 tokens)

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.

Input parameters:

- `event_id` (string, required)

Output parameters:

- `result`

### `save_website` (~140 tokens)

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

Input parameters:

- `config` (object, required)
- `event_id` (string, required)
- `slug`

### `publish_website` (~59 tokens)

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.

Input parameters:

- `event_id` (string, required)

### `check_website_slug` (~57 tokens)

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.

Input parameters:

- `slug` (string, required)

### `list_marketing_posters` (~41 tokens)

List marketing posters

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

Input parameters:

- `event_id` (string, required)

### `create_marketing_poster` (~174 tokens)

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

Input parameters:

- `card_urls`
- `cols_desktop` (integer)
- `cols_mobile` (integer)
- `entity_ids`
- `event_id` (string, required)
- `kind` (string, required)
- `name` (string, required)
- `png_cols`

### `update_marketing_poster` (~119 tokens)

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.

Input parameters:

- `card_urls`
- `cols_desktop`
- `cols_mobile`
- `entity_ids`
- `event_id` (string, required)
- `name`
- `png_cols`
- `poster_id` (string, required)

### `delete_marketing_poster` (~34 tokens)

Delete marketing poster

Delete a marketing poster by id.

Input parameters:

- `event_id` (string, required)
- `poster_id` (string, required)

### `list_content` (~67 tokens)

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.

Input parameters:

- `entity_id`
- `entity_type`
- `event_id` (string, required)

Output parameters:

- `result`

### `upload_entity_content` (~116 tokens)

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

Input parameters:

- `entity_id` (string, required)
- `entity_type` (string, required)
- `event_id` (string, required)
- `name` (string, required)
- `source` (string, required)

### `archive_entity_content` (~86 tokens)

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.

Input parameters:

- `archive` (boolean)
- `document_id` (string, required)
- `entity_id` (string, required)
- `entity_type` (string, required)
- `event_id` (string, required)

### `list_news` (~23 tokens)

List news items

List news items for an event.

Input parameters:

- `event_id` (string, required)

### `create_news` (~64 tokens)

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.

Input parameters:

- `body`
- `event_id` (string, required)
- `notify` (boolean)
- `title` (string, required)

### `list_polls` (~46 tokens)

List polls

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

Input parameters:

- `event_id` (string, required)
- `include_closed` (boolean)

### `create_poll` (~70 tokens)

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.

Input parameters:

- `event_id` (string, required)
- `options` (array, required)
- `question` (string, required)

### `list_chat_messages` (~67 tokens)

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.

Input parameters:

- `after`
- `event_id` (string, required)
- `limit` (integer)
- `peer`

### `list_chat_conversations` (~58 tokens)

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.

Input parameters:

- `event_id` (string, required)

### `send_chat_message` (~66 tokens)

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.

Input parameters:

- `body` (string, required)
- `event_id` (string, required)
- `peer_user_id`

### `delete_chat_message` (~38 tokens)

Delete chat message

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

Input parameters:

- `event_id` (string, required)
- `message_id` (string, required)

Output parameters:

- `result`

### `list_notifications` (~44 tokens)

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.

### `mark_notification_read` (~32 tokens)

Mark notification read

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

Input parameters:

- `notification_id` (string, required)

### `get_my_labels` (~49 tokens)

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.

Input parameters:

- `event_id` (string, required)

### `set_my_labels` (~59 tokens)

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

Input parameters:

- `event_id` (string, required)
- `labels` (array, required)

### `list_attendees` (~70 tokens)

List attendees

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

Input parameters:

- `event_id` (string, required)
- `page` (integer)
- `page_size` (integer)
- `search`
- `state`

### `get_attendee` (~39 tokens)

Get attendee

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

Input parameters:

- `attendee_id` (string, required)
- `event_id` (string, required)

### `check_in_attendees` (~41 tokens)

Check in attendees

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

Input parameters:

- `attendee_ids` (array, required)
- `event_id` (string, required)

### `void_attendee` (~65 tokens)

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.

Input parameters:

- `attendee_id` (string, required)
- `event_id` (string, required)
- `resell` (boolean)

### `update_attendee` (~90 tokens)

Update attendee

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

Input parameters:

- `attendee_id` (string, required)
- `company_name`
- `email`
- `event_id` (string, required)
- `first_name`
- `job_title`
- `last_name`
- `phone_number`

### `create_event` (~98 tokens)

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.

Input parameters:

- `end_date` (string, required)
- `location`
- `start_date` (string, required)
- `team_id` (string, required)
- `title` (string, required)
- `website`

### `update_event` (~76 tokens)

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.

Input parameters:

- `end_date`
- `event_id` (string, required)
- `location`
- `start_date`
- `title`
- `website`

### `set_event_image` (~83 tokens)

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.

Input parameters:

- `event_id` (string, required)
- `source` (string, required)

### `create_checkout` (~86 tokens)

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.

Input parameters:

- `currency` (string)
- `event_id` (string, required)
- `locale` (string)

### `get_billing_portal_url` (~36 tokens)

Open billing portal

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

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-seamlessevents-mcp-confbuilder/mcp#diagnostics

## Score history

- 2026-10-04: 33
- 2026-10-03: 33
- 2026-10-02: 33
- 2026-10-01: 33
- 2026-09-30: 33

## Common questions

### What is the ConfBuilder MCP server?

ConfBuilder is an MCP server listed in the public MCP registry as io.seamlessevents.mcp/confbuilder. ConfBuilder tools: events, speakers, sponsors, attendees, schedules, content, news, polls, chat. This page covers its hosted endpoint (https://mcp.seamlessevents.io/mcp).

### Is the ConfBuilder MCP server safe to use?

ConfBuilder scores 33 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the ConfBuilder MCP server expose?

ConfBuilder exposes 76 tools: request_login_code, verify_login_code, me, list_teams, find_events, and 71 more. Their descriptions and schemas cost roughly 5,315 tokens of context every time the server is loaded.

### Does the ConfBuilder MCP server require authentication?

Yes. ConfBuilder asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the ConfBuilder MCP server still maintained?

ConfBuilder is still listed as active in the MCP registry. We last reached this channel on 4 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.seamlessevents.io/mcp
- Website: https://confbuilder.com/
- Changelog RSS feed: https://verifymcp.io/servers/io-seamlessevents-mcp-confbuilder/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-seamlessevents-mcp-confbuilder/mcp.json
- HTML version of this page: https://verifymcp.io/servers/io-seamlessevents-mcp-confbuilder/mcp
