# Tools · Events

> MCP tools for events: listing events and who RSVP'd, creating an event with a ticket, editing the date, location, stream and banner, starting and ending the live stream, RSVPing yourself and deleting an event.

The community's calendar: upcoming events and who's going, a new event (online, in person or hybrid) with its ticket on sale, changes to date, location or banner, the live stream and your own RSVP.

Each tool carries a badge: <span class="tool-kind tool-kind-read">Read-only</span> changes nothing, <span class="tool-kind tool-kind-write">Changes</span> creates or changes something right away, and <span class="tool-kind tool-kind-confirm">Asks to confirm</span> only acts after your yes to a summary. See [Money and confirmation](/mcp/dinheiro-e-confirmacao).

## In short

| Tool | What it does | Minimum role | Type |
|---|---|---|---|
| [`list_events`](#list-events) | Upcoming, past, your own or all events | Any | <span class="tool-kind tool-kind-read">Read-only</span> |
| [`list_event_attendees`](#list-event-attendees) | Who RSVP'd to an event | Any | <span class="tool-kind tool-kind-read">Read-only</span> |
| [`create_event`](#create-event) | Space, event and the ticket, in one go | Moderator (with a ticket, admin) | <span class="tool-kind tool-kind-write">Changes</span> |
| [`update_event`](#update-event) | Edits an event's dates, location, stream and banner | Moderator | <span class="tool-kind tool-kind-write">Changes</span> |
| [`start_live_stream`](#start-live-stream) | Marks the event as live, with the stream link | Moderator | <span class="tool-kind tool-kind-write">Changes</span> |
| [`stop_live_stream`](#stop-live-stream) | Ends the live stream | Moderator | <span class="tool-kind tool-kind-write">Changes</span> |
| [`rsvp_event`](#rsvp-event) | Says whether you're going: going, maybe or not going | Member (not finance) | <span class="tool-kind tool-kind-write">Changes</span> |
| [`delete_event`](#delete-event) | Deletes an event | Admin | <span class="tool-kind tool-kind-confirm">Asks to confirm</span> |

## `list_events`

<span class="tool-kind tool-kind-read">Read-only</span>

**List events.** The community's events. *Minimum role: any.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `filter` | `next`, `past`, `my`, `all` | No | Upcoming (the default), past, the ones you RSVP'd to, or all |
| `space_id` | id | No | Only one events space |
| `search` | text | No | Part of the title |
| `page`, `limit` | number | No | Pagination |

**Returns:** the events, with id, title, start, end, type (online, in person, hybrid) and location.

**Ask like this:** *"What are the upcoming events?"*

## `list_event_attendees`

<span class="tool-kind tool-kind-read">Read-only</span>

**Who RSVP'd.** An event's participants. *Minimum role: any.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `event_id` | id | Yes | From `list_events` |
| `status` | `going`, `maybe` | No | Only those going, or only those who might go |

**Returns:** the participants, with name and answer.

**Ask like this:** *"How many people confirmed for Thursday's meetup? List the names."*

**Notes:** someone who bought a ticket created by `create_event` isn't added to this list automatically. See [Common problems](/mcp/problemas-comuns#what-it-can-t-do-yet).

## `create_event`

<span class="tool-kind tool-kind-write">Changes</span>

**Create event (with optional ticket).** Events space → event → (optional) the ticket, a one-time product that unlocks the space, with stock. *Minimum role: moderator; with a ticket, or when creating the space, admin.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `title` | text, up to 255 | Yes | |
| `description` | Markdown | No | The event description, in [Markdown](/mcp/ferramentas#markdown-text) |
| `start` | ISO 8601 date with time zone | Yes | E.g. `2026-11-10T19:00:00-03:00` |
| `end` | ISO 8601 date | No | |
| `type` | `online`, `in_person`, `hybrid` | No | Default: `online` |
| `location` | text | No | The venue name |
| `address` | object | No | `street`, `number`, `neighborhood`, `city`, `state`, `country`, `postal_code` |
| `streaming_url` | web address | No | |
| `timezone` | text | No | E.g. `America/Sao_Paulo`. Default: the community's |
| `visibility` | `public`, `members`, `plan` | No | |
| `space_id` | id | No | An existing Events space |
| `section_id` | id | No | Where to create the space |
| `space_title` | text | No | |
| `icon` | one of the icons in the list | No | The icon of the space it creates |
| `image_url` | link | No | The event banner. See [Images](/mcp/ferramentas#images) |
| `ticket` | object | No | The same fields as `sale` in `create_course` |
| `idempotency_key` | text, up to 100 | No | |

**Returns:** the space, the event (id, title, slug, start, end) and the ticket (id, title, price, stock, status), if any.

**Ask like this:** *"Create the November Meetup, in person, on 11/15 from 7 to 10 p.m. at Espaço Paulista, Rua Augusta 1500, São Paulo, with 80 tickets at R$ 60 as a draft."*

**Notes:** buying the ticket grants access to the event space, but **doesn't yet add the buyer to the participant list**; the tool's response says so. A moderator without `space_id` is refused at the space step, because creating a space requires an admin: as a moderator, pass an existing events space.

## `update_event`

<span class="tool-kind tool-kind-write">Changes</span>

**Edit an event.** Changes the title, description, dates, type, location, address, stream link, visibility and the banner. *Minimum role: moderator.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `event` | id, slug or link | Yes | |
| `title`, `description`, `start`, `end`, `type`, `location`, `address`, `streaming_url`, `visibility` | | No | The same as in [`create_event`](/mcp/ferramentas-eventos#create-event) |
| `image_url` or `image_base64` | link or file | No | The new banner |

**Ask like this:** *"Move tomorrow's meetup to Thursday, same time."*

## `start_live_stream`

<span class="tool-kind tool-kind-write">Changes</span>

**Start live stream.** Marks an event as live, with the stream link and service, if any. *Minimum role: moderator.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `event` | id, slug or link | Yes | |
| `streaming_url` | link | No | |
| `streaming_service` | `youtube`, `vimeo`, `mux` | No | |

**Ask like this:** *"We're live: mark today's live session with the link https://youtube.com/…"*

**Notes:** afterwards, the response suggests ending the stream when it's over.

## `stop_live_stream`

<span class="tool-kind tool-kind-write">Changes</span>

**End live stream.** *Minimum role: moderator.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `event` | id, slug or link | Yes | |

## `rsvp_event`

<span class="tool-kind tool-kind-write">Changes</span>

**Answer event invitation.** Says whether you're going to an event. *Role: owner, admin, moderator or member.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `event` | id, slug or link | Yes | |
| `status` | `going`, `maybe`, `not_going` | Yes | Going, maybe or not going |

**Ask like this:** *"RSVP me to the November Meetup."*

## `delete_event`

<span class="tool-kind tool-kind-confirm">Asks to confirm</span>

**Delete event.** *Minimum role: admin.*

| Parameter | Type | Required | Description |
|---|---|---|---|
| `event` | id, slug or link | Yes | |

**Returns:** on the first call, the title, the date and how many people RSVP'd, and the confirmation code.

## Related

- [Tools](/mcp/ferramentas)
- [Recipes](/mcp/receitas)
- [Money and confirmation](/mcp/dinheiro-e-confirmacao)
