Skip to main content
Glama
Swapcard MCP Server

Swapcard MCP Server

Swapcard MCP Server

A Model Context Protocol (MCP) server covering the full Swapcard API surface — Content, Leads, Analytics export, and Webhooks.

Tools

Category

Tool

Description

Events

swapcard_get_event

Get a single event by ID

swapcard_get_events

Get multiple events by IDs

People

swapcard_list_event_people

List/search attendees with filters

swapcard_import_event_people

Bulk create/update people (groups, barcodes, speaker roles, exhibitor membership)

swapcard_delete_event_people

Delete people from an event

Sessions

swapcard_list_sessions

List/search sessions with format/speaker/event filters

swapcard_import_sessions

Bulk create/update sessions

swapcard_delete_sessions

Delete sessions

Exhibitors

swapcard_list_exhibitors

List/search exhibitors

swapcard_upsert_exhibitors

Bulk create/update exhibitors

swapcard_update_exhibitor

Update a single exhibitor

swapcard_delete_exhibitors

Delete exhibitors

Documents

swapcard_list_event_documents

List event documents

swapcard_create_event_document

Attach a document to an event

swapcard_update_event_document

Update a document

swapcard_delete_event_documents

Delete documents

swapcard_create_document

Create a community-level document (v2)

swapcard_update_document

Update a community-level document (v2)

Custom Fields

swapcard_get_custom_fields

Get field definitions by target

swapcard_get_select_field_options

Get Select/MultiSelect option values

swapcard_create_custom_field

Create a custom field definition

swapcard_update_custom_field

Update a custom field definition

swapcard_delete_custom_fields

Delete custom field definitions

Meetings

swapcard_list_meetings

List meetings with status/date filters

Webhooks

swapcard_list_webhooks

List webhook subscriptions

swapcard_create_webhook

Register a new webhook

swapcard_update_webhook

Update a webhook

swapcard_delete_webhook

Delete a webhook

Leads

swapcard_get_my_exhibitors

Exhibitors accessible to the Leads API token

swapcard_get_my_leads

Get scanned leads for an exhibitor

swapcard_scan_badges

Scan attendee badges with optional rating and note

Analytics

swapcard_export_analytics

Export raw analytics records (REST, ~10 min delay)

Related MCP server: Microsoft Events MCP Server

Setup

1. Get API tokens

Token

Where to create

SWAPCARD_CONTENT_TOKEN

https://studio.swapcard.com/api-keys (Organizer role)

SWAPCARD_LEADS_TOKEN

Event Studio → Integrations → API Keys

SWAPCARD_ANALYTICS_TOKEN

Same as Content token (defaults to it if unset)

2. Build

npm install
npm run build

3. Add to Claude Desktop

In ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "swapcard": {
      "command": "node",
      "args": ["/Users/klajdishira/Documents/Swapcard-MCP/dist/index.js"],
      "env": {
        "SWAPCARD_CONTENT_TOKEN": "your-content-api-token",
        "SWAPCARD_LEADS_TOKEN": "your-leads-api-token",
        "SWAPCARD_ANALYTICS_TOKEN": "your-analytics-token"
      }
    }
  }
}

4. Add to Claude Code (CLI)

In your project's .claude/settings.json or ~/.claude/settings.json:

{
  "mcpServers": {
    "swapcard": {
      "command": "node",
      "args": ["/Users/klajdishira/Documents/Swapcard-MCP/dist/index.js"],
      "env": {
        "SWAPCARD_CONTENT_TOKEN": "your-content-api-token",
        "SWAPCARD_LEADS_TOKEN": "your-leads-api-token"
      }
    }
  }
}

Rate Limits (Content API)

  • 60,000 points/minute

  • Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset

  • Mutations = 1,000 pts; objects = 2 pts; scalars = 1 pt; 1.5× depth multiplier

Analytics delay

  • Analytics Export REST API: ~10 minutes

  • Analytics GraphQL API: ~15 minutes

Available Tools

32 tools
swapcard_create_custom_fieldC

Create a new custom field definition on an event.

Inputs: name (required), type (required), target (required), eventId (required), +3 more.

swapcard_create_documentC

Create a community-level document (v2), optionally scoped to an event.

Inputs: url (required), name (required), communityId (required), eventId, +2 more.

swapcard_create_event_documentC

Attach a new document (URL-based) to an event.

Inputs: url (required), name (required), eventId (required), description.

swapcard_create_webhookC

Register a new webhook subscription for an event.

Inputs: hooks (required), secret (required), eventId (required), endpoint (required).

swapcard_delete_custom_fieldsB

Delete custom field definitions from an event.

Inputs: eventId (required), fieldDefinitionIds (required).

swapcard_delete_event_documentsB

Delete one or more event documents by their IDs.

Inputs: eventId (required), documentIds (required).

swapcard_delete_event_peopleB

Permanently delete people from an event by their Swapcard person IDs.

Inputs: eventId (required), eventPeopleIds (required).

swapcard_delete_exhibitorsB

Delete exhibitors from an event by their IDs.

Inputs: eventId (required), exhibitorIds (required).

swapcard_delete_sessionsB

Delete sessions/plannings from an event by their IDs.

