# Sympla MCP

> Sympla MCP Server gives your AI agent direct control over event ticketing, attendance lists, and sales data from Sympla. You can list events, pull full participant rosters, process check-ins by ticket number or ID, and get real-time revenue stats—all without opening a browser.

## Overview
- **Category:** marketing
- **Price:** Free
- **Tags:** sympla-api, event-ticketing, attendee-management, check-in-app, ticket-sales, brazilian-events

## Description

Listen up. This server gives your AI agent direct control over everything happening at Sympla—the whole ticketing process. You're not opening a browser; you just talk to your agent and it handles the data for you. It lets you list events, pull full participant rosters, check people in using their ticket number or ID, and grab real-time sales stats.

**Finding Events and People.** 

Need to know what's going on? You can start by getting a rundown of every distinct event tied to your Sympla account using `list_events`. If you need the deep dive on one specific show, use `get_event_details` with the ID. When it comes to attendees, you pull all the data through `list_event_participants`, which gives you the complete roster for an event. You can narrow that list down by date range or even filter people based on their ticket status. If you just need a person's full background—their profile—you grab those details with `get_participant_details` using their unique participant ID. Need to find someone fast? You can search for any registered person just by knowing their ticket number, running through the `search_participant_by_ticket` tool.

**Processing Tickets and Payments.** 

You gotta manage the money side of things, right? To see what was bought, you use `list_event_orders`, which pulls a list of all purchase orders for an event. If you need to know the full breakdown of one specific transaction—like checking payment status or seeing exactly what items were purchased—you run `get_order_details`. 

**Running Check-Ins.** 

This is where it gets real. You can process check-ins programmatically for speed. If you have a participant's unique ID, your agent validates their entry using `checkin_participant_by_id`. Alternatively, if they just hand over the ticket stub, you validate them with `checkin_participant_by_ticket` by submitting that associated ticket number.

It’s all about direct action. You use these tools to pull data on event listings and details (`list_events`, `get_event_details`), get full participant lists and profiles (`list_event_participants`, `get_participant_details`), process payments and check order status (`list_event_orders`, `get_order_details`), or run a quick check-in using either the person's ID number (`checkin_participant_by_id`) or their ticket number (`checkin_participant_by_ticket`). You can also quickly find an attendee record by running `search_participant_by_ticket`.

## Tools

### checkin_participant_by_id
Validates a person's entry using their specific participant ID number.

### checkin_participant_by_ticket
Validates a person's entry by submitting the associated ticket number.

### get_event_details
Retrieves detailed information about one specific event using its ID.

### get_order_details
Gets full details for a single order, including payment status and associated items.

### get_participant_details
Fetches the complete profile information for one participant using their ID.

### list_events
Lists all distinct events that belong to your Sympla account.

### list_event_orders
Retrieves a list of all purchase orders made for a specific event.

### list_event_participants
Lists every participant registered for an event, allowing filtering by status or date range.

### list_event_presentations
Retrieves a list of presentations associated with multi-date events.

### search_participant_by_ticket
Finds a participant's record using only their ticket number, which is useful for quick lookups.

## Prompt Examples

**Prompt:** 
```
List all participants registered for my event 'Tech Conf 2024' (ID: 123456).
```

**Response:** 
```
Retrieving attendee list for 'Tech Conf 2024'... I've found 45 registered participants. Key attendees include John Doe (Premium Ticket), Jane Smith (General Admission), and Robert Brown (VIP). Would you like the full export?
```

**Prompt:** 
```
Show me the sales performance summary for event ID 'ev_999'.
```

**Response:** 
```
Connecting to Sympla stats engine... For event 'Summer Festival' (ID: ev_999): 150/200 tickets sold (75% occupancy). Total revenue: R$ 7,500.00. Sales peaked yesterday between 6 PM and 9 PM.
```

**Prompt:** 
```
Perform check-in for ticket ID 'tkt_abc123'.
```

**Response:** 
```
Requesting check-in from Sympla server... Success! Ticket 'tkt_abc123' has been checked in. Participant: Alice White. Attendance count for your event has been updated.
```

## Capabilities

### Process check-ins
Validate an attendee's entry into the event using either their unique participant ID or their ticket number.

### List all events
Fetch a list of every published event associated with your Sympla account.

### Retrieve full attendee lists
Get the complete roster of participants for an event, allowing filtering by date or ticket status.

