Eventship

MCP server

Connect AI assistants like Claude and Cursor to Eventship using the Model Context Protocol. Manage events, attendees, tickets, and more through natural language.

Quick start

Claude Desktop / Claude Code (recommended)

No API key required — authentication is handled automatically via OAuth. Add this to your Claude MCP settings:

{
  "mcpServers": {
    "eventship": {
      "type": "streamable-http",
      "url": "https://mcp.eventship.com/mcp"
    }
  }
}

When you first use the server, you'll be prompted to sign in with your Eventship account. The OAuth flow handles everything automatically.

API keys (for other clients)

Clients that don't support OAuth (like Cursor) can use an API key instead. Both OAuth and API keys support full read and write access. Host management tools require a Pro plan.

  1. Go to eventship.com/host-profiles
  2. Navigate to the API keys section
  3. Create a new key (starts with es_live_ or es_test_)

Setup by client

Claude Desktop / Claude Code

Add to your Claude MCP settings — no API key needed:

{
  "mcpServers": {
    "eventship": {
      "type": "streamable-http",
      "url": "https://mcp.eventship.com/mcp"
    }
  }
}

Cursor

Add to .cursor/mcp.json in your project or global settings. Cursor requires an API key:

{
  "mcpServers": {
    "eventship": {
      "type": "streamable-http",
      "url": "https://mcp.eventship.com/mcp",
      "headers": {
        "Authorization": "Bearer es_live_your_key_here"
      }
    }
  }
}

Local installation (stdio)

For development or advanced usage, run the server locally:

# Install
pip install eventship-mcp

# Run
EVENTSHIP_API_KEY="es_live_your_key_here" eventship-mcp

Then configure your MCP client to use stdio transport:

{
  "mcpServers": {
    "eventship": {
      "command": "eventship-mcp",
      "env": {
        "EVENTSHIP_API_KEY": "es_live_your_key_here"
      }
    }
  }
}

Available tools

Discovery

ToolDescription
search_events Search public events by location, keyword, category, host, or date range. Supports past events via include_past and organizer-scoped lookup via host_slug. No API key required. Renders an interactive event carousel in ChatGPT Apps.
recommend_events Get personalized event recommendations based on your profile, interests, and location. Requires OAuth.
search ChatGPT/MCP-spec text search returning {id, title, url} for citation. Biased toward signed-in user's saved location. Renders an interactive event carousel in ChatGPT Apps. Requires OAuth.
fetch ChatGPT/MCP-spec event lookup by slug returning {id, title, text, url, metadata} for citation. Requires OAuth.

Your events

ToolDescription
my_events List events you're registered for, optionally filtered by date range (e.g. this week, next month). Upcoming only. Requires OAuth.
register_for_event Register for a free event by slug. Handles registration questions. Requires OAuth.
start_paid_checkout Start a paid checkout for an event. Returns a Stripe-hosted URL that the user opens in a browser to enter card details — the MCP server never sees payment info. Once paid, the registration is created automatically via webhook. Requires OAuth.

Host selection

ToolDescription
list_my_hosts List the hosts the current user manages. Pass a returned id as host_id to list_events, create_event, or import_event_from_url when you manage more than one. Event-scoped tools (anything taking an event_slug) derive the host from the event and don't need this. OAuth only — API keys are already scoped to a single host.

Event management

ToolDescription
list_eventsList events you manage (upcoming and past)
get_eventGet full event details by slug
create_eventCreate a new event as draft, or publish live immediately
import_event_from_urlBring your own event over from another platform (Eventbrite, Luma, Meetup, Partiful) by creating a draft on Eventship. Does not give access to the source event's attendees — it's a one-shot scrape, not a sync. For looking up someone else's event, use search_events + get_event.
update_eventUpdate event details

Attendees

ToolDescription
list_attendees List event attendees. Name, profile slug, and primary company are always returned. Hosts additionally see email, status, ticket type, check-in, and registration date. Confirmed registered attendees see only the public fields when the host has shared the guest list.

Broadcast

ToolDescription
send_event_broadcast Email your event's attendees, with optional filtering by registration status and ticket type. Subject defaults to "📣 {event title} update" if omitted.
preview_broadcast_recipient_count Preview how many recipients a broadcast would reach with the given filters, before sending.

Ticket types

ToolDescription
list_ticket_typesList ticket types for an event
create_ticket_typeCreate a new ticket type (name, price, quantity)
update_ticket_typeUpdate a ticket type
delete_ticket_typeDelete a ticket type (fails if sales exist)

Registration questions

ToolDescription
list_questionsList registration questions for an event
get_registration_insightsAI-summarized aggregate of confirmed attendees' answers (Pro)
create_questionAdd a registration question (text, select, multiselect, etc.)
update_questionUpdate a registration question
delete_questionRemove a registration question

Venues

ToolDescription
lookup_venueSearch for venues where Eventship events have been held. Returns upcoming events by default; pass include_past=true to switch to strictly past events (most recent first). Modes are exclusive.

Authentication

MethodHow it worksScope
OAuth (Claude) Automatic — sign in when prompted All hosts where you are a lead — read and write access
API key Authorization: Bearer es_live_... Single host — read and write access

OAuth is used by Claude Desktop and Claude Code. You sign in with your Eventship account and the server automatically resolves which hosts you manage. No API key needed.

API keys are for clients that don't support OAuth (Cursor, local stdio). Each key is tied to a single host, and the host is automatically resolved from the key — no host ID needed.

Key concepts

Examples

Create an event

Ask your AI assistant:

"Create a free networking event called 'SF Founders Happy Hour'
on July 15th at 6pm at The Battery in San Francisco."

The assistant calls create_event with the title, date, venue, and address. The event is created as a draft by default, or published live if requested.

Check attendees

"Show me who has registered for my next event."

The assistant calls list_events, then list_attendees for the upcoming event.

Search for events

"Find tech events happening in San Francisco this month."

The assistant calls search_events with SF coordinates, a query for "tech", and a date range for the current month.

Support