Inputs: eventId (required), planningsIds (required).

swapcard_delete_webhookA

Delete a webhook subscription by its ID.

Inputs: webhookId (required).

swapcard_export_analyticsA

Export raw analytics event records for one or more events. Data has ~10-minute delay. Cursor-paginated.

Inputs: event_ids (required), limit, cursor, events, +5 more.

swapcard_get_custom_fieldsA

Get all custom field definitions for an event, optionally filtered by target entity type.

Inputs: eventId (required), target.

swapcard_get_eventA

Get a single Swapcard event by ID, including title, dates, description, address, groups, community, and stats.

Inputs: eventId (required).

swapcard_get_eventsC

Get multiple Swapcard events by their IDs in one request.

Inputs: eventIds (required).

swapcard_get_my_exhibitorsC

Get the list of exhibitors accessible to the authenticated Leads API token.

Inputs: after, first.

swapcard_get_my_leadsB

Get all leads (scanned contacts) for a specific exhibitor at a specific event.

Inputs: eventId (required), exhibitorId (required).

swapcard_get_select_field_optionsA

Get all Select and MultipleSelect custom field definitions with their option values.

Inputs: eventId (required).

swapcard_import_event_peopleC

Create or update attendees/people in bulk. Supports groups, barcodes, speaker roles, exhibitor memberships, and custom fields.

Inputs: data (required), eventId (required), force, validateOnly.

swapcard_import_sessionsB

Create or update sessions/plannings in bulk. Supports all formats, video types, access control, and custom fields.

Inputs: eventId (required), plannings (required).

swapcard_list_event_documentsC

List all documents attached to an event.

Inputs: eventId (required), page.

swapcard_list_event_peopleA

List or search attendees/people in an event with optional email filter and cursor-based pagination.

Inputs: eventId (required), after, first, emails, +1 more.

swapcard_list_exhibitorsC

List or search exhibitors in a community.

Inputs: communityId (required), sort, after, first, +2 more.

swapcard_list_meetingsA

List meetings in an event with optional ID/date filters and cursor pagination.

Inputs: eventId (required), ids, after, first, +1 more.

swapcard_list_sessionsA

List or search sessions/plannings in a community. Filter by event, format, speaker; sort by various fields.

Inputs: communityId (required), sort, after, first, +2 more.

swapcard_list_webhooksA

List all webhook subscriptions configured for an event.

Inputs: eventId (required).

swapcard_scan_badgesB

Scan attendee badges on behalf of an exhibitor. Optionally set rating (1-5) and note per badge.

Inputs: badges (required), eventId (required), exhibitorId (required).

swapcard_update_custom_fieldC

Update an existing custom field definition.

Inputs: fieldDefinitionId (required), isVisible, isEditable, maxCharacters.

swapcard_update_documentB

Update a community-level document (v2) by its ID.

Inputs: id (required), url, name, description.

swapcard_update_event_documentC

Update an existing event document.

Inputs: documentId (required), url, name, description.

swapcard_update_exhibitorC

Update a single exhibitor's details including features and background image.

Inputs: eventId (required), exhibitorId (required), name, logoUrl, +4 more.

swapcard_update_webhookC

Update an existing webhook subscription's endpoint or event types.

Inputs: webhookId (required), hooks, endpoint.

swapcard_upsert_exhibitorsB

Create or update exhibitors in an event.

Inputs: eventId (required), exhibitors (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    C2.8/5.0

    Scored across 32 tools

    Disambiguation3/5

    Most tools target clearly distinct resources, but there are confusing overlaps: swapcard_create_document vs swapcard_create_event_document and swapcard_update_document vs swapcard_update_event_document are easy to mix up. get_my_exhibitors vs list_exhibitors and upsert_exhibitors vs update_exhibitor also require careful reading.

    Naming Consistency3/5

    The swapcard_ verb_noun prefix pattern is consistent, but the verb choice is mixed: get_event/get_events use 'get' while list_event_people/list_sessions/list_exhibitors use 'list'. Pluralization is inconsistent too, with delete_webhook singular but delete_event_documents and delete_custom_fields plural.

    Tool Count2/5

    32 tools is heavy for even a broad event management server, and the set spans many subdomains including events, people, sessions, exhibitors, documents, webhooks, custom fields, meetings, leads, and analytics. This will overwhelm an agent during tool selection. The count clearly exceeds the 25-tool threshold where coherence tends to degrade.

    Completeness3/5

    Core workflows are well covered: people import/list/delete, session list/import/delete, exhibitor list/upsert/update/delete, webhook CRUD, and custom field CRUD. However, events are read-only, meetings only have a list operation, and community-level documents have no list or delete tool, leaving notable lifecycle gaps.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Enables interaction with the Wisembly API to fetch and manage event data, including event details, participants, organizers, and locations.
      2
      1
      ISC
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI assistants to search, filter, and analyze Microsoft events (conferences, workshops, webinars) using the Microsoft Events API.
      4
      2
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Exposes Swagger/OpenAPI API documentation to AI models, enabling exploration, search, and interaction with endpoints, schemas, and execution of API calls.
      14
      20 npm
      2
      MIT