Events
Community events: events, sessions, guests, check-in, tasks, expenses, and photos. The event-guest tools from the former interview MCP (guest add/link + Discord-id resolution for dispatch) now live here.
| Endpoint | https://events.mcp.devfellowship.com/mcp |
|---|---|
| Tools | 24 in 6 groups |
| Package | packages/dfl-mcp-events |
| Auth |
Your dfl-auth login token as Authorization: Bearer <token>. Every call runs as
you, under RLS. See Auth & security.
|
{ "mcpServers": { "dfl-events": { "type": "http", "url": "https://events.mcp.devfellowship.com/mcp", "headers": { "Authorization": "Bearer YOUR_ACCESS_TOKEN" } } }}Other clients (Cursor, VS Code, codex, the Anthropic SDK): see Getting started, step 3.
| Backing data | events schema (events, sessions, guests, expenses, photos, tasks). |
Events
Section titled “Events”Find, create and edit events.
list_events
List all events with optional filters.
list_eventsList 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
Get a specific event by ID, including strategy_business_unit_id (its business unit in strategy.business_units).
get_eventGet 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
Create a new event in a business unit (strategy_business_unit_id is required).
create_eventCreate 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
Update an existing event.
update_eventUpdate 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) |
Events Sessions
Section titled “Events Sessions”The schedule of an event: its sessions.
list_event_sessions
List sessions for an event with optional filters.
list_event_sessionsList 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
Create a new event session.
create_event_sessionCreate 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
Update an existing event session.
update_event_sessionUpdate 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. |
Events Guests
Section titled “Events Guests”The guest list: add guests, check them in at the door, and find their Discord id.
list_event_guests
List guests for an event with optional filters.
list_event_guestsList 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
Get a specific event guest by ID.
get_event_guestGet 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
Create a new event guest.
create_event_guestCreate 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
Update an existing event guest.
update_event_guestUpdate 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
Check in an event guest by setting check_in_at to the current timestamp.
check_in_guestCheck 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
Add or link a guest for an event (the interview dispatch audience).
add_event_guestAdd 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
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.
resolve_discord_idResolve 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. |
Events Tasks
Section titled “Events Tasks”The to-do list of an event.
list_event_tasks
List tasks for an event with optional filters.
list_event_tasksList 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
Create a new event task.
create_event_taskCreate 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
Update an existing event task.
update_event_taskUpdate 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) |
Events Expenses
Section titled “Events Expenses”What an event costs: record and edit its expenses.
list_event_expenses
List expenses for an event with optional filters.
list_event_expensesList 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
Create a new event expense.
create_event_expenseCreate 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
Update an existing event expense.
update_event_expenseUpdate 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. |
Events Photos
Section titled “Events Photos”The photos of an event and who is tagged in them.
list_event_photos
List photos for an event.
list_event_photosList 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
Get a specific event photo by ID, including its tagged member_ids[].
get_event_photoGet 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
Add a photo to an event. Inserts the photo, then upserts the tagged members into event_photo_members.
add_event_photoAdd 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
Update an event photo. Updates caption/sort_order and, when member_ids is provided, re-syncs event_photo_members to exactly that set.
update_event_photoUpdate 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. |