Soundcheck

Staff live events: gigs, crew, setlists, call lists, ingest.

Community: Submitted by a user or imported; check the owner before granting accessDegradedNo sign-inGlobalFreeRead-only

What it can do

  • Get Me: Get the currently authenticated user (id, email, username, name, phone).
  • List Users: List users in the authenticated user's active organization.
  • List Events: List events visible to the authenticated user. Filter by organization, user, or status. Paginated with limit (max 100) and offset.

What data it sees

Do you need an account

No: the server works without sign-in

Staff live events: gigs, crew, setlists, call lists, ingest. Hosted MCP with OAuth

How to connect

How to connect Soundcheck to Claude

The server address to paste into Claude settings:

https://soundcheck--steven-pd2q.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect Soundcheck to ChatGPT

The server address to paste into ChatGPT settings:

https://soundcheck--steven-pd2q.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect Soundcheck to Cursor

The server address to paste into Cursor settings:

https://soundcheck--steven-pd2q.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (60)

Raw names from tools/list. Only developers need these.

get_meGet the currently authenticated user (id, email, username, name, phone).
list_usersList users in the authenticated user's active organization.
list_eventsList events visible to the authenticated user. Filter by organization, user, or status. Paginated with limit (max 100) and offset.
get_eventGet a single event by id, including assignments, members, and invitations.
my_agendaList the authenticated user's events across all their organizations (defaults to ACTIVE). Answers 'what's on my schedule'. Tool name `my_agenda` is kept for agent compatibility; verb-noun aliases such as get_my_agenda are not registered separately to avoid breaking existing callers.
my_pending_actionsAggregate everything awaiting the authenticated user's response in one call: event invitations, crew offers, and availability requests. Answers 'what do I need to respond to?'. Tool name `my_pending_actions` is kept for agent compatibility; verb-noun aliases such as list_my_pending_actions are not registered separately to avoid breaking existing callers.
get_org_briefLoad a compact, one-call snapshot of an organization to ground org-wide work: the org profile, its crew positions, its venues, its upcoming ACTIVE events, and its team. Defaults to your active organization. Read-only — sections you cannot access are listed under `unavailable`.
get_org_attentionScan an organization for what may need attention, in one call: `upcoming_events` (ACTIVE) and `pending_actions` (invitations, crew offers, availability requests awaiting YOU). Defaults to your active org. Read-only.
get_org_playbookRead an organization's CheckAI agent playbook — the saved free-text rules/preferences the agent should follow for this org. Returns {organization_id, agent_playbook}. Defaults to your active org. Read-only.
get_event_settlement_statusCheck whether an event is ready to be settled. Returns settled, unsettled_count, and unsettled_item_ids. Read-only. Call before settle_event.
list_organizationsList organizations the authenticated user is a member of.
get_organizationGet a single organization by id.
list_org_positionsList the position roster (instruments, roles) for an organization. Each row includes is_active. Defaults to active positions only so deactivated roles (Guitar, Bass, etc.) are not offered for staffing. Pass active_only=false to include deactivated roles. organization_id defaults to your active organization.
list_setlistsList setlists for an organization. Paginated with limit (max 100, default 20) and offset. organization_id defaults to your active organization.
list_songsList songs in the organization library. Paginated with limit (max 100, default 20) and offset. organization_id defaults to your active organization (you must be a member of that org). Use after delete_song to verify the song was removed from the library.
get_setlistGet a single setlist by id, including its sets and songs.
get_setlists_by_eventGet the setlists associated with a given event.
list_venuesList venues for an organization. By default returns only org-saved venues (excludes rows unlinked by delete_venue). Pass saved_only=false to search the shared global directory (includes unsaved rows with is_saved_for_org=false). Pass search to match venue name (substring, case-insensitive). Paginated with limit (max 100, default 20) and offset. organization_id defaults to your active organization.
get_venueGet a single venue by id. organization_id is required by the API and defaults to your active org.
list_customersList customers (clients/contacts) for an organization. Pass search to match customer name (substring, case-insensitive). Paginated with limit (max 100, default 20) and offset. organization_id defaults to your active organization.
get_customerGet a single customer by id within an organization.
list_sponsorsList sponsors for an organization.
list_inventoryList inventory items (equipment, stock) for an organization. Pass search to match name, category, or location (substring, case-insensitive). Paginated with limit (max 100, default 20) and offset. organization_id defaults to your active organization.
get_inventoryGet a single inventory item by id, including active assignments.
list_leadsList booking/staffing leads for an organization. Filter by status (pending/completed), pipeline stage (NEW/QUALIFIED/QUOTED/WON/LOST), owner, or search (case-insensitive substring on name, email, company, or location). Paginated with limit (max 100, default 20) and offset. organization_id defaults to your active organization.
get_leadGet a single lead by id, including owner and converted customer when present. organization_id defaults to your active organization; pass it explicitly for a lead that belongs to another organization you are a member of (e.g. one returned by list_leads with organization_id).
get_lead_activityList activity on a lead (claims, stage changes, notes, conversion). Paginated.
list_calllistsList calllists (named rosters of members) for an organization.
get_calllistGet a single calllist by id, including its members.
get_event_scheduleGet the schedule items (timeline) for an event.
get_event_checklistGet the checklist (open items, completed items) for an event.
get_event_ledgerList an event's financial ledger items — payables, receivables, income, and expenses — each with type, status, amount, and counterparty. Read-only. Visibility is scoped server-side: regular members see only items involving them; org admins/owners see the full ledger.
list_notificationsList the authenticated user's own sent-notification delivery records, optionally filtered by event, channel type (SMS/EMAIL), or status.
list_importsList recent import jobs for an organization (status, target type, source, row counts).
get_importGet the full record for one import job, including its current status, mapping, and summary once previewed or committed.
get_import_field_catalogGet the UEF field catalog for an import target type — canonical fields you can map columns to. Pass the SAME target_type as the import job (EVENT, LEAD, INVENTORY, or MEMBER); defaults to EVENT.
get_user_availabilityGet a user's availability blocks within an organization, optionally filtered to a from/to date range. Defaults to the authenticated user and their active org.
get_availability_requestGet a single availability request by id (recipient view — the recipients list is filtered to you).
list_crew_offersList crew offers for the authenticated user (defaults to you), optionally filtered by status.
list_availability_requestsList availability requests for the authenticated user (defaults to you), optionally filtered by status (e.g. PENDING).
accept_invitationAccept an event invitation as the authenticated user. Idempotent.
decline_invitationDecline an event invitation as the authenticated user. Idempotent.
archive_eventArchive an event (sets event_status=ARCHIVED). Idempotent. Confirmation-gated when MCP_CONFIRMATION_SECRET is set.
create_eventCreate a new event in an organization. The authenticated user is added as a member by default (pass member_ids to override, including [] to skip). Returns the new event id and resolved members.
complete_eventMark a past, ACTIVE event as COMPLETED — the first closeout step. Consequential: when the confirmation gate is on, the first call returns confirmation_required + a token.
settle_eventMark a COMPLETED event as SETTLED — the final closeout step. Check get_event_settlement_status first. Confirmation-gated when MCP_CONFIRMATION_SECRET is set.
reopen_eventReopen a closed-out event to ACTIVE or COMPLETED to correct a premature closeout. Confirmation-gated when MCP_CONFIRMATION_SECRET is set.
set_org_timezoneSet the organization IANA timezone (e.g. America/Chicago). New events inherit this when timezone is omitted on create_event — without a real org timezone, events can stay on UTC. Requires org-admin (ADMIN/OWNER). Confirmation-gated when MCP_CONFIRMATION_SECRET is set.
set_org_playbookSet (replace) an organization's CheckAI agent playbook. Requires org-admin (ADMIN/OWNER). The new text REPLACES the existing playbook in full. Confirmation-gated when MCP_CONFIRMATION_SECRET is set.
get_event_audit_logsGet audit log entries for an event (changes to status, members, invitations, etc.).
list_mailboxList the organization's mailbox threads (invitations, crew offers, availability requests). Priority-first: open threads come before history. Requires CRM-manager access. For INVITATION threads the mailbox id is the event id — call list_event_invitations with that event_id to get invitation ids before get_invitation or remind_invitation. Crew-offer and availability-request ids can be used directly.
get_mailbox_checkGet the org mailbox unread cursor: last_checked_at and how many threads are new since then. Requires CRM-manager access.
mark_mailbox_checkedMark the org mailbox as checked now (clears the new-thread count until more replies arrive). Requires CRM-manager access.
get_invitationRead one invitation (recipient, status, event, timestamps). invitation_id is the invitation row id from list_event_invitations — not the mailbox thread id (that id is the event).
list_event_invitationsList invitation rows for one event (invitation id, recipient, status, delivery). Use the event_id from a list_mailbox INVITATION thread, then pass those invitation ids to get_invitation or remind_invitation.
list_org_membersList organization members with roles and positions. Richer than list_users. Requires org membership. Paginated (default 50, max 200).
list_event_membersList the members assigned to an event (id, username, role, position, call order, invitation/calendar status). Convenience over get_event that returns only the members array.
preview_event_recipientsResolve an event's roster into who would be messaged and on which channel, WITHOUT sending. Returns each member (user_id, name, has_phone, has_email — no raw contact details) and a summary (total, sms_reachable, email_reachable). Use this before send_message / broadcast_event_reminder.
list_ingestion_batchesList recent file-ingestion batches for an event (status, file counts, merge state).
get_ingestion_batchGet one ingestion batch: per-file analysis status plus the batch's merge state. Terminal file statuses: READY_FOR_REVIEW, ATTACHED_ONLY, COMMITTED, COMMITTED_VIA_BATCH, DISMISSED, FAILED. merge_status READY means the merged batch review is already available. Analysis is asynchronous — check status ONCE; do NOT poll.