Swapcard MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Swapcard MCP Server List the first 10 attendees for event 12345"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
| Get a single event by ID |
| Get multiple events by IDs | |
People |
| List/search attendees with filters |
| Bulk create/update people (groups, barcodes, speaker roles, exhibitor membership) | |
| Delete people from an event | |
Sessions |
| List/search sessions with format/speaker/event filters |
| Bulk create/update sessions | |
| Delete sessions | |
Exhibitors |
| List/search exhibitors |
| Bulk create/update exhibitors | |
| Update a single exhibitor | |
| Delete exhibitors | |
Documents |
| List event documents |
| Attach a document to an event | |
| Update a document | |
| Delete documents | |
| Create a community-level document (v2) | |
| Update a community-level document (v2) | |
Custom Fields |
| Get field definitions by target |
| Get Select/MultiSelect option values | |
| Create a custom field definition | |
| Update a custom field definition | |
| Delete custom field definitions | |
Meetings |
| List meetings with status/date filters |
Webhooks |
| List webhook subscriptions |
| Register a new webhook | |
| Update a webhook | |
| Delete a webhook | |
Leads |
| Exhibitors accessible to the Leads API token |
| Get scanned leads for an exhibitor | |
| Scan attendee badges with optional rating and note | |
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 |
| https://studio.swapcard.com/api-keys (Organizer role) |
| Event Studio → Integrations → API Keys |
| Same as Content token (defaults to it if unset) |
2. Build
npm install
npm run build3. 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-ResetMutations = 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 toolsswapcard_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
Scored across 32 tools
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.
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.
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.
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
Enables AI assistants to retrieve event data and execute event management operations in Nunify.
Talk to your live-events CRM (campaigns, analytics, paid ads, segments) in Claude and ChatGPT.
Manage SiteGPT chatbots and account resources through the SiteGPT API v2.
Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables interaction with the Wisembly API to fetch and manage event data, including event details, participants, organizers, and locations.21ISC
- AlicenseAqualityDmaintenanceEnables AI assistants to search, filter, and analyze Microsoft events (conferences, workshops, webinars) using the Microsoft Events API.42MIT
- AlicenseAqualityDmaintenanceExposes Swagger/OpenAPI API documentation to AI models, enabling exploration, search, and interaction with endpoints, schemas, and execution of API calls.1420 npm2MIT
- AlicenseBqualityDmaintenanceEnables natural language access to the Eventbrite API for creating, managing, and interacting with events, venues, and categories.1310 npm4MIT