> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getoasis.org/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP tool reference

> Available Oasis MCP tools, access requirements, and required inputs.

The server advertises 85 tools. Read-only connections see only read tools.
Use your client's live tools/list response for complete input schemas and validation rules.
Every organization operation requires an explicit orgId; write operations also require an
idempotencyKey unique across the connection. See [setup and permissions](https://docs.getoasis.org/features/mcp.md).

| Tool | Access | Required inputs | Behavior |
| - | - | - | - |
| `list_authorized_organizations` | Read | None | List authorized, enabled organizations where you are still an administrator. Use the returned id as orgId on each call; there is no shared active organization. Follow nextCursor until null when searching across organizations. |
| `get_organization` | Read | `orgId` | get organization within the authorized organization. |
| `get_organization_storage` | Read | `orgId` | get organization storage within the authorized organization. |
| `update_organization_branding` | Manage | `orgId`, `data`, `idempotencyKey` | update organization branding within the authorized organization. Changes apply immediately. |
| `list_members` | Read | `orgId` | list members within the authorized organization. |
| `set_member_admin` | Manage | `orgId`, `userId`, `data`, `idempotencyKey` | set member admin within the authorized organization. Changes apply immediately. |
| `remove_member` | Manage | `orgId`, `userId`, `idempotencyKey` | remove member within the authorized organization. Changes apply immediately. |
| `list_events` | Read | `orgId` | list events within the authorized organization. |
| `get_event` | Read | `orgId`, `eventId` | get event within the authorized organization. |
| `create_event` | Manage | `orgId`, `data`, `idempotencyKey` | create event within the authorized organization. Changes apply immediately. |
| `update_event` | Manage | `orgId`, `eventId`, `data`, `idempotencyKey` | update event within the authorized organization. Changes apply immediately. |
| `add_event_link` | Manage | `orgId`, `eventId`, `data`, `idempotencyKey` | add event link within the authorized organization. Changes apply immediately. |
| `remove_event_link` | Manage | `orgId`, `eventId`, `data`, `idempotencyKey` | remove event link within the authorized organization. Changes apply immediately. |
| `set_event_admin` | Manage | `orgId`, `eventId`, `userId`, `data`, `idempotencyKey` | set event admin within the authorized organization. Changes apply immediately. |
| `list_event_members` | Read | `orgId`, `eventId` | list event members within the authorized organization. |
| `remove_event_member` | Manage | `orgId`, `eventId`, `userId`, `idempotencyKey` | remove event member within the authorized organization. Changes apply immediately. |
| `set_event_member_groups` | Manage | `orgId`, `data`, `idempotencyKey` | set event member groups within the authorized organization. Changes apply immediately. |
| `list_event_groups` | Read | `orgId`, `eventId` | list event groups within the authorized organization. |
| `create_event_group` | Manage | `orgId`, `eventId`, `data`, `idempotencyKey` | create event group within the authorized organization. Changes apply immediately. |
| `update_event_group` | Manage | `orgId`, `eventId`, `groupId`, `data`, `idempotencyKey` | update event group within the authorized organization. Changes apply immediately. |
| `delete_event_group` | Manage | `orgId`, `eventId`, `groupId`, `idempotencyKey` | delete event group within the authorized organization. Changes apply immediately. |
| `list_schedule_items` | Read | `orgId`, `eventId` | list schedule items within the authorized organization. |
| `create_schedule_item` | Manage | `orgId`, `eventId`, `data`, `idempotencyKey` | Create an event schedule item. Times encode wall-clock values in UTC components: 10:00 must be sent as 10:00:00Z, without timezone conversion. groupIds restrict display only. |
| `update_schedule_item` | Manage | `orgId`, `eventId`, `itemId`, `data`, `idempotencyKey` | Update a schedule item. Preserve wall-clock times using UTC components; do not convert timezones. |
| `delete_schedule_item` | Manage | `orgId`, `eventId`, `itemId`, `idempotencyKey` | delete schedule item within the authorized organization. Changes apply immediately. |
| `list_calendars` | Read | `orgId` | list calendars within the authorized organization. |
| `get_calendar` | Read | `orgId`, `calendarId` | get calendar within the authorized organization. |
| `create_calendar` | Manage | `orgId`, `data`, `idempotencyKey` | Create a calendar using a public HTTP(S) feed on its default port. Refresh rejects private destinations, unsafe redirects, compressed responses, and feeds over 10 MiB. |
| `update_calendar` | Manage | `orgId`, `calendarId`, `data`, `idempotencyKey` | Update a calendar. Feed URLs must use public HTTP(S) on default ports. Every refresh validates DNS and redirects; private destinations, compressed responses, and feeds over 10 MiB are rejected. |
| `delete_calendar` | Manage | `orgId`, `calendarId`, `idempotencyKey` | delete calendar within the authorized organization. Changes apply immediately. |
| `list_artwork` | Read | `orgId` | list artwork within the authorized organization. |
| `get_artwork` | Read | `orgId`, `artworkId` | get artwork within the authorized organization. |
| `delete_artwork` | Manage | `orgId`, `artworkId`, `idempotencyKey` | delete artwork within the authorized organization. Changes apply immediately. |
| `get_device_count` | Read | `orgId` | get device count within the authorized organization. |
| `get_recipient_count` | Read | `orgId`, `data` | get recipient count within the authorized organization. |
| `list_notification_groups` | Read | `orgId` | list notification groups within the authorized organization. |
| `create_notification_group` | Manage | `orgId`, `data`, `idempotencyKey` | create notification group within the authorized organization. Changes apply immediately. |
| `update_notification_group` | Manage | `orgId`, `data`, `idempotencyKey` | Update a notification group, or archive it with archived:true. |
| `get_notification` | Read | `orgId`, `notificationId` | get notification within the authorized organization. |
| `list_notification_history` | Read | `orgId`, `data` | list notification history within the authorized organization. |
| `list_upcoming_notifications` | Read | `orgId` | list upcoming notifications within the authorized organization. |
| `create_notification` | Manage | `orgId`, `data`, `idempotencyKey` | Create a push notification. scheduled:true schedules it; scheduled:false or omitted sends it immediately. This contacts recipients. |
| `update_notification` | Manage | `orgId`, `notificationId`, `data`, `idempotencyKey` | update notification within the authorized organization. Changes apply immediately. |
| `send_notification` | Manage | `orgId`, `notificationId`, `idempotencyKey` | Send an existing notification immediately to its configured recipients. |
| `delete_notification` | Manage | `orgId`, `notificationId`, `idempotencyKey` | delete notification within the authorized organization. Changes apply immediately. |
| `list_tags` | Read | `orgId` | list tags within the authorized organization. |
| `create_tag` | Manage | `orgId`, `data`, `idempotencyKey` | create tag within the authorized organization. Changes apply immediately. |
| `update_tag` | Manage | `orgId`, `id`, `data`, `idempotencyKey` | update tag within the authorized organization. Changes apply immediately. |
| `delete_tag` | Manage | `orgId`, `id`, `idempotencyKey` | delete tag within the authorized organization. Changes apply immediately. |
| `list_tag_users` | Read | `orgId`, `id` | list tag users within the authorized organization. |
| `list_tag_entities` | Read | `orgId`, `id` | list tag entities within the authorized organization. |
| `get_member_tags` | Read | `orgId`, `userId` | get member tags within the authorized organization. |
| `set_member_tags` | Manage | `orgId`, `userId`, `data`, `idempotencyKey` | set member tags within the authorized organization. Changes apply immediately. |
| `remove_member_tag` | Manage | `orgId`, `userId`, `tagId`, `idempotencyKey` | remove member tag within the authorized organization. Changes apply immediately. |
| `get_entity_tags` | Read | `orgId`, `type`, `id` | get entity tags within the authorized organization. |
| `set_entity_tags` | Manage | `orgId`, `type`, `id`, `data`, `idempotencyKey` | set entity tags within the authorized organization. Changes apply immediately. |
| `get_organization_analytics` | Read | `orgId` | get organization analytics within the authorized organization. |
| `get_event_analytics` | Read | `orgId`, `eventId` | get event analytics within the authorized organization. |
| `list_organization_pages` | Read | `orgId` | list organization pages within the authorized organization. |
| `get_organization_page` | Read | `orgId`, `pageId` | get organization page within the authorized organization. |
| `create_organization_page` | Manage | `orgId`, `data`, `idempotencyKey` | create organization page within the authorized organization. Changes apply immediately. |
| `update_organization_page` | Manage | `orgId`, `pageId`, `data`, `idempotencyKey` | update organization page within the authorized organization. Changes apply immediately. |
| `delete_organization_page` | Manage | `orgId`, `pageId`, `idempotencyKey` | delete organization page within the authorized organization. Changes apply immediately. |
| `list_organization_tabs` | Read | `orgId` | list organization tabs within the authorized organization. |
| `create_organization_tab` | Manage | `orgId`, `data`, `idempotencyKey` | create organization tab within the authorized organization. Changes apply immediately. |
| `update_organization_tab` | Manage | `orgId`, `tabId`, `data`, `idempotencyKey` | update organization tab within the authorized organization. Changes apply immediately. |
| `delete_organization_tab` | Manage | `orgId`, `tabId`, `idempotencyKey` | delete organization tab within the authorized organization. Changes apply immediately. |
| `create_organization_tab_page` | Manage | `orgId`, `tabId`, `data`, `idempotencyKey` | create organization tab page within the authorized organization. Changes apply immediately. |
| `reorder_organization_tabs` | Manage | `orgId`, `data`, `idempotencyKey` | reorder organization tabs within the authorized organization. Changes apply immediately. |
| `list_event_pages` | Read | `orgId`, `eventId` | list event pages within the authorized organization. |
| `get_event_page` | Read | `orgId`, `eventId`, `pageId` | get event page within the authorized organization. |
| `create_event_page` | Manage | `orgId`, `eventId`, `data`, `idempotencyKey` | create event page within the authorized organization. Changes apply immediately. |
| `update_event_page` | Manage | `orgId`, `eventId`, `pageId`, `data`, `idempotencyKey` | update event page within the authorized organization. Changes apply immediately. |
| `delete_event_page` | Manage | `orgId`, `eventId`, `pageId`, `idempotencyKey` | delete event page within the authorized organization. Changes apply immediately. |
| `list_event_tabs` | Read | `orgId`, `eventId` | list event tabs within the authorized organization. |
| `create_event_tab` | Manage | `orgId`, `eventId`, `data`, `idempotencyKey` | create event tab within the authorized organization. Changes apply immediately. |
| `update_event_tab` | Manage | `orgId`, `eventId`, `tabId`, `data`, `idempotencyKey` | update event tab within the authorized organization. Changes apply immediately. |
| `delete_event_tab` | Manage | `orgId`, `eventId`, `tabId`, `idempotencyKey` | delete event tab within the authorized organization. Changes apply immediately. |
| `create_event_tab_page` | Manage | `orgId`, `eventId`, `tabId`, `data`, `idempotencyKey` | create event tab page within the authorized organization. Changes apply immediately. |
| `reorder_event_tabs` | Manage | `orgId`, `eventId`, `data`, `idempotencyKey` | reorder event tabs within the authorized organization. Changes apply immediately. |
| `import_event_attendees` | Manage | `orgId`, `eventId`, `idempotencyKey`, `rows` | Preview or import 1–100 normalized CSV roster rows into one event. dryRun defaults to true and writes nothing. Set dryRun:false to add valid rows; returns one-based row numbers, statuses and errors. Requires manage access for imports. Use list\_event\_groups/create\_event\_group to resolve groupIds first. Adds groups without removing existing memberships, preserves global profiles/roles, sends no invitations. Duplicate emails in the batch are all rejected; deduplicate across batches too. Reuse the exact key and arguments for retries; inspect failed rows before retrying them with a new key. |
| `invite_member` | Manage | `orgId`, `idempotencyKey`, `email`, `name` | Add or invite a member. Sends an invitation email for organization membership. Existing global profiles and existing roles are preserved; new members are not admins. Use the role tools separately to promote them. |
| `create_artwork_upload` | Manage | `orgId`, `idempotencyKey`, `artworkType`, `contentType`, `contentLength` | Create a 10-minute PUT URL for a PNG, JPEG or WebP file. Supply its exact contentLength in bytes (1–10485760, maximum 10 MiB). Upload raw bytes with the returned Content-Type and Content-Length headers, then finalize. The signature binds both headers; do not use chunked uploads. |
| `finalize_artwork_upload` | Manage | `orgId`, `idempotencyKey`, `uploadId` | Validate an uploaded image and register it as organization artwork. |
| `list_authorized_events` | Read | None | List individually authorized MCP-enabled events where you are still an event admin. Returns event id and orgId for event tools. Does not grant organization-wide access. Follow nextCursor until null. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.