Tools · VisitorsComing soon
MCP tools for the Visitors module (coworking): register, list, read, edit and cancel guests, today's expected guests, finding the host and marking or undoing the arrival at the front desk.
The Visitors module through the assistant: registering the guest ahead of time, editing and canceling, seeing who is expected today at the front desk and marking the arrival with a notice to the host. The guest kiosk is an iPad screen; the assistant does not run it.
Coming soon Coming to communities: these 9 tools will exist on the server when the update goes live. Until then, the assistant doesn't offer them.
Each tool carries a badge: Read-only changes nothing, Changes creates or changes something right away, and Asks to confirm only acts after your yes to a summary. See Money and confirmation.
In short
| Tool | What it does | Minimum role | Type |
|---|---|---|---|
create_visitor_invitation | Registers a guest | Any with access to the space (the settings can restrict); team, on behalf of another host | Changes |
list_visitor_invitations | Lists and searches guests | Any (a member sees their own) | Read-only |
get_visitor_invitation | One registration | Owner of the registration or team | Read-only |
update_visitor_invitation | Edits before the arrival | Owner of the registration or team | Changes |
cancel_visitor_invitation | Cancels a registration | Owner of the registration or team | Asks to confirm |
list_visitors_today | Today's expected and arrived guests | Moderator or finance | Read-only |
search_visitor_hosts | Finds the host | Moderator or finance | Read-only |
mark_visitor_arrived | Marks the arrival | Moderator or finance | Changes |
undo_visitor_arrival | Undoes an arrival | Moderator or finance | Changes |
The roles are those of the routes: the assistant never does more than the connected person would do on screen. The team, here, is the owner, the admin, the moderator and finance; the moderator and finance handle only today's guests. The space is created with create_space and module: "visitors"; update_space changes only what you send.
The space settings
The visitors argument of create_space and update_space accepts:
| Field | Type | Description |
|---|---|---|
attendance_space_id | id | The Attendance space where arrivals are recorded. Required on creation (list_spaces) |
who_can_invite | members, staff or group | Who registers: any member with access, only the team, or the group in inviter_group_id plus the team |
inviter_group_id | id or null | The group of whoever registers (list_groups); required with group |
fields | {company, email, phone}, each off, optional or required | What the form asks about the guest |
notify_host_on_register | true or false | Confirms the registration to the host by email (default: yes) |
email_guest | off, optional or always | The email to the guest (default: off) |
arrival_instructions | text up to 500 characters, or null | Where to go and who to ask for |
max_expected_per_host_per_day | 1 to 1000, or null | Limit of guests per host per day |
create_visitor_invitation
Changes
Register a guest. It doesn't create an account for the guest. Whoever the settings allow registers for themselves; the team passes host_profile_id to register on behalf of someone else. Company, email and phone follow the settings (a turned-off field is ignored; a missing required one is refused). The host may receive a confirmation email and the guest another, depending on notify_guest and the settings; the assistant tells the person. This is a third party's personal data. Role: any with access to the space.
| Parameter | Type | Required | Description |
|---|---|---|---|
space | id or link | Yes | The Visitors space |
guest_name | text | Yes | Up to 100 characters |
expected_date | YYYY-MM-DD | Yes | In the community time zone; can't be in the past |
start_time | HH:mm | Yes | Start time, in the community time zone |
end_time | HH:mm | No | After the start |
guest_company, guest_email, guest_phone | text | Per the settings | |
notify_guest | true or false | No | Notifies the guest by email; only works with an email and per email_guest |
host_profile_id | id | No | Team only: the host (search_visitor_hosts). Without it, it's you |
Ask like this: "Register Maria Souza ([email protected]) as my guest tomorrow, from 2 pm to 3 pm."
list_visitor_invitations
Read-only
List the guests. By expected time. A member sees only their own (as host or as whoever registered), for any date; moderator and finance also see all of today's; admin and owner see any date. Each item says what you can do (canEdit, canCancel, canArrive, canUndoArrival). Role: any with access to the space.
| Parameter | Type | Required | Description |
|---|---|---|---|
space | id or link | Yes | |
status | EXPECTED, ARRIVED, CANCELED or NO_SHOW | No | EXPECTED covers today onward; NO_SHOW is expected for a day that has passed |
from, to | YYYY-MM-DD | No | Period, inclusive, in the community time zone |
q | text | No | Part of the name or company |
page, limit | numbers | No | Pagination (up to 100) |
Ask like this: "Which guests do I have registered for this week?"
get_visitor_invitation
Read-only
One registration. The host and whoever registered read their own; the team reads today's; owner and admin, any. Another registration, another community or an unknown id: 404. Role: any.
| Parameter | Type | Required | Description |
|---|---|---|---|
invitation_id | id | Yes | From list_visitor_invitations or list_visitors_today |
update_visitor_invitation
Changes
Edit before the arrival. After the arrival, or once canceled, the answer is 409. Send only what changes; host_profile_id is for the team. Changing the day, the time or the host sends a new confirmation to the host, once per change. The registration's owner and the team edit (moderator and finance, today's only). Role: any, depending on who can edit.
| Parameter | Type | Required | Description |
|---|---|---|---|
invitation_id | id | Yes | |
guest_name, guest_company, guest_email, guest_phone | text | No | |
expected_date, start_time, end_time | date and times | No | Same formats as create_visitor_invitation |
notify_guest | true or false | No | |
host_profile_id | id | No | Team only |
Ask like this: "Change Maria's visit to 3 pm."
cancel_visitor_invitation
Asks to confirm
Cancel a registration. It becomes Canceled; nothing is deleted. Whoever registered, the host or the team (moderator and finance, today's only). Already canceled: nothing changes. Already arrived: 409, undo the arrival first. Role: any, depending on who can cancel.
| Parameter | Type | Required | Description |
|---|---|---|---|
invitation_id | id | Yes |
Returns: on the first call, the summary (guest, host, day and time) and the confirmation code.
list_visitors_today
Read-only
The front desk view. Today's expected and arrived guests (community time zone), from all hosts, with the counts. Canceled and "did not show up" don't appear. alreadyMember indicates the guest's email belongs to a member. Minimum role: moderator (or finance).
| Parameter | Type | Required | Description |
|---|---|---|---|
space | id or link | Yes | |
q | text | No | Name or company, ignoring accents and case |
Ask like this: "Who am I expecting today at the front desk?"
search_visitor_hosts
Read-only
Find the host. Members of the space whose name (or a word of it) starts with q, with 3 letters or more. It returns only id, name, photo and initials; the id is the host_profile_id for create_visitor_invitation. Minimum role: moderator (or finance).
| Parameter | Type | Required | Description |
|---|---|---|---|
space | id or link | Yes | |
q | text | Yes | From 3 to 100 characters |
mark_visitor_arrived
Changes
Mark the arrival. It creates the visit in the linked Attendance space (front desk method, with the registration's name) or links the one the team had already recorded. The host is notified by email when Attendance is set up for it; hostNotified says whether the notice went to the queue, and the assistant tells the person. It's idempotent: the second call returns alreadyArrived: true. Only on the registration's day (another day: 409); outside the time window is fine; canceled: 409. Minimum role: moderator (or finance).
| Parameter | Type | Required | Description |
|---|---|---|---|
invitation_id | id | Yes | From list_visitors_today |
Returns: invitation, visit, hostNotified and alreadyArrived.
Ask like this: "Maria Souza has arrived."
undo_visitor_arrival
Changes
Undo an arrival marked by mistake. On the same day and before the guest's departure. The visit leaves the lists and the occupancy (it stays in Attendance's record) and the registration goes back to Expected. No arrival, another day or already left: 409. Minimum role: moderator (or finance).
| Parameter | Type | Required | Description |
|---|---|---|---|
invitation_id | id | Yes |