Partiful MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PARTIFUL_PROXY | No | Proxy for every request to Partiful, e.g. http://user:pass@host:port. | |
| PARTIFUL_MCP_HOME | No | Folder of session.json. | ~/.config/partiful-api-mcp |
| PARTIFUL_MCP_HOST | No | Address of serve. | 127.0.0.1 |
| PARTIFUL_MCP_PORT | No | Port of serve. | 8787 |
| PARTIFUL_MCP_TOKEN | No | Bearer token required by serve; needed to listen beyond 127.0.0.1. | |
| PARTIFUL_MCP_READ_ONLY | No | 1 hides and refuses every tool that changes Partiful (same as --read-only). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| approve_guestsA | Approve pending guests on a Guest Approval event. Moves the given pending guests, or all of them, to Approved, as Approve on the host's guest list does. Partiful tells each approved guest by text or email. Ids that are not pending are refused before the call waits for your approval. Returns how many were approved and how many still wait. Hosts only. |
| cancel_eventA | Cancel an event. Partiful notifies the guests. Cancels the event as Cancel event on its page does: the page stays up marked canceled. By default Partiful texts the guests on the list with your message, so this reaches real people; notify_guests false cancels without telling anyone. An event that is already canceled is refused. It cannot be undone here. Hosts only. |
| check_in_guestsA | Mark guests as checked in at the door, or undo it. Checks the given guests in, as the host's check-in list does, or takes the check-in back with undo. Guests get no message. Ids that are not on the guest list are refused. Returns how many guests changed and how many are checked in now. Hosts only. |
| create_eventA | New event page. Nobody is invited until you call invite_guests. Creates and publishes an event page hosted by this account, as Create on partiful.com does, with Partiful's default theme. It is private (only people with the link) unless visibility is public. Nobody is invited or texted; share url or call invite_guests. Times without an offset are read in timezone. Guest Approval and a guest limit exclude each other, so a call with both is refused. Returns the new event. |
| delete_eventA | Delete an event you host for everyone, with its guest list. Deletes the event as Delete event in its settings does: the page, guest list, photos and messages are gone for everyone and cannot be restored. Guests who RSVPd may be told by Partiful. To keep the page and tell guests, use cancel_event. Hosts only. |
| duplicate_eventA | Copy an event with its settings to a new date. The copy has no guests yet. Makes a copy as Duplicate on the event page does: title, description, location, theme, questionnaire and RSVP settings, no guests and no messages. The copy starts at start_at and keeps the original's length; Partiful does not copy the RSVP deadline. Nobody is invited. Returns the new event. Hosts only. |
| export_guest_listA | The guest list as CSV, the same file as the Export CSV button. Returns the file the host's Export CSV button downloads, for the chosen RSVP statuses. Columns are Partiful's: Name, Status, Checked in, Check-in Time, RSVP date, then one column per Guest Questionnaire question. Status is Partiful's label, for example Approved on a Guest Approval event. The file text comes back in csv, not as a link, with rows (guests in the file) and a suggested filename. The file has no guest ids, emails or phone numbers; for guest ids use list_guests. Hosts only. |
| get_eventA | Full event: title, description, start and end, location, RSVP deadline, guest limit, Guest Approval and waitlist settings, link. Returns one event as its page shows it to the host, with guests per RSVP status and the Guest Questionnaire questions. Times are in the event's time zone. Works for any event the account can open; the write tools need an event it hosts. |
| invite_guestsA | Invite past guests and mutuals through Partiful, or anyone by email. Sends invites as the host's Invite screen does, so they reach real people: Partiful users from list_past_guests get Partiful's invite, people in emails get an email with the event link and your note. There is no way to invite a phone number: Partiful takes phone contacts only in its app. Email invitees still sign in with a phone number to RSVP. Partiful allows 1,000 invites per event, 500 of them by email. A canceled event is refused. invited_total is the event's Invited count after the call. Hosts only. |
| list_eventsA | Events you host, with date, status and guest counts. Returns the events this account hosts or cohosts, as the Hosting tab of the home page lists them: start and end in the event's time zone, active or canceled, and guests per RSVP status. Events you were only invited to are left out. Upcoming come soonest first, past most recent first. Use event_id in the other tools. |
| list_guestsA | Guests of an event with RSVP status, check-in and Guest Questionnaire answers. Returns the guest list the host sees, oldest RSVP first: name, RSVP status, party size with plus-one names, check-in, RSVP note and questionnaire answers. Hosts only. going includes guests approved on a Guest Approval event. guest_id goes to approve_guests and check_in_guests; total counts the guests that match the filters. |
| list_past_guestsA | People you can invite: your past guests and mutuals. Returns the people Partiful offers on an event's Invite screen: past guests of your events and mutuals from events you went to, with how many events you shared. Give not_on_event_id to leave out people already on that event; there is no filter by one past event. query matches part of the name. user_id goes to invite_guests. A new account has nobody yet, and shared_events or last_shared_event stay 0 or null when Partiful leaves them out. |
| send_text_blastA | Text a message to guests by RSVP status. Partiful allows up to 10 Text Blasts per event. Sends a Text Blast as the host's Send Text Blast does: by text and email to every guest with the chosen RSVP statuses, push for guests with the app, and shown in the event's feed unless show_on_event_page is false. Real people get it at once and it cannot be taken back. Up to 480 characters. recipients and by_status count the guests with those statuses at the moment of sending; a choice that reaches nobody is refused before you confirm. Partiful allows 10 blasts per event and refuses a blast to Invited when that group holds more than 100 guests. The answer does not say how many blasts are left. Hosts only. |
| update_eventA | Change the details or settings of an event you host. Changes only the fields you give, as the event's Edit page and settings panel do: title, times, time zone, location, description, RSVP deadline, guest limit, Guest Approval and the Guest Questionnaire. Fields left out keep their value; a call with no field is refused. Turning Guest Approval on removes the guest limit and the waitlist, and the first guest limit turns the waitlist on. New questions replace the questionnaire for guests who RSVP from then on. Returns the event after the change, with updated listing the fields you gave. Hosts only. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct resource+action pair, and the descriptions explicitly disambiguate the risky pairs: cancel_event vs delete_event, duplicate_event vs create_event, and list_guests vs export_guest_list vs list_past_guests. An agent can select correctly without guessing.
All 14 tools follow a strict verb_noun snake_case pattern (list_events, create_event, approve_guests, send_text_blast). No camelCase or mixed verb styles appear.
14 tools sit in the well-scoped range and each maps to a concrete host workflow (event lifecycle, guest management, invites, export, messaging). No tool looks redundant or bolted on.
Event CRUD plus cancel/duplicate and the full guest lifecycle (list, approve, check-in, invite, export, blast) are covered with no dead ends in the core flow. Minor gaps remain, such as removing/declining an individual guest or managing cohosts and the waitlist directly.