events — full tool reference
Events, sessions, guests, check-in, tasks, expenses, photos, guest dispatch.
| Endpoint | https://events.mcp.devfellowship.com/mcp |
| Package | packages/dfl-mcp-events |
| Tools | 24 |
| Tool | Description |
|---|---|
list_events | List all events with optional filters. Each event carries strategy_business_unit_id (its business unit in strategy.business_units). |
get_event | Get a specific event by ID, including strategy_business_unit_id (its business unit in strategy.business_units). |
create_event | Create a new event in a business unit (strategy_business_unit_id is required). |
update_event | Update an existing event. |
list_event_guests | List guests for an event with optional filters. |
get_event_guest | Get a specific event guest by ID. |
create_event_guest | Create a new event guest. |
update_event_guest | Update an existing event guest. |
check_in_guest | Check in an event guest by setting check_in_at to the current timestamp. |
add_event_guest | Add or link a guest for an event (the interview dispatch audience). Stores phone_number (WhatsApp), discord_id (Discord-only guests), member_id (link to a member, nullable), role/tags (e.g. cohort). |
resolve_discord_id | Preview how a recipient resolves to a Discord id for channel=discord dispatch, via precedence: event_guests.discord_id override > member→profile (profiles.discord_user_id) > none. Read-only; sends nothing. Returns { resolved, source, masked_discord_id, reason }. |
list_event_expenses | List expenses for an event with optional filters. |
create_event_expense | Create a new event expense. |
update_event_expense | Update an existing event expense. |
list_event_sessions | List sessions for an event with optional filters. |
create_event_session | Create a new event session. |
update_event_session | Update an existing event session. |
list_event_tasks | List tasks for an event with optional filters. |
create_event_task | Create a new event task. |
update_event_task | Update an existing event task. |
list_event_photos | List photos for an event. Each photo includes its tagged member_ids[]. |
get_event_photo | Get a specific event photo by ID, including its tagged member_ids[]. |
add_event_photo | Add a photo to an event. Inserts the photo, then upserts the tagged members into event_photo_members. |
update_event_photo | Update an event photo. Updates caption/sort_order and, when member_ids is provided, re-syncs event_photo_members to exactly that set. |
list_events
Section titled “list_events”List Events
List all events with optional filters. Each event carries strategy_business_unit_id (its business unit in strategy.business_units).
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | no | Maximum number of events to return (default: 50, max: 100) |
offset | number | no | Number of events to skip (for pagination) |
search | string | no | Search by event name |
strategy_business_unit_id | string | no | Only events of this business unit (UUID of strategy.business_units) |
get_event
Section titled “get_event”Get Event
Get a specific event by ID, including strategy_business_unit_id (its business unit in strategy.business_units).
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The UUID of the event |
create_event
Section titled “create_event”Create Event
Create a new event in a business unit (strategy_business_unit_id is required).
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | yes | Event name |
strategy_business_unit_id | string | yes | Business unit of the event (UUID of strategy.business_units) |
description | string | no | Event description |
location | string | no | Event location |
latitude | number | no | Event latitude |
longitude | number | no | Event longitude |
start_at | string | no | Event start timestamp (ISO format) |
end_at | string | no | Event end timestamp (ISO format) |
update_event
Section titled “update_event”Update Event
Update an existing event.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The UUID of the event to update |
name | string | no | Event name |
strategy_business_unit_id | string | no | Move the event to this business unit (UUID of strategy.business_units) |
description | string | no | Event description |
location | string | no | Event location |
latitude | number | no | Event latitude |
longitude | number | no | Event longitude |
start_at | string | no | Event start timestamp (ISO format) |
end_at | string | no | Event end timestamp (ISO format) |
list_event_guests
Section titled “list_event_guests”List Event Guests
List guests for an event with optional filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | Filter by event ID |
limit | number | no | Maximum number of guests to return (default: 50, max: 100) |
offset | number | no | Number of guests to skip (for pagination) |
role | string | no | Filter by guest role |
member_id | string | no | Filter by member ID |
search | string | no | Search by guest name |
get_event_guest
Section titled “get_event_guest”Get Event Guest
Get a specific event guest by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The UUID of the event guest |
create_event_guest
Section titled “create_event_guest”Create Event Guest
Create a new event guest.
| Parameter | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | Event ID |
name | string | yes | Guest name |
email | string | no | Guest email |
phone_number | string | no | Guest phone number |
role | string | no | Guest role |
member_id | string | no | Linked member ID |
discord_id | string | no | Linked Discord user id (snowflake) |
tags | object | no | Arbitrary tags (JSON object) |
update_event_guest
Section titled “update_event_guest”Update Event Guest
Update an existing event guest.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The UUID of the event guest to update |
name | string | no | Guest name |
email | string | no | Guest email |
phone_number | string | no | Guest phone number |
role | string | no | Guest role |
member_id | string | no | Linked member ID |
discord_id | string | no | Linked Discord user id (snowflake) |
check_in_at | string | no | Check-in timestamp (ISO format) |
tags | object | no | Arbitrary tags (JSON object) |
check_in_guest
Section titled “check_in_guest”Check In Guest
Check in an event guest by setting check_in_at to the current timestamp.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The UUID of the event guest to check in |
add_event_guest
Section titled “add_event_guest”Add Event Guest
Add or link a guest for an event (the interview dispatch audience). Stores phone_number (WhatsApp), discord_id (Discord-only guests), member_id (link to a member, nullable), role/tags (e.g. cohort).
| Parameter | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | Event id (event_management.events) |
name | string | yes | Guest display name |
email | string | no | Guest email |
phone_number | string | no | WhatsApp number in E.164-ish digits (for channel=whatsapp dispatch) |
discord_id | string | no | Discord user id / handle (for channel=discord dispatch; non-member guests) |
member_id | string | no | Linked member id (nullable for non-member guests) |
backfill_discord | boolean | no | When member_id is set and no discord_id is given, backfill discord_id from the linked profile (default true) |
role | string | no | Guest role, e.g. “lider”, “fellow” |
tags | object | no | Arbitrary tags JSON (e.g. {“cohort”:“lideres”}) |
resolve_discord_id
Section titled “resolve_discord_id”Resolve Discord Id (preview)
Preview how a recipient resolves to a Discord id for channel=discord dispatch, via precedence: event_guests.discord_id override > member→profile (profiles.discord_user_id) > none. Read-only; sends nothing. Returns { resolved, source, masked_discord_id, reason }.
| Parameter | Type | Required | Description |
|---|---|---|---|
guest_id | string | no | event_management.event_guests.id — checked first for an explicit override |
member_id | string | no | public.members.id — falls back to the linked profile discord_user_id |
list_event_expenses
Section titled “list_event_expenses”List Event Expenses
List expenses for an event with optional filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | Filter by event ID |
limit | number | no | Maximum number of expenses to return (default: 50, max: 100) |
offset | number | no | Number of expenses to skip (for pagination) |
vendor_category | string | no | Filter by vendor category |
search | string | no | Search by vendor name |
create_event_expense
Section titled “create_event_expense”Create Event Expense
Create a new event expense.
| Parameter | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | Event ID |
vendor_name | string | no | Vendor name |
vendor_category | string | no | Vendor category |
vendor_email | string | no | Vendor email |
vendor_phone | string | no | Vendor phone |
amount_estimated | number | no | Estimated amount |
amount_paid | number | no | Amount paid |
note | string | no | Note |
update_event_expense
Section titled “update_event_expense”Update Event Expense
Update an existing event expense.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The UUID of the event expense to update |
vendor_name | string | no | Vendor name |
vendor_category | string | no | Vendor category |
vendor_email | string | no | Vendor email |
vendor_phone | string | no | Vendor phone |
amount_estimated | number | no | Estimated amount |
amount_paid | number | no | Amount paid |
note | string | no | Note |
list_event_sessions
Section titled “list_event_sessions”List Event Sessions
List sessions for an event with optional filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | Filter by event ID |
limit | number | no | Maximum number of sessions to return (default: 50, max: 100) |
offset | number | no | Number of sessions to skip (for pagination) |
search | string | no | Search by session title |
create_event_session
Section titled “create_event_session”Create Event Session
Create a new event session.
| Parameter | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | Event ID |
title | string | yes | Session title |
description | string | no | Session description |
location | string | no | Session location |
start_time | string | no | Session start time (ISO format) |
end_time | string | no | Session end time (ISO format) |
order | number | no | Display order |
guest_ids | string[] | no | Array of guest UUIDs assigned to the session |
update_event_session
Section titled “update_event_session”Update Event Session
Update an existing event session.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The UUID of the event session to update |
title | string | no | Session title |
description | string | no | Session description |
location | string | no | Session location |
start_time | string | no | Session start time (ISO format) |
end_time | string | no | Session end time (ISO format) |
order | number | no | Display order |
guest_ids | string[] | no | Array of guest UUIDs assigned to the session |
list_event_tasks
Section titled “list_event_tasks”List Event Tasks
List tasks for an event with optional filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | Filter by event ID |
limit | number | no | Maximum number of tasks to return (default: 50, max: 100) |
offset | number | no | Number of tasks to skip (for pagination) |
assignee_id | string | no | Filter by assignee (member) ID |
status | enum | no | Filter by status One of: todo, in_progress, done. |
search | string | no | Search by task title |
create_event_task
Section titled “create_event_task”Create Event Task
Create a new event task.
| Parameter | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | Event ID |
title | string | yes | Task title |
description | string | no | Task description |
assignee_id | string | no | Assignee (member) ID |
status | enum | no | Task status One of: todo, in_progress, done. |
start_date | string | no | Start date (ISO format) |
due_date | string | no | Due date (ISO format) |
update_event_task
Section titled “update_event_task”Update Event Task
Update an existing event task.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The UUID of the event task to update |
title | string | no | Task title |
description | string | no | Task description |
assignee_id | string | no | Assignee (member) ID |
status | enum | no | Task status One of: todo, in_progress, done. |
start_date | string | no | Start date (ISO format) |
due_date | string | no | Due date (ISO format) |
list_event_photos
Section titled “list_event_photos”List Event Photos
List photos for an event. Each photo includes its tagged member_ids[].
| Parameter | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | Filter by event ID |
limit | number | no | Maximum number of photos to return (default: 50, max: 100) |
offset | number | no | Number of photos to skip (for pagination) |
get_event_photo
Section titled “get_event_photo”Get Event Photo
Get a specific event photo by ID, including its tagged member_ids[].
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The UUID of the event photo |
add_event_photo
Section titled “add_event_photo”Add Event Photo
Add a photo to an event. Inserts the photo, then upserts the tagged members into event_photo_members.
| Parameter | Type | Required | Description |
|---|---|---|---|
event_id | string | yes | Event ID |
url | string | yes | Photo URL (must be a valid URL) |
caption | string | no | Photo caption |
sort_order | number | no | Display sort order |
member_ids | string[] | no | Array of member UUIDs tagged in the photo |
update_event_photo
Section titled “update_event_photo”Update Event Photo
Update an event photo. Updates caption/sort_order and, when member_ids is provided, re-syncs event_photo_members to exactly that set.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | yes | The UUID of the event photo to update |
caption | string | no | Photo caption |
sort_order | number | no | Display sort order |
member_ids | string[] | no | Array of member UUIDs tagged in the photo. When provided, replaces the full member set. |