### Inspect purchase orders
Fetch detailed information about a specific customer order (purchase) and monitor its payment status.

### Get participant profiles
Look up a single person's full profile details using their unique participant ID.

## Use Cases

### The daily check-in rush
A coordinator needs to process 200 attendees at a conference. Instead of running the physical scanner and logging into Sympla, they ask their agent: 'Check in everyone with ticket numbers starting ABC.' The agent uses `checkin_participant_by_ticket` repeatedly until all entries are confirmed.

### Post-event sales summary
A marketing manager asks for the performance of a recent festival. The agent calls tools that aggregate sales data, returning not just the total revenue figure but also showing peak selling hours and current occupancy rate via `get_event_details`.

### Investigating a missing attendee
An ops team member needs to find out who bought tickets for an event last month. They prompt the agent: 'List all participants for Event ID 123, filtered by General Admission tickets.' The agent uses `list_event_participants` and filters the results immediately.

### Verifying a single ticket buyer
A venue staff member has only a partial record of an attendee. They use the agent to 'Find participant with ticket TKT-901'. The agent executes `search_participant_by_ticket`, providing the staff member with the full profile details in seconds.

## Benefits

- You can automate check-in. Instead of scanning barcodes manually, call `checkin_participant_by_id` or `checkin_participant_by_ticket` to process entry instantly.
- Roster management gets easier. Use `list_event_participants` to pull the full attendee list and filter it by ticket status—no more manual CSV sorting.
- Track revenue in real-time. By calling tools that access performance metrics, you get sales data (like occupancy rate) directly into your conversation, bypassing dashboard logins.
- Understand purchases fully. `get_order_details` lets you look up a specific transaction to confirm payment status or retrieve the necessary QR code for verification.
- See all your events at once. The `list_events` tool gives you an immediate inventory of every event published under your account ID.

## How It Works

The bottom line is: you provide the token and event context, and the agent handles the API calls to get the data you need.

1. Subscribe to the server and log in with your Sympla account credentials.
2. Go to Integrations > API on Sympla to generate a Personal Access Token (s_token) and identify the necessary Event IDs.
3. Input your s_token and specific Event IDs into the provided fields, then call the required tool.

## Frequently Asked Questions

**How do I get a full list of all attendees for my event using list_event_participants?**
You must provide the Event ID first. The agent runs `list_event_participants` and returns every registered person, allowing you to filter that roster by ticket status or registration date.

**Can I check someone in using only their name? (checkin_participant_by_id)**
No. The `checkin_participant_by_id` tool requires a unique participant ID to validate the entry. You must pass that specific number.

**What is the difference between list_event_participants and search_participant_by_ticket?**
Use `list_event_participants` when you need to see a large group (the entire roster). Use `search_participant_by_ticket` when you only have one piece of information—a ticket number—and just need that single person's profile.

**Do I need an event ID for get_order_details?**
Yes. While `get_order_details` takes the Order ID, it needs context from a specific Event ID to pull accurate purchase data and payment history.

**If I need to check which events I can manage, what is the best way to start using list_events?**
The `list_events` tool retrieves all event IDs associated with your active Sympla API token. If you get an error, it usually means the access token (s_token) has expired or hasn't been properly inserted into the server fields.

**If I run checkin_participant_by_ticket and it fails, what does that mean for my event?**
Failure means the ticket number provided is invalid or not linked to an active participant record. The tool response will specify if the error is due to data format issues or a non-existent ID.

**Before I run list_event_participants, should I use get_event_details first?**
Yes; `get_event_details` pulls crucial metadata—like the event dates, capacity limits, and overall title. This context helps you verify if the participant list you're about to pull is for the correct instance of the event.

**What’s the functional difference between viewing participants versus using list_event_orders?**
`list_event_orders` focuses strictly on transactions, showing payment status and purchase records. The participant list is broader; it shows who registered, even if their ticket order data isn't fully available.

**Can my AI automatically list all participants for a specific event?**
Yes! Use the `list_participants` tool with the Event ID. Your agent will return a complete list of attendees, including their registration data and ticket status.

**How do I process a check-in via the AI agent?**
Use the `checkin_participant` tool with the unique Ticket ID. The agent will notify the Sympla server that the participant has arrived, updating the event statistics in real-time.

**Can I monitor real-time ticket sales performance?**
Yes! The `get_event_stats` tool retrieves granular metrics on total tickets sold, revenue generated, and remaining inventory for your specific event.