# io.github.socialloopai/socialloop-mcp (remote · socialloop.ai)

SocialLoop: AI-native event platform — sell tickets, manage guests, run affiliates & promo codes.

- Trust score: 64/100 (medium)
- Change this week: +6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

> **Recent critical change**: Authorization (2026-08-02). See the changelog below before you install this server.

## Components

- remote · `mcp.socialloop.ai`: 36/100, [markdown](https://verifymcp.io/servers/socialloopai-socialloop-mcp/mcp.md), [page](https://verifymcp.io/servers/socialloopai-socialloop-mcp/mcp)
- remote · `socialloop.ai`: 64/100 (this document), [markdown](https://verifymcp.io/servers/socialloopai-socialloop-mcp/socialloop.md), [page](https://verifymcp.io/servers/socialloopai-socialloop-mcp/socialloop)

## Channel facts

- Endpoint: `https://socialloop.ai/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (manage_event_series).
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 66/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 14586 tokens (~99/item across 146 items; 146 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 67/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http socialloopai-socialloop-mcp https://socialloop.ai/mcp
```

### Codex

```toml
[mcp_servers.socialloopai-socialloop-mcp]
url = "https://socialloop.ai/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "socialloopai-socialloop-mcp": {
      "type": "remote",
      "url": "https://socialloop.ai/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add socialloopai-socialloop-mcp --url https://socialloop.ai/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  socialloopai-socialloop-mcp:
    url: "https://socialloop.ai/mcp"
```

### Other

```json
{
  "mcpServers": {
    "socialloopai-socialloop-mcp": {
      "type": "http",
      "url": "https://socialloop.ai/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 64, +24)

- [critical regression] Authorization: unverified → fail
- [security] New tool “manage_event_series”, which the server declares destructive
- [security] New tool “reject_community_event”, which the server declares destructive
- [security] New tool “reject_join_request”, which the server declares destructive
- [security] New tool “release_booking”, which the server declares destructive
- [security] New tool “remove_affiliate_code”, which the server declares destructive
- [security] New tool “remove_codes_from_profile”, which the server declares destructive
- [security] New tool “remove_community_member”, which the server declares destructive
- [security] New tool “remove_guest”, which the server declares destructive
- [security] New tool “remove_member_setup”, which the server declares destructive
- [security] New tool “remove_profile_member”, which the server declares destructive
- [security] New tool “revoke_affiliate_access”, which the server declares destructive
- [security] New tool “send_invitations”, which the server declares destructive
- [security] New tool “set_form_active”, which the server declares destructive
- [security] New tool “archive_partner_profile”, which the server declares destructive
- [security] New tool “archive_ticket_tier”, which the server declares destructive
- [security] New tool “cancel_event”, which the server declares destructive
- [security] New tool “cancel_invitation_job”, which the server declares destructive
- [security] New tool “cancel_team_invite”, which the server declares destructive
- [security] New tool “delete_production_item”, which the server declares destructive
- [security] New tool “delete_promo_profile”, which the server declares destructive
- [security] New tool “delete_ticket_tier”, which the server declares destructive
- [security] New tool “demote_staff_to_guest”, which the server declares destructive
- [security] New tool “deny_guest_request”, which the server declares destructive
- [functional regression] Schema quality: unverified → fail
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → pass
- [functional improvement] Schema quality: unverified → good
- [functional] Stability: fail → 0.23
- [functional] New tool “create_event_draft”
- [functional] New tool “list_ticket_tiers”
- [functional] New tool “make_announcement”
- [functional] New tool “promote_guest_to_staff”
- [functional] New tool “propose_deal”
- [functional] New tool “record_expense”
- [functional] New tool “record_transaction”
- [functional] New tool “refine_event_cover”
- [functional] New tool “reorder_ticket_tiers”
- [functional] New tool “set_event_address”
- [functional] New tool “set_event_image”
- [functional] New tool “set_event_split_exception”
- [functional] New tool “set_event_url”
- [functional] New tool “set_host_visibility”
- [functional] New tool “set_place_build_status”
- [functional] New tool “set_role_deal_defaults”
- [functional] New tool “set_space_status”
- [functional] New tool “submit_event_to_community”
- [functional] New tool “unarchive_ticket_tier”
- [functional] New tool “unassign_event_from_space”
- [functional] New tool “update_affiliate_commission”
- [functional] New tool “update_community”
- [functional] New tool “update_event”
- [functional] New tool “update_event_draft”
- [functional] New tool “update_form”
- [functional] New tool “update_inventory_details”
- [functional] New tool “update_invoice_line_items”
- [functional] New tool “update_meal_menu”
- [functional] New tool “update_member_setup”
- [functional] New tool “update_open_link_config”
- [functional] New tool “update_partner_profile”
- [functional] New tool “update_production_item”
- [functional] New tool “update_promo_code”
- [functional] New tool “update_ticket_tier”
- [functional] New tool “update_space”
- [functional] New tool “update_staff_role”
- [functional] New tool “update_promo_profile”
- [functional] New tool “accept_deal”
- [functional] New tool “add_affiliate”
- [functional] New tool “add_affiliate_code”
- [functional] New tool “add_codes_to_profile”
- [functional] New tool “add_event_host”
- [functional] New tool “add_guest”
- [functional] New tool “add_inventory_item”
- [functional] New tool “add_meal”
- [functional] New tool “add_place”
- [functional] New tool “add_profile_member”
- [functional] New tool “add_programming_item”
- [functional] New tool “add_project”
- [functional] New tool “add_role”
- [functional] New tool “add_schedule_item”
- [functional] New tool “add_space”
- [functional] New tool “add_sponsor”
- [functional] New tool “add_talent”
- [functional] New tool “add_task”
- [functional] New tool “add_ticket_tier”
- [functional] New tool “add_vendor”
- [functional] New tool “adopt_codes_to_profile”
- [functional] New tool “approve_community_event”
- [functional] New tool “approve_guest_request”
- [functional] New tool “approve_join_request”
- [functional] New tool “assign_event_to_space”
- [functional] New tool “assign_member”
- [functional] New tool “assign_role”
- [functional] New tool “bulk_create_promo_codes”
- [functional] New tool “bulk_invite_affiliates”
- [functional] New tool “check_in_guest”
- [functional] New tool “check_in_plus_one”
- [functional] New tool “check_space_availability”
- [functional] New tool “connect_stripe”
- [functional] New tool “create_affiliate_profile”
- [functional] New tool “create_community”
- [functional] New tool “create_custom_link”
- [functional] New tool “create_event_series”
- [functional] New tool “create_form”
- [functional] New tool “create_partner_profile”
- [functional] New tool “create_production_item”
- [functional] New tool “create_promo_code”
- [functional] New tool “create_promo_profile”
- [functional] New tool “decline_deal”
- [functional] New tool “duplicate_event”
- [functional] New tool “edit_guest”
- [functional] New tool “end_deal”
- [functional] New tool “export_form_responses_csv”
- [functional] New tool “export_guest_list_csv”
- [functional] New tool “find_open_slots”
- [functional] New tool “generate_event_cover”
- [functional] New tool “get_account_status”
- [functional] New tool “get_event_revenue”
- [functional] New tool “get_guest_details”
- [functional] New tool “get_invitation_status”
- [functional] New tool “get_share_links”
- [functional] New tool “grant_member_setup”
- [functional] New tool “import_contacts_to_list”
- [functional] New tool “import_guest_list”
- [functional] New tool “invite_team_member”
- [functional] New tool “link_production_items”
- [functional] New tool “list_affiliates”
- [functional] New tool “list_bookings”
- [functional] New tool “list_community_activity”
- [functional] New tool “list_community_members”
- [functional] New tool “list_custom_domains”
- [functional] New tool “list_deals”
- [functional] New tool “list_distribution_lists”
- [functional] New tool “list_event_staff”
- [functional] New tool “list_events”
- [functional] New tool “list_form_responses”
- [functional] New tool “list_forms”
- [functional] New tool “list_guest_requests”
- [functional] New tool “list_guests”
- [functional] New tool “list_join_requests”
- [functional] New tool “list_my_communities”
- [functional] New tool “list_my_network”
- [functional] New tool “list_partner_profiles”
- [functional] New tool “list_pending_community_events”
- [functional] New tool “list_production_items”
- [functional] New tool “list_promo_codes”
- [functional] New tool “list_promo_profiles”
- [functional] New tool “list_shared_events”
- [functional] New tool “list_spaces”
- [functional] New tool “list_sponsors”
- [functional] New tool “list_team_invites”
- [functional] New tool “list_ticket_sales”

### 2026-08-01 (score 40, −23)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

- [security regression] Authorization: fail → unverified
- [security regression] Stability: 0.17 → fail
- [security regression] Tool “assign_role” was removed
- [security regression] Tool “archive_partner_profile” was removed
- [security regression] Tool “archive_ticket_tier” was removed
- [security regression] Tool “assign_event_to_space” was removed
- [security regression] Tool “assign_member” was removed
- [security regression] Tool “bulk_create_promo_codes” was removed
- [security regression] Tool “bulk_invite_affiliates” was removed
- [security regression] Tool “cancel_event” was removed
- [security regression] Tool “cancel_invitation_job” was removed
- [security regression] Tool “cancel_team_invite” was removed
- [security regression] Tool “check_in_guest” was removed
- [security regression] Tool “check_in_plus_one” was removed
- [security regression] Tool “check_space_availability” was removed
- [security regression] Tool “connect_stripe” was removed
- [security regression] Tool “create_affiliate_profile” was removed
- [security regression] Tool “create_community” was removed
- [security regression] Tool “update_space” was removed
- [security regression] Tool “accept_deal” was removed
- [security regression] Tool “add_affiliate” was removed
- [security regression] Tool “add_affiliate_code” was removed
- [security regression] Tool “add_codes_to_profile” was removed
- [security regression] Tool “add_event_host” was removed
- [security regression] Tool “add_guest” was removed
- [security regression] Tool “add_inventory_item” was removed
- [security regression] Tool “add_meal” was removed
- [security regression] Tool “add_place” was removed
- [security regression] Tool “add_profile_member” was removed
- [security regression] Tool “add_programming_item” was removed
- [security regression] Tool “add_project” was removed
- [security regression] Tool “add_role” was removed
- [security regression] Tool “add_schedule_item” was removed
- [security regression] Tool “add_space” was removed
- [security regression] Tool “add_sponsor” was removed
- [security regression] Tool “add_talent” was removed
- [security regression] Tool “add_task” was removed
- [security regression] Tool “add_ticket_tier” was removed
- [security regression] Tool “add_vendor” was removed
- [security regression] Tool “adopt_codes_to_profile” was removed
- [security regression] Tool “approve_community_event” was removed
- [security regression] Tool “approve_guest_request” was removed
- [security regression] Tool “approve_join_request” was removed
- [functional regression] Schema quality: fail → unverified
- [functional regression] Schema quality: good → unverified
- [functional regression] Schema quality: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-07-31 (score 63, +3)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

### 2026-07-30 (score 60, +1)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

### 2026-07-28 (score 59, +1)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

### 2026-07-27 (score 58, +1)

We did not load change detail this far back for this component, so this day may have recorded more than is shown.

### 2026-07-26 (score 57)

First indexed and scored.

## MCP tools (146)

### `list_events` (~93 tokens)

List Events

List the events you host — name, date, status, visibility, location, capacity, and headcount, plus the total count. See how many events you have, or find an event's id before acting on it. Optional filters: status, upcoming_only, limit. Requires a connected account. Read-only.

Input parameters:

- `limit` (integer)
- `status` (string)
- `upcoming_only` (boolean)

### `create_event_draft` (~238 tokens)

Create Event Draft

Create an event draft on the user's behalf and return a claim link they open to publish it. Use when a user wants to create or publish an event — works even if they have no SocialLoop account yet. The draft is private until the user opens the claim link and confirms. For a user connected via 'Connect with SocialLoop', it publishes directly to their account and returns a manage link instead.

Input parameters:

- `capacity`
- `category` (string)
- `contact_email` (string)
- `cover_image_url` (string)
- `description_html` (string)
- `ends_at` (string)
- `event_description` (string)
- `event_name` (string, required)
- `idempotency_key` (string, required)
- `location_address` (string)
- `requires_approval` (boolean)
- `source` (string)
- `starts_at` (string, required)
- `ticket_mode` (string, required)
- `ticket_price` (number)
- `tiers` (array)
- `timezone` (string)
- `venue_name` (string)
- `visibility` (string, required)

### `update_event_draft` (~197 tokens)

Update Event Draft

Refine an event draft you previously created (title, time, location, tickets, etc.) using its edit token, against the same claim link. Use to iterate with the user before they publish.

Input parameters:

- `capacity`
- `category` (string)
- `contact_email` (string)
- `cover_image_url` (string)
- `description_html` (string)
- `draft_id` (string, required)
- `edit_token` (string, required)
- `ends_at` (string)
- `event_description` (string)
- `event_name` (string)
- `location_address` (string)
- `requires_approval` (boolean)
- `starts_at` (string)
- `ticket_mode` (string)
- `ticket_price` (number)
- `tiers` (array)
- `timezone` (string)
- `venue_name` (string)
- `visibility` (string)

### `update_event` (~187 tokens)

Update Event

Edit a live event you manage: name, description (with links), category, start/end time, cover image, turn public discovery on/off, show or hide the guest list, visibility, capacity, and approval. Requires event_id; you must be a host (connected via 'Connect with SocialLoop').

Input parameters:

- `absorb_fees` (boolean)
- `capacity`
- `category` (string)
- `cover_image_url` (string)
- `description_html` (string)
- `discoverable` (boolean)
- `ends_at` (string)
- `event_description` (string)
- `event_id` (string, required)
- `event_name` (string)
- `requires_approval` (boolean)
- `show_participants` (boolean)
- `starts_at` (string)
- `timezone` (string)
- `visibility` (string)

### `create_event_series` (~108 tokens)

Create Event Series

Turn an existing event into a recurring series — pattern (daily/weekly/biweekly/monthly) + end (end_after total occurrences, or end_date). The source becomes occurrence 1; the rest are created on cadence with its tickets/promo/forms replayed. Requires source_event_id + pattern; you must be a host.

Input parameters:

- `end_after` (integer)
- `end_date` (string)
- `pattern` (string, required)
- `source_event_id` (string, required)

### `manage_event_series` (~106 tokens)

Manage Event Series

Manage a recurring series — action 'extend' (add additional_count more occurrences), 'end' (cancel upcoming; mode 'pause' to suspend, optional from_date), or 'resume' (restart a paused series). Requires series_id + action; you must be a host of the series.

Input parameters:

- `action` (string, required)
- `additional_count` (integer)
- `from_date` (string)
- `mode` (string)
- `series_id` (string, required)

### `duplicate_event` (~118 tokens)

Duplicate Event

Duplicate an event's setup into a new draft — copies name (+ '(Copy)'), description, category, image, location, visibility, ticket tiers/pricing, and extras (promo codes, discount profiles, forms, immersive page). Does NOT copy guests/RSVPs/sales. Optional new_start_date/new_end_date. Requires source_event_id; you must be a host.

Input parameters:

- `new_end_date` (string)
- `new_name` (string)
- `new_start_date` (string)
- `source_event_id` (string, required)

### `set_event_image` (~155 tokens)

Set Event Image

Set or replace a live event's cover image. Provide ONE of: image_base64 (the raw image bytes — use this to set an image attached or generated in the chat, passing its FULL bytes) OR image_url (a public https link, fetched + re-hosted durably). png/jpeg/webp/gif, ≤10 MB, complete image only (truncated payloads rejected). If your runtime can't move the full bytes into the call, host the image at a public URL and use image_url. Requires event_id; you must be a host.

Input parameters:

- `content_type` (string)
- `event_id` (string, required)
- `image_base64` (string)
- `image_url` (string)

### `generate_event_cover` (~125 tokens)

Generate Event Cover

Generate a brand-new cover image (a finished event flyer) for an event from a TEXT prompt — describe the vibe, palette, imagery, and energy. We render it server-side (no image upload from you needed — works even when you can't pass a file) and set it as the event's cover; the event's name becomes the flyer's hero title by default. Counts against the monthly AI-image limit. Requires event_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `include_title` (boolean)
- `prompt` (string, required)

### `refine_event_cover` (~100 tokens)

Refine Event Cover

Refine the event's CURRENT cover with a short instruction ('make it warmer', 'swap the background', 'bigger title') — we re-render from the existing cover, keep the composition, and set the new one. The event must already have a cover (generate_event_cover first). Counts against the monthly AI-image limit. Requires event_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `instruction` (string, required)

### `set_event_url` (~77 tokens)

Set Event URL

Set a custom vanity URL for a live event you manage (e.g. socialloop.ai/go/sundown-sessions). 3–30 lowercase letters, numbers, and hyphens; must be unique. Requires event_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `slug` (string, required)

### `set_event_address` (~111 tokens)

Set Event Address

Set or change a live event's address/location. Provide `address` (the text shown on the event page); optionally `venue_name` and `latitude`+`longitude` to also move the map pin. Use this to fix or update where an event is held. Requires event_id; you must be a host.

Input parameters:

- `address` (string, required)
- `event_id` (string, required)
- `latitude` (number)
- `longitude` (number)
- `venue_name` (string)

### `add_event_host` (~82 tokens)

Add Event Host

Invite a co-host to a live event by email. role 'producer' = full permissions; role 'co_host' = display + invite-from-own-list. They get an email and join on accept. Requires event_id; you must be a host.

Input parameters:

- `email` (string, required)
- `event_id` (string, required)
- `role` (string, required)

### `set_host_visibility` (~72 tokens)

Set Host Visibility

Show or hide a host on a live event's public page without changing their permissions (visible=false hides, true shows). host_id defaults to you. Requires event_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `host_id` (string)
- `visible` (boolean, required)

### `cancel_event` (~68 tokens)

Cancel Event

Cancel a live event you manage — marks it cancelled, removes it from public discovery, cleans up invites/affiliates/broadcasts. Irreversible and outward-facing. Requires event_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `reason` (string)

### `add_ticket_tier` (~111 tokens)

Add Ticket Tier

Add a ticket tier to a live event you manage — free RSVP (price 0) or paid, with capacity, optional approval, or a secret unlock code. Paid tiers need Stripe connected. Requires event_id; you must be a host.

Input parameters:

- `capacity` (integer, required)
- `description` (string)
- `event_id` (string, required)
- `name` (string, required)
- `price` (number, required)
- `requires_approval` (boolean)
- `secret` (boolean)

### `update_ticket_tier` (~124 tokens)

Update Ticket Tier

Edit a ticket tier on a live event you manage — name, price, capacity (not below sold), description, approval, or secret. Paid prices need Stripe. Requires event_id + tier_id; you must be a host.

Input parameters:

- `capacity` (integer)
- `description` (string)
- `event_id` (string, required)
- `name` (string)
- `price` (number)
- `requires_approval` (boolean)
- `secret` (boolean)
- `show_remaining` (boolean)
- `tier_id` (string, required)

### `archive_ticket_tier` (~59 tokens)

Archive Ticket Tier

Archive a ticket tier (take it off sale) on a live event you manage. Reversible. Requires event_id + tier_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `tier_id` (string, required)

### `unarchive_ticket_tier` (~52 tokens)

Unarchive Ticket Tier

Restore an archived ticket tier to active (back on sale). Requires event_id + tier_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `tier_id` (string, required)

### `reorder_ticket_tiers` (~58 tokens)

Reorder Ticket Tiers

Reorder the active ticket tiers' display order. Pass ALL active tier ids in the desired order. Requires event_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `ordered_tier_ids` (array, required)

### `delete_ticket_tier` (~61 tokens)

Delete Ticket Tier

Permanently delete a ticket tier — only if no tickets were sold (otherwise archive it). Irreversible. Requires event_id + tier_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `tier_id` (string, required)

### `list_ticket_tiers` (~64 tokens)

List Ticket Tiers

List the ticket tiers on a live event you manage — name, price, capacity, sold, available — with totals. Requires event_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)
- `include_archived` (boolean)

### `list_guests` (~74 tokens)

List Guests

List the guests on a live event you manage — name, email, phone, category, plus-ones, check-in status — with totals and checked-in count. Optional category filter. Requires event_id; you must be a host. Read-only.

Input parameters:

- `category` (string)
- `event_id` (string, required)

### `export_guest_list_csv` (~80 tokens)

Export Guest List CSV

Export a live event's guest list as a downloadable CSV (name, email, phone, category, ticket class, plus-ones, checked-in, note) and return a download link. Optional category filter. Requires event_id; you must be a host. Read-only.

Input parameters:

- `category` (string)
- `event_id` (string, required)

### `add_guest` (~144 tokens)

Add Guest

Add a guest to a live event's guest list — name, optional email, phone, category (e.g. vip/press), plus-ones, note, tags, and an optional ticket tier. Counts against the weekly invite limit. Requires event_id; you must be a host.

Input parameters:

- `category` (string)
- `email` (string)
- `event_id` (string, required)
- `first_name` (string, required)
- `last_name` (string)
- `note` (string)
- `phone` (string)
- `plus_ones_allowed` (integer)
- `tags` (array)
- `ticket_class_id` (string)

### `edit_guest` (~135 tokens)

Edit Guest

Edit a guest-list entry on a live event you manage — name, email, phone, category, plus-ones, note, tags. Only guest-list entries, never purchased tickets. Requires event_id + guest_id; you must be a host.

Input parameters:

- `category` (string)
- `email` (string)
- `event_id` (string, required)
- `first_name` (string)
- `guest_id` (string, required)
- `last_name` (string)
- `note` (string)
- `phone` (string)
- `plus_ones_allowed` (integer)
- `tags` (array)

### `remove_guest` (~67 tokens)

Remove Guest

Remove a guest-list entry from a live event you manage — deletes the entry and cleans up its counters. Only guest-list entries, never purchased tickets. Requires event_id + guest_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `guest_id` (string, required)

### `check_in_guest` (~79 tokens)

Check In Guest

Check a guest in (or back out) at a live event you manage — toggles their ticket between active and checked-in. Pass checked_in false to undo. Requires event_id + guest_id; you must be a host.

Input parameters:

- `checked_in` (boolean)
- `event_id` (string, required)
- `guest_id` (string, required)

### `check_in_plus_one` (~81 tokens)

Check In Plus One

Check in one of a guest's allowed plus-ones at a live event you manage (fails if they're at their plus-one limit). Requires event_id + parent_guest_id + plus_one_name; you must be a host.

Input parameters:

- `event_id` (string, required)
- `parent_guest_id` (string, required)
- `plus_one_name` (string, required)

### `promote_guest_to_staff` (~104 tokens)

Promote Guest To Staff

Promote a guest (who has a SocialLoop account) to staff on a live event — role doorPerson, guestList, manager, promoter, host, or custom. Grants real permissions. Requires event_id + guest_id + user_id + role; you must be a host.

Input parameters:

- `event_id` (string, required)
- `guest_id` (string, required)
- `permissions` (object)
- `role` (string, required)
- `user_id` (string, required)

### `demote_staff_to_guest` (~64 tokens)

Demote Staff To Guest

Remove a staff member's role on a live event and demote them back to a guest (they keep their spot). Requires event_id + user_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `user_id` (string, required)

### `import_guest_list` (~79 tokens)

Import Guest List

Bulk-add up to 200 guests to a live event's guest list in one call (parse the CSV / contact list into rows; each needs at least a first name). Counts the whole batch against the weekly invite limit. Requires event_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `guests` (array, required)

### `get_guest_details` (~82 tokens)

Get Guest Details

Get the full record for one guest on a live event — identity, tier, plus-ones, check-in status + time, staff role, tags, note, activity log, and plus-ones. Requires event_id + guest_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)
- `guest_id` (string, required)

### `update_staff_role` (~88 tokens)

Update Staff Role

Change an existing staff member's role and/or permissions on a live event (doorPerson, guestList, manager, promoter, host, or custom). Requires event_id + user_id and a role and/or permissions; you must be a host.

Input parameters:

- `event_id` (string, required)
- `permissions` (object)
- `role` (string)
- `user_id` (string, required)

### `list_event_staff` (~59 tokens)

List Event Staff

List the staff on a live event you manage — each member's role, permissions, name/email, and whether they were promoted from a guest. Requires event_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)

### `list_guest_requests` (~80 tokens)

List Guest Requests

List the pending WAITLIST / approval requests on a live event you manage — how many are waiting, who asked, which tier, and when (oldest first). This is the event waitlist. Pair with approve_guest_request / deny_guest_request. Requires event_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)

### `approve_guest_request` (~95 tokens)

Approve Guest Request

Approve someone on the event WAITLIST / approval queue — issues them a capacity-limited comp ticket and notifies them. Get request_id + user_id + ticket_class_id from list_guest_requests. Requires event_id + those ids; you must be a host.

Input parameters:

- `event_id` (string, required)
- `request_id` (string, required)
- `ticket_class_id` (string, required)
- `user_id` (string, required)

### `deny_guest_request` (~84 tokens)

Deny Guest Request

Deny someone on the event WAITLIST / approval queue — releases their held slot back to the tier, frees them to re-register, and emails them. Get request_id from list_guest_requests. Requires event_id + request_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `reason` (string)
- `request_id` (string, required)

### `send_invitations` (~175 tokens)

Send Invitations

Send invitations to a live event — app, email, or both — to people (recipient_uids), saved lists (distribution_list_ids), and/or manual contacts (external_contacts). Optionally attach a promo code, add a custom message, send as a linked community, or schedule. Counts against the weekly invite limit; sends real emails/push. Requires event_id; host only.

Input parameters:

- `attach_promo_code` (string)
- `custom_message` (string)
- `delivery_method` (string)
- `distribution_list_ids` (array)
- `dry_run` (boolean)
- `event_id` (string, required)
- `external_contacts` (array)
- `recipient_uids` (array)
- `scheduled_start_at` (string)
- `send_as_community_id` (string)

### `make_announcement` (~124 tokens)

Make Announcement

Send an announcement to ALL guests of a live event you manage — one message delivered by email (to guests with an address on file, minus unsubscribes) AND as an in-app push notification. Provide subject + message. Use when the host wants to tell their guests something (a time/venue change, a reminder, a thank-you). Outward-facing and can't be unsent — confirm the wording with the host first. Requires event_id; host only.

Input parameters:

- `event_id` (string, required)
- `message` (string, required)
- `subject` (string, required)

### `get_invitation_status` (~65 tokens)

Get Invitation Status

Check the status of an invitation send — state, recipient count, invites/emails sent, failures, % complete. Requires event_id + job_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)
- `job_id` (string, required)

### `cancel_invitation_job` (~59 tokens)

Cancel Invitation Job

Cancel a running or scheduled invitation send (stops future batches; already-scheduled emails still deliver). Requires event_id + job_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `job_id` (string, required)

### `list_distribution_lists` (~42 tokens)

List Distribution Lists

List your saved distribution lists (name + contact count) so you can pick one to invite from with send_invitations. Requires a connected account. Read-only.

### `import_contacts_to_list` (~98 tokens)

Import Contacts To List

Import contacts into one of your distribution lists (your network) — give a list_name (created if new) plus a contacts array ({name,email,phone}) and/or raw csv text (header row auto-mapped). Normalizes + dedupes, skips unreachable/duplicate, respects your plan cap. Requires a connected account.

Input parameters:

- `contacts` (array)
- `csv` (string)
- `list_name` (string, required)

### `create_custom_link` (~89 tokens)

Create Custom Link

Create a trackable share link (socialloop.ai/go/…) for a live event — tag it with a source (instagram, newsletter) and optional campaign; clicks are counted. Opens the public or immersive page. Requires event_id; host only.

Input parameters:

- `campaign` (string)
- `event_id` (string, required)
- `source` (string, required)
- `target_type` (string)

### `get_share_links` (~64 tokens)

Get Share Links

Get the shareable links for a live event — public URL, immersive-page URL, vanity short link, and every trackable custom link with its source and click count. Requires event_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)

### `create_promo_code` (~130 tokens)

Create Promo Code

Create a discount/promo code (percent or fixed) on a live event or an unclaimed draft. Provide either event_id, or draft_id + edit_token.

Input parameters:

- `applicable_classes` (array)
- `code` (string, required)
- `discount_type` (string, required)
- `discount_value` (number, required)
- `draft_id` (string)
- `edit_token` (string)
- `enabled` (boolean)
- `event_id` (string)
- `expires_at` (string)
- `max_uses` (integer)
- `starts_at` (string)

### `update_promo_code` (~128 tokens)

Update Promo Code

Edit a promo code on a live event — code, discount, max uses, start/expiry, applicable classes, or enable/disable. Requires event_id + promo_code_id; you must be a host.

Input parameters:

- `applicable_classes` (array)
- `code` (string)
- `discount_type` (string)
- `discount_value` (number)
- `enabled` (boolean)
- `event_id` (string, required)
- `expires_at`
- `max_uses` (integer)
- `promo_code_id` (string, required)
- `starts_at`

### `bulk_create_promo_codes` (~69 tokens)

Bulk Create Promo Codes

Create up to 500 promo codes on a live event in one call (duplicates and invalid rows skipped with reasons). Counts against the event's promo-code plan cap. Requires event_id; you must be a host.

Input parameters:

- `codes` (array, required)
- `event_id` (string, required)

### `list_promo_codes` (~69 tokens)

List Promo Codes

List the promo codes on a live event — code, discount, usage vs cap, schedule, classes, and whether each is an affiliate/profile code. Requires event_id; you must be a host. Read-only.

Input parameters:

- `enabled_only` (boolean)
- `event_id` (string, required)

### `add_affiliate` (~130 tokens)

Add Affiliate

Invite an affiliate/promoter to a live event by email with their discount and optional commission. Sends an invite email; they get a tracked code on accept. Counts against the affiliate plan cap. Requires event_id + email; you must be a host.

Input parameters:

- `code_prefix` (string)
- `commission_type` (string)
- `commission_value` (number)
- `discount_type` (string)
- `discount_value` (number)
- `email` (string, required)
- `event_id` (string, required)
- `expires_at` (string)
- `starts_at` (string)

### `create_affiliate_profile` (~156 tokens)

Create Affiliate Profile

Create a reusable 'open' affiliate profile — a shareable link promoters self-join (no named email; use add_affiliate for a specific person). Set per-tier discount, optional code prefix, affiliate cap, commission, and start/expiry. Counts against the affiliate-profile plan cap. Requires event_id + at least one tier; you must be a host.

Input parameters:

- `code_prefix` (string)
- `commission_type` (string)
- `commission_value` (number)
- `event_id` (string, required)
- `expires_at` (string)
- `max_affiliates` (integer)
- `profile_name` (string)
- `starts_at` (string)
- `tiers` (object, required)

### `bulk_invite_affiliates` (~129 tokens)

Bulk Invite Affiliates

Invite up to 200 affiliates to a live event at once by email with a shared discount/commission. Sends each an invite email. Counts against the affiliate plan cap. Requires event_id + emails; you must be a host.

Input parameters:

- `code_prefix` (string)
- `commission_type` (string)
- `commission_value` (number)
- `discount_type` (string)
- `discount_value` (number)
- `emails` (array, required)
- `event_id` (string, required)
- `expires_at` (string)
- `starts_at` (string)

### `update_affiliate_commission` (~73 tokens)

Update Affiliate Commission

Change an affiliate's commission rates on a live event (map of promo_code_id → commission). Affects future sales only. Requires event_id + affiliate_id; you must be a host.

Input parameters:

- `affiliate_id` (string, required)
- `commission_updates` (object, required)
- `event_id` (string, required)

### `revoke_affiliate_access` (~62 tokens)

Revoke Affiliate Access

Remove an affiliate from a live event — disables their promo codes (keeps redemption history) and revokes access. Requires event_id + affiliate_id; you must be a host.

Input parameters:

- `affiliate_id` (string, required)
- `event_id` (string, required)

### `list_affiliates` (~62 tokens)

List Affiliates

List the affiliates on a live event — name, email, their promo codes (discount + commission), and sales stats (tickets sold, revenue, commission). Requires event_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)

### `add_affiliate_code` (~109 tokens)

Add Affiliate Code

Extend an affiliate to another ticket tier — adds the tier to their promo code with its own discount and optional commission. Requires event_id + affiliate_id + ticket_class_id + discount; you must be a host.

Input parameters:

- `affiliate_id` (string, required)
- `commission_type` (string)
- `commission_value` (number)
- `discount_type` (string, required)
- `discount_value` (number, required)
- `event_id` (string, required)
- `ticket_class_id` (string, required)

### `remove_affiliate_code` (~71 tokens)

Remove Affiliate Code

Remove a ticket tier from an affiliate (disables their code if it was the last tier). Requires event_id + affiliate_id + ticket_class_id; you must be a host.

Input parameters:

- `affiliate_id` (string, required)
- `event_id` (string, required)
- `ticket_class_id` (string, required)

### `update_open_link_config` (~111 tokens)

Update Open Link Config

Reconfigure an affiliate open link (anyone-can-claim) — set each tier's discount + commission, the profile name, and the affiliate cap. Re-stamps EVERY existing affiliate on the link (large blast radius). Requires event_id + invite_id + tiers; you must be a host.

Input parameters:

- `event_id` (string, required)
- `invite_id` (string, required)
- `max_affiliates` (integer)
- `profile_name` (string)
- `tiers` (object, required)

### `create_promo_profile` (~121 tokens)

Create Promo Profile

Create a discount (coupon) profile on a live event — a reusable per-tier discount config (tiers: ticket_class_id → percent/fixed) that promo codes attach to, with optional max uses + schedule. Counts against your plan's discount-profile cap. Requires event_id + tiers; you must be a host.

Input parameters:

- `event_id` (string, required)
- `expires_at` (string)
- `max_uses` (integer)
- `profile_name` (string)
- `starts_at` (string)
- `tiers` (object, required)

### `list_promo_profiles` (~57 tokens)

List Promo Profiles

List the discount (coupon) profiles on a live event — name, per-tier config, schedule, code count, enabled state. Requires event_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)

### `add_codes_to_profile` (~113 tokens)

Add Codes To Profile

Attach or auto-generate promo codes under a discount profile — each code inherits the profile's discount and becomes immediately redeemable. Give explicit codes and/or auto_generate a count (optional code_prefix); max 500/call, duplicates skipped with a suggestion. Requires event_id + profile_id; you must be a host.

Input parameters:

- `auto_generate` (integer)
- `code_prefix` (string)
- `codes` (array)
- `event_id` (string, required)
- `profile_id` (string, required)

### `adopt_codes_to_profile` (~95 tokens)

Adopt Codes To Profile

Reassign existing standalone promo codes into a discount profile — each adopted code takes the profile's discount but keeps its prior usage count. Codes already in a profile or linked to an affiliate are skipped. Max 100/call. Requires event_id + profile_id + code_ids; you must be a host.

Input parameters:

- `code_ids` (array, required)
- `event_id` (string, required)
- `profile_id` (string, required)

### `remove_codes_from_profile` (~90 tokens)

Remove Codes From Profile

Remove promo codes from a discount profile — 'detach' (default) keeps each code standalone; 'delete' removes unused codes but disables any with redemptions. Requires event_id + profile_id + code_ids; you must be a host.

Input parameters:

- `action` (string)
- `code_ids` (array, required)
- `event_id` (string, required)
- `profile_id` (string, required)

### `update_promo_profile` (~124 tokens)

Update Promo Profile

Edit a discount profile — change tiers, name, max uses, schedule, or enabled state. When a discount-config field changes, every linked promo code is re-stamped to match. Requires event_id + profile_id + at least one field; you must be a host.

Input parameters:

- `enabled` (boolean)
- `event_id` (string, required)
- `expires_at`
- `max_uses` (integer)
- `profile_id` (string, required)
- `profile_name` (string)
- `starts_at`
- `tiers` (object)

### `delete_promo_profile` (~81 tokens)

Delete Promo Profile

Delete a discount profile and resolve its codes — 'detach' (default) keeps each code standalone; 'delete_codes' deletes unused codes but disables any with redemptions. Requires event_id + profile_id; you must be a host.

Input parameters:

- `action` (string)
- `event_id` (string, required)
- `profile_id` (string, required)

### `invite_team_member` (~112 tokens)

Invite Team Member

Invite a staff/team member to a live event by email with a role — host (Producer), manager, guest_list, door_person, or promoter (Co-Host). Sends an invite email; they join on accept. Requires a Pro plan. Manage existing staff with list_event_staff / update_staff_role / demote_staff_to_guest. Requires event_id + email + role; you must be a host.

Input parameters:

- `email` (string, required)
- `event_id` (string, required)
- `role` (string, required)

### `list_team_invites` (~59 tokens)

List Team Invites

List the pending team/staff invites on a live event — email, role, and when invited. Accepted staff appear in list_event_staff. Requires event_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)

### `cancel_team_invite` (~64 tokens)

Cancel Team Invite

Cancel a pending team/staff invite (before it's accepted). To remove an accepted member, use demote_staff_to_guest. Requires event_id + invite_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `invite_id` (string, required)

### `add_vendor` (~145 tokens)

Add Vendor

Add a vendor (supplier) to a live event's production graph — name, service, pipeline status, contact info, itemized list, notes, tags, linked projects. Requires event_id + name; you must be a host.

Input parameters:

- `email` (string)
- `event_id` (string, required)
- `itemized_list` (string)
- `name` (string, required)
- `notes` (string)
- `phone` (string)
- `point_of_contact` (string)
- `project_ids` (array)
- `service` (string)
- `status` (string)
- `tags` (array)
- `url` (string)

### `add_talent` (~165 tokens)

Add Talent

Add talent (performer, artist, DJ, speaker) to a live event's roster — name, bio, booking status, categories, act title, duration, contact, rider. Requires event_id + name; you must be a host.

Input parameters:

- `act_title` (string)
- `categories` (array)
- `description` (string)
- `duration_minutes` (integer)
- `email` (string)
- `event_id` (string, required)
- `home_base` (string)
- `is_speaker` (boolean)
- `name` (string, required)
- `phone` (string)
- `portfolio_url` (string)
- `rider` (string)
- `short_bio` (string)
- `status` (string)

### `add_task` (~74 tokens)

Add Task

Add a production task to a live event — title, priority, and phase (pre_production/build/event/strike/post). Requires event_id + title; you must be a host.

Input parameters:

- `event_id` (string, required)
- `phase` (string)
- `priority` (string)
- `title` (string, required)

### `add_project` (~138 tokens)

Add Project

Create a production project on a live event — the container for tasks, roles, vendors, and budget. Name, description, category, priority, status, deliverable, dates. Requires event_id + name; you must be a host.

Input parameters:

- `category` (string)
- `deliverable` (string)
- `description` (string)
- `event_id` (string, required)
- `name` (string, required)
- `notes` (string)
- `overall_status` (string)
- `priority` (string)
- `start_date` (string)
- `tags` (array)
- `target_date` (string)

### `record_expense` (~138 tokens)

Record Expense

Record an expense (receipt) against a live event's budget — item, cost ($), amount paid, status, type, optional linked vendor/project. Editable via update_production_item (entity 'receipts'). Requires event_id + item + cost; you must be a host.

Input parameters:

- `comments` (string)
- `cost` (number, required)
- `description` (string)
- `event_id` (string, required)
- `item` (string, required)
- `paid` (number)
- `project_id` (string)
- `status` (string)
- `type` (string)
- `vendor_id` (string)

### `record_transaction` (~249 tokens)

Record Transaction

Record a bank-side ledger row — actual money moving (income/expense/transfer): name, amount ($), optional fee, category, phase, date, banking references, and links to a receipt/project/vendor/place/team. Requires event_id + name + impact + amount; you must be a host.

Input parameters:

- `amount` (number, required)
- `category` (string)
- `date` (string)
- `description` (string)
- `event_id` (string, required)
- `fee` (number)
- `impact` (string, required)
- `name` (string, required)
- `note` (string)
- `paid_from_account` (string)
- `paid_to_account` (string)
- `payer` (object)
- `payer_email` (string)
- `phase` (string)
- `place_id` (string)
- `project_id` (string)
- `receipt_id` (string)
- `receiver` (object)
- `reconciled` (boolean)
- `references` (object)
- `tags` (array)
- `team_id` (string)
- `vendor_id` (string)
- `who_for` (array)

### `add_schedule_item` (~154 tokens)

Add Schedule Item

Add a run-of-show cue / schedule item to a live event — a time-blocked moment (lighting/sound/performance/transition/safety/…) with start (and optional end), lane, cue number, project, talent. Requires event_id + title + start_at; you must be a host.

Input parameters:

- `cue_number` (string)
- `description` (string)
- `end_at` (string)
- `event_id` (string, required)
- `lane` (string)
- `notes` (string)
- `project_id` (string)
- `start_at` (string, required)
- `talent_ids` (array)
- `title` (string, required)
- `type` (string)

### `add_role` (~98 tokens)

Add Role

Add a production role to a live event — an accountable role (Stage Manager, Catering Lead) that tasks/vendors/receipts reference. Name, description, category, notes. Requires event_id + name; you must be a host.

Input parameters:

- `category` (string)
- `description` (string)
- `event_id` (string, required)
- `name` (string, required)
- `notes` (string)
- `tags` (array)

### `add_inventory_item` (~215 tokens)

Add Inventory Item

Add a physical asset / gear item to a live event's inventory — name, category, status (wish_list … in_use), priority, quantity + quantity needed, unit cost ($), location, project/place links. Requires event_id + name; you must be a host.

Input parameters:

- `category` (string)
- `current_location` (string)
- `description` (string)
- `dimensions` (string)
- `event_id` (string, required)
- `name` (string, required)
- `phase` (string)
- `place_id` (string)
- `priority` (string)
- `project_id` (string)
- `qty` (integer)
- `qty_needed` (integer)
- `status` (string)
- `storage_container` (string)
- `subcategory` (string)
- `tags` (array)
- `to_source` (boolean)
- `unit_cost` (number)
- `unit_of_measure` (string)
- `url` (string)

### `add_programming_item` (~184 tokens)

Add Programming Item

Add a programming item (curated experience — workshop, performance, DJ set, ritual) to a live event — title, status (ideation … ready), types, duration, start time, linked talent/places, rider, production needs. Requires event_id + title; you must be a host.

Input parameters:

- `act` (string)
- `description` (string)
- `duration_minutes` (integer)
- `event_id` (string, required)
- `experience_series` (string)
- `phase` (string)
- `place_ids` (array)
- `production_needs` (string)
- `rider` (string)
- `start_at` (string)
- `status` (string)
- `tags` (array)
- `talent_ids` (array)
- `title` (string, required)
- `types` (array)

### `add_meal` (~179 tokens)

Add Meal

Add a meal to a live event's culinary plan — kind (breakfast/lunch/dinner/snack/special), serve time (required), title, status (planning … served), expected diners, stations, shopping list, estimated cost ($). Requires event_id + kind + serve_at; you must be a host.

Input parameters:

- `description` (string)
- `estimated_cost` (number)
- `event_id` (string, required)
- `expected_diners` (integer)
- `kind` (string, required)
- `notes` (string)
- `place_id` (string)
- `project_id` (string)
- `serve_at` (string, required)
- `shopping_list` (array)
- `stations` (array)
- `status` (string)
- `tags` (array)
- `title` (string)

### `add_place` (~160 tokens)

Add Place

Add a place / location to a live event — a build site, zone, or venue area (name, structure, sector, lifecycle + build status, parent place, budgets, start date). Requires event_id + name; you must be a host.

Input parameters:

- `budget_allocated` (number)
- `budget_requested` (number)
- `build_status` (string)
- `description` (string)
- `event_id` (string, required)
- `lifecycle_status` (string)
- `name` (string, required)
- `name_alt` (string)
- `parent_place_id` (string)
- `sector` (string)
- `start_at` (string)
- `structure` (string)
- `tags` (array)

### `set_place_build_status` (~86 tokens)

Set Place Build Status

Set a place's build status (not_started → surveyed → staged → built → systemized → designed → complete, or null to clear) — the build axis, separate from lifecycle status. Requires event_id + place_id + build_status; you must be a host.

Input parameters:

- `build_status` (required)
- `event_id` (string, required)
- `place_id` (string, required)

### `add_sponsor` (~115 tokens)

Add Sponsor

Add a sponsor to your sponsor book — company, tier (platinum/gold/silver/bronze), total committed ($), deliverables, optional contact. Spans all your events. Requires a connected account.

Input parameters:

- `company_name` (string, required)
- `contact_email` (string)
- `contact_name` (string)
- `contact_phone` (string)
- `deliverables` (array)
- `notes` (string)
- `tier` (string)
- `total_committed` (number)

### `list_sponsors` (~53 tokens)

List Sponsors

List your sponsors — company, tier, total committed ($), deliverables, contact, plus the grand total (highest first). Optional tier filter. Requires a connected account. Read-only.

Input parameters:

- `tier` (string)

### `create_production_item` (~163 tokens)

Create Production Item

Create a production item in ANY area of a live event — entity is one of: milestones, timeline, schedule_items, tasks, projects, vendors, talent, roles, inventory, programming, meals, places, modes (event roster), transactions, invoices, teams, receipts. Pass name + optional status + notes + a `fields` object of entity details (e.g. milestones {target_date, category, phase}). USE THIS for milestones — a milestone is NOT a task. Requires event_id + entity + name; you must be a host.

Input parameters:

- `entity` (string, required)
- `event_id` (string, required)
- `fields` (object)
- `name` (string, required)
- `notes` (string)
- `status` (string)

### `update_production_item` (~157 tokens)

Update Production Item

Update a production item in ANY area of a live event (entity: milestones, timeline, schedule_items, tasks, projects, vendors, talent, roles, inventory, programming, meals, places, modes, transactions, invoices, teams, receipts) — change status, rename, edit notes, archive/restore (active), or set details via a `fields` object. Requires event_id + entity + item_id; you must be a host.

Input parameters:

- `active` (boolean)
- `entity` (string, required)
- `event_id` (string, required)
- `fields` (object)
- `item_id` (string, required)
- `name` (string)
- `notes` (string)
- `status` (string)

### `delete_production_item` (~107 tokens)

Delete Production Item

Permanently delete a production item (any entity: milestones, timeline, schedule_items, tasks, projects, vendors, talent, roles, inventory, programming, meals, places, modes, transactions, invoices, teams, receipts). To merely hide it, use update_production_item active:false instead. Requires event_id + entity + item_id; you must be a host.

Input parameters:

- `entity` (string, required)
- `event_id` (string, required)
- `item_id` (string, required)

### `list_production_items` (~101 tokens)

List Production Items

List production items on a live event — entity is any of milestones, timeline, schedule_items, tasks, projects, vendors, talent, roles, inventory, programming, meals, places, modes, transactions, invoices, teams, receipts — with name, status, and key details. Optional status filter. Requires event_id; host. Read-only.

Input parameters:

- `entity` (string, required)
- `event_id` (string, required)
- `status` (string)

### `link_production_items` (~234 tokens)

Link Production Items

Interconnect production items on a live event — link an item to others across the graph (task→project, project→teams/places/milestones, vendor→projects, programming→talent/places, inventory→team/place/project, receipt/transaction→team/vendor/project, place→parent, cue→place/programming/talent, milestone→projects/tasks, meal→shift, task→place, team→depends_on, buildUnit→unit_lead/unit_team/environments/build_tasks, scholarship→applicant, invitation→nominated_by/applicant, person↔person via modes→roommates/buddy/mentor/significant_other/sharing_vehicle_with/paying_for/ticket_sending_to/ticket_receiving_from). op add/remove/set. Denormalized names + team counters stay in sync automatically. Requires event_id + entity + item_id + relation + target_ids; host.

Input parameters:

- `entity` (string, required)
- `event_id` (string, required)
- `item_id` (string, required)
- `op` (string, required)
- `relation` (string, required)
- `target_ids` (array, required)

### `assign_role` (~103 tokens)

Assign Role

Assign a role (by role_id) to a production item — entity tasks/receipts/vendors/inventory/schedule_items (single) or projects (multiple). Stored as a name snapshot. op set/add/remove. Requires event_id + entity + item_id + role_id; host.

Input parameters:

- `entity` (string, required)
- `event_id` (string, required)
- `item_id` (string, required)
- `op` (string, required)
- `role_id` (string, required)

### `assign_member` (~156 tokens)

Assign Member

Assign a person to a production item — teams→members/leads, milestones→owner/watchers, schedule_items→lead/assigned, cues→caller/owner, tasks→designated, places→build_lead, vendors→admin/leads, projects→leads, inventory→assigned_to/occupants. Identify by member.mode_id (a roster entry) or member.name. op set/add/remove; team.memberCount stays in sync. Requires event_id + entity + item_id + relation + member; host.

Input parameters:

- `entity` (string, required)
- `event_id` (string, required)
- `item_id` (string, required)
- `member` (object, required)
- `op` (string, required)
- `relation` (string, required)

### `update_meal_menu` (~76 tokens)

Update Meal Menu

Set a meal's menu — array of {name, servings?, description?, dietary_tags?, tags? (allergens)}. Replaces the whole list. Requires event_id + item_id (the meal); host.

Input parameters:

- `event_id` (string, required)
- `item_id` (string, required)
- `menu` (array, required)

### `update_invoice_line_items` (~74 tokens)

Update Invoice Line Items

Set an invoice's line items — array of {description, amount} (dollars). Recomputes the invoice total. Replaces the whole list. Requires event_id + item_id; host.

Input parameters:

- `event_id` (string, required)
- `item_id` (string, required)
- `line_items` (array, required)

### `update_inventory_details` (~104 tokens)

Update Inventory Details

Set an inventory item's typed details — kind vehicle/housing/bike/structure/power + that variant's fields (vehicle: plate/makeModel/vin/fuelType; housing: sleepCapacity/powerNeeds; power: rating/phase/voltage). Requires event_id + item_id + kind + details; host.

Input parameters:

- `details` (object, required)
- `event_id` (string, required)
- `item_id` (string, required)
- `kind` (string, required)

### `create_form` (~88 tokens)

Create Form

Create a registration/intake form on a live event — name + questions (text/textarea/select/multiSelect/email/phone/url/number, with options/required/placeholder). Starts as draft; activate with set_form_active. Requires event_id + name; you must be a host.

Input parameters:

- `event_id` (string, required)
- `name` (string, required)
- `questions` (array)

### `update_form` (~81 tokens)

Update Form

Edit a form on a live event — rename and/or replace its questions. Pass questions with their ids (from list_forms) to keep responses mapped. Requires event_id + form_id; you must be a host.

Input parameters:

- `event_id` (string, required)
- `form_id` (string, required)
- `name` (string)
- `questions` (array)

### `set_form_active` (~73 tokens)

Set Form Active

Activate or deactivate a form on a live event (activating makes it the event's live form, deactivating any other). Requires event_id + form_id + active; you must be a host.

Input parameters:

- `active` (boolean, required)
- `event_id` (string, required)
- `form_id` (string, required)

### `list_forms` (~51 tokens)

List Forms

List the forms on a live event — name, status, response count, and every question (with ids). Requires event_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)

### `list_form_responses` (~62 tokens)

List Form Responses

Read the responses submitted to a form — each submission's answers and when it arrived, newest first. Requires event_id + form_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)
- `form_id` (string, required)

### `export_form_responses_csv` (~74 tokens)

Export Form Responses CSV

Export a form's submitted responses as a downloadable CSV — one row per submission, one column per question, plus Submitted At — and return a download link. Requires event_id + form_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)
- `form_id` (string, required)

### `get_event_revenue` (~82 tokens)

Get Event Revenue

Get a live event's revenue — net actually paid (cents), tickets sold, per-tier breakdown, an unattributed bucket, and each affiliate's reported revenue/commission (the same 'Earned' figure the Revenue & Payouts page shows). Requires event_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)

### `list_ticket_sales` (~73 tokens)

List Ticket Sales

List the paid ticket sales on a live event — buyer name/email, tier, amount paid (cents), discount, promo code, date (newest first). Skips free/guest-list and cancelled tickets. Requires event_id; you must be a host. Read-only.

Input parameters:

- `event_id` (string, required)

### `create_community` (~104 tokens)

Create Community

Create a community you own — name, description, category, privacy (open/private), tags, icon/cover. Counts against your community plan cap. Requires a connected account.

Input parameters:

- `category` (string, required)
- `cover_image_url` (string)
- `description` (string, required)
- `icon_url` (string)
- `name` (string, required)
- `privacy` (string, required)
- `short_description` (string)
- `tags` (array)

### `update_community` (~107 tokens)

Update Community

Edit a community you own — name, description, category, privacy, tags, icon, cover. Requires community_id; you must be its creator.

Input parameters:

- `category` (string)
- `community_id` (string, required)
- `cover_image_url` (string)
- `description` (string)
- `icon_url` (string)
- `name` (string)
- `privacy` (string)
- `short_description` (string)
- `tags` (array)

### `list_my_communities` (~53 tokens)

List My Communities

List the communities you belong to — name, icon, your role, status. owned_only true for just the ones you created. Requires a connected account. Read-only.

Input parameters:

- `owned_only` (boolean)

### `list_community_members` (~65 tokens)

List Community Members

List the active members of a community you run — name, role (creator/admin/member), join date. Optional role filter. Requires community_id; you must be its creator or admin. Read-only.

Input parameters:

- `community_id` (string, required)
- `role` (string)

### `list_join_requests` (~61 tokens)

List Join Requests

List the pending requests to join a community you run — who asked and when. Approve/reject with approve_join_request / reject_join_request. Requires community_id; you must be its creator or admin. Read-only.

Input parameters:

- `community_id` (string, required)

### `approve_join_request` (~58 tokens)

Approve Join Request

Approve a pending request to join a community you run (adds them as a member). Requires community_id + user_id; you must be its creator or admin.

Input parameters:

- `community_id` (string, required)
- `user_id` (string, required)

### `reject_join_request` (~51 tokens)

Reject Join Request

Reject a pending request to join a community you run. Requires community_id + user_id; you must be its creator or admin.

Input parameters:

- `community_id` (string, required)
- `user_id` (string, required)

### `remove_community_member` (~62 tokens)

Remove Community Member

Remove a member from a community you run (tears down their membership). The creator cannot be removed. Requires community_id + user_id; you must be its creator or admin.

Input parameters:

- `community_id` (string, required)
- `user_id` (string, required)

### `reject_community_event` (~129 tokens)

Reject Community Event

Reject an event's request to be listed in a community you run (optional reason). Denies any Space booking request riding it — optionally suggest up to 5 alternative slots, each vetted against confirmed bookings (taken/invalid ones dropped + reported, never suggested). Restores the host's own payout if your community was the payout destination (unless tickets already sold). Requires community_id + event_id; you must be its creator/admin/moderator.

Input parameters:

- `alternatives` (array)
- `community_id` (string, required)
- `event_id` (string, required)
- `reason` (string)

### `list_pending_community_events` (~108 tokens)

List Pending Community Events

List events awaiting approval in a community you run — who submitted, when, whether they asked for your community payout, and any requested venue Space slot with its conflicts (hard = confirmed overlap, approval will fail; soft = competing pending request, first approval wins). Approve with approve_community_event — except payout-routing submissions, which are reviewed in the studio (link returned); decline with reject_community_event. Requires community_id. Read-only.

Input parameters:

- `community_id` (string, required)

### `list_community_activity` (~144 tokens)

List Community Activity

Trace the consequential decisions in a community you run — the approval audit log, newest-first. Each entry names WHO acted, WHEN, to WHICH event, and — for approvals — at WHAT deal terms (producer%/community%, or 'distribution only'), plus any Space confirmed; rejects carry the reason; Space assign/reassign/unassign carry the Space + slot. Paginated (limit≤100, cursor) and filterable (action, event_id). Requires community_id. Read-only.

Input parameters:

- `action` (string)
- `community_id` (string, required)
- `cursor` (string)
- `event_id` (string)
- `limit` (integer)

### `approve_community_event` (~108 tokens)

Approve Community Event

Approve a pending event submission in a community you run — listing, pre-consented deal terms, and any venue Space booking confirm in ONE atomic action. REFUSES payout-routing submissions (money approvals happen in the studio — link provided). A slot taken meanwhile aborts the whole approval with the conflict named. Requires community_id + event_id; creator/admin/moderator.

Input parameters:

- `assign_space` (object)
- `community_id` (string, required)
- `event_id` (string, required)

### `list_spaces` (~105 tokens)

List Spaces

List a community's bookable venue Spaces (rooms/floors) — name, Location (the named place grouping Spaces, when used), floor, capacity, status, weekly hours, per-booking hour cap, photo count. Sorted Location → floor → name. For members, active-deal partners, or anyone in an open community. Optional include_archived. Requires community_id. Read-only.

Input parameters:

- `community_id` (string, required)
- `include_archived` (boolean)

### `add_space` (~159 tokens)

Add Space

Add a bookable venue Space (room/floor) to a community you run — name, optional location_name (the Location grouping Spaces: campus building, city site, festival zone; skip for a single place), floor, capacity, photos, house rules, weekly hours (soft policy), building address (stamped onto events at booking confirm), per-booking hour cap. Admin-only. Requires community_id + name.

Input parameters:

- `address`
- `capacity`
- `community_id` (string, required)
- `description`
- `floor`
- `hours`
- `location_name`
- `max_booking_hours` (integer)
- `name` (string, required)
- `photos` (array)
- `rules`

### `update_space` (~149 tokens)

Update Space

Edit a venue Space's fields (name, location_name, floor, capacity, photos, rules, hours, address, hour cap, timezone; null clears). Renames fan out to future bookings automatically; status changes go through set_space_status. Admin-only. Requires community_id + space_id.

Input parameters:

- `address`
- `capacity`
- `community_id` (string, required)
- `description`
- `floor`
- `hours`
- `location_name`
- `max_booking_hours` (integer)
- `name` (string)
- `photos` (array)
- `rules`
- `space_id` (string, required)
- `timezone` (string)

### `set_space_status` (~79 tokens)

Set Space Status

Archive or re-activate a venue Space. Archiving hides it from pickers and fails future booking confirms closed; existing confirmed bookings are honored, but pending requests will strand. Admin-only. Requires community_id + space_id + status.

Input parameters:

- `community_id` (string, required)
- `space_id` (string, required)
- `status` (string, required)

### `check_space_availability` (~106 tokens)

Check Space Availability

Check whether a venue Space is free for a specific slot: available (no confirmed overlap), every overlapping booking labeled hard (taken) or soft (pending request — first approval wins), and a soft listed-hours verdict, with local-time ranges. Requires community_id + space_id + ISO start_time/end_time. Read-only.

Input parameters:

- `community_id` (string, required)
- `end_time` (string, required)
- `space_id` (string, required)
- `start_time` (string, required)

### `find_open_slots` (~157 tokens)

Find Open Slots

Find open bookable gaps across a community's venue Spaces for a duration (minutes) within a date range (max 31 days) — clears confirmed bookings AND each Space's listed hours. Optional space_id, location_name (narrow to one Location), min_capacity, limit. Truthfully bounded: truncation flags mean UNKNOWN beyond the page. Requires community_id + duration_minutes + date_from + date_to. Read-only.

Input parameters:

- `community_id` (string, required)
- `date_from` (string, required)
- `date_to` (string, required)
- `duration_minutes` (integer, required)
- `limit` (integer)
- `location_name` (string)
- `min_capacity` (integer)
- `space_id` (string)

### `submit_event_to_community` (~117 tokens)

Submit Event To Community

Submit an event you host to a community's calendar, optionally requesting a venue Space slot in the same motion (booking: space_id + ISO times — find one via find_open_slots). Consents to the community's standing deal terms for you; booking-carrying submissions await approval unless you manage the community. Member or active-deal partner. Requires event_id + community_id.

Input parameters:

- `booking` (object)
- `community_id` (string, required)
- `event_id` (string, required)
- `visibility` (string)

### `release_booking` (~88 tokens)

Release Booking

Release a venue booking — frees the Space's slot. Community creator/admin/moderator releases any booking; the booking's own host withdraws their slot (listing kept). Terminal; a re-request is a new booking. Optional reason recorded for audit. Requires community_id + booking_id.

Input parameters:

- `booking_id` (string, required)
- `community_id` (string, required)
- `reason` (string)

### `assign_event_to_space` (~172 tokens)

Assign Event To Space

As a community you run, ASSIGN an approved event to a venue Space + slot (space_id + ISO start_time/end_time) — confirms the booking on the same conflict lock so it can never double-book. If the event already holds a Space here, REASSIGNS it: the old room is released and the new one claimed in one atomic motion (an overlapping slot in a different room is fine). A slot taken meanwhile aborts with the conflict named; idempotent on the same space+slot. Creator/admin/moderator. Requires community_id + event_id + space_id + times.

Input parameters:

- `community_id` (string, required)
- `end_time` (string, required)
- `event_id` (string, required)
- `space_id` (string, required)
- `start_time` (string, required)

### `unassign_event_from_space` (~101 tokens)

Unassign Event From Space

As a community you run, UNASSIGN an event from its venue Space here — frees the Space's calendar slot (recorded admin_released) and clears the event's venue link; the event keeps its listing and venue text. Idempotent — an event with no active booking here changes nothing. Creator/admin/moderator. Requires community_id + event_id.

Input parameters:

- `community_id` (string, required)
- `event_id` (string, required)

### `list_bookings` (~112 tokens)

List Bookings

List a community's venue bookings — space (with its Location/floor as booked), slot, status, event, host. Optional space_id / day (UTC YYYY-MM-DD, live bookings only) / status filters; ordered by start time; truthfully truncated at 50. Members only. Requires community_id. Read-only.

Input parameters:

- `community_id` (string, required)
- `day` (string)
- `limit` (integer)
- `space_id` (string)
- `status` (string)

### `propose_deal` (~164 tokens)

Propose Deal

Record agreed ticket-split terms as a deal proposal (the receipt of an agreement already reached). community_standing: community_id + producer_id + both legs' % terms. event_coproduction: event_id + party_ids + producer/venue/sponsor % legs (the organizer must be a party). The other side confirms with accept_deal. Recording auto-accepts YOUR side of the terms (one counterparty confirm then activates a 2-party deal), so this is consent to a revenue split — hence the one-tap confirm.

Input parameters:

- `community_id` (string)
- `event_id` (string)
- `kind` (string, required)
- `party_ids` (array)
- `producer_id` (string)
- `terms` (object, required)

### `accept_deal` (~72 tokens)

Accept Deal

Confirm a recorded deal's pending terms as a party (or community admin). Activates on unanimity — an ACTIVE deal auto-stamps its ticket split when the event attaches (deal = pre-approval), so this is the money-consequential confirm. Requires deal_id.

Input parameters:

- `deal_id` (string, required)

### `decline_deal` (~59 tokens)

Decline Deal

Decline a deal's pending terms (optional reason). First-proposal declines close the thread; renegotiation declines keep the deal active on current terms. Requires deal_id.

Input parameters:

- `deal_id` (string, required)
- `reason` (string)

### `end_deal` (~57 tokens)

End Deal

End an ACTIVE deal prospectively — sold tickets keep their stamped terms, attached events are untouched, only NEW attachments stop. Terminal for the thread. Requires deal_id.

Input parameters:

- `deal_id` (string, required)
- `reason` (string)

### `list_deals` (~69 tokens)

List Deals

List your ticket-split deals with an awaiting_your_confirmation flag, or ALL of a community's deals via community_id (admin-only). Optional event_id/status filters. Read-only.

Input parameters:

- `community_id` (string)
- `event_id` (string)
- `status` (string)

### `set_role_deal_defaults` (~88 tokens)

Set Role Deal Defaults

Set a community's standing ticket-split offer per member role (e.g. staff events run 70/30; "__member__" = the member's leg). Becomes a real deal only when a member confirms the shown terms at event submission. Admin-only. Requires community_id + by_role.

Input parameters:

- `by_role` (object, required)
- `community_id` (string, required)

### `grant_member_setup` (~98 tokens)

Grant Member Setup

Set a member's producer setup in a community you run: submit permission, optionally with split terms (they keep 70% / community 30%). Activates immediately — community-set, the member sees it but doesn't confirm. Omit terms = permission-only. Members only (partners use propose_deal). Requires community_id + member_uid.

Input parameters:

- `community_id` (string, required)
- `member_uid` (string, required)
- `terms`

### `update_member_setup` (~56 tokens)

Update Member Setup

Edit a member setup's split terms (terms: null = permission-only). Prospective — future attaches use the new terms, attached events keep theirs. Requires deal_id.

Input parameters:

- `deal_id` (string, required)
- `terms` (required)

### `set_event_split_exception` (~104 tokens)

Set Event Split Exception

Adjust the split for ONE event only (setup 80/20, this event 90/10). Re-stamps the attached event immediately; sold tickets keep their terms; the standing setup is untouched; expires with the event. Community-set setups only. Requires community_id + member_uid + event_id + terms.

Input parameters:

- `community_id` (string, required)
- `event_id` (string, required)
- `member_uid` (string, required)
- `terms` (object, required)

### `remove_member_setup` (~57 tokens)

Remove Member Setup

End a member's producer setup in one tap (prospective — sold tickets and attached events keep their terms; its event exceptions end with it). Requires deal_id.

Input parameters:

- `deal_id` (string, required)
- `reason` (string)

### `create_partner_profile` (~79 tokens)

Create Partner Profile

Create a partner profile — a named terms-group ('Resident DJs · keep 75%'). Members added or invited into it get its split terms automatically. Needs the community's Stripe connected. Requires community_id + name + terms.member_share_pct.

Input parameters:

- `community_id` (string, required)
- `name` (string, required)
- `terms` (object, required)

### `update_partner_profile` (~69 tokens)

Update Partner Profile

Rename a partner profile or set new terms — new terms roll to ALL members' future events (past sales unchanged). Requires community_id + profile_id.

Input parameters:

- `community_id` (string, required)
- `name` (string)
- `profile_id` (string, required)
- `terms` (object)

### `archive_partner_profile` (~47 tokens)

Archive Partner Profile

Archive a partner profile — ends every member's terms prospectively. Terminal. Requires community_id + profile_id.

Input parameters:

- `community_id` (string, required)
- `profile_id` (string, required)

### `add_profile_member` (~86 tokens)

Add Profile Member

Add a community member to a partner profile — its split terms apply to them immediately (community-set, no confirmation step). Refuses over existing terms unless replace_existing: true. Requires community_id + profile_id + member_uid.

Input parameters:

- `community_id` (string, required)
- `member_uid` (string, required)
- `profile_id` (string, required)
- `replace_existing` (boolean)

### `remove_profile_member` (~57 tokens)

Remove Profile Member

Remove a member from a partner profile — ends their terms prospectively. Requires community_id + profile_id + member_uid.

Input parameters:

- `community_id` (string, required)
- `member_uid` (string, required)
- `profile_id` (string, required)

### `list_partner_profiles` (~39 tokens)

List Partner Profiles

List a community's partner profiles with terms and member counts (admin-only). Requires community_id. Read-only.

Input parameters:

- `community_id` (string, required)

### `list_my_network` (~59 tokens)

List My Network

List the people in your network — everyone who has attended your events, with how many events each attended and when last seen (most frequent first). Optional name/username search. Requires a connected account. Read-only.

Input parameters:

- `search` (string)

### `list_shared_events` (~54 tokens)

List Shared Events

List events shared with you — where you're added as staff (producer/manager/guest-list/door) or as an affiliate/promoter — with each event's name and your role. Requires a connected account. Read-only.

### `get_account_status` (~68 tokens)

Get Account Status

Get your account status — plan + subscription, Stripe connected + payouts/charges enabled (can you get paid out), weekly-invite add-on, and your plan caps (staff, promo codes, affiliates, tiers, communities, form questions, weekly invites). Requires a connected account. Read-only.

### `connect_stripe` (~58 tokens)

Connect Stripe

Get a Stripe Connect onboarding link the host opens to connect their account and enable payouts for ticket sales. Creates their Stripe account and returns the onboarding URL. Check get_account_status first. Requires a connected account.

Input parameters:

- `return_path` (string)

### `list_custom_domains` (~47 tokens)

List Custom Domains

List your custom email-sending domains — domain, verification status, verified-at, DNS record count. Shows whether you can send from your own domain. Requires a connected account. Read-only.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/socialloopai-socialloop-mcp/socialloop#diagnostics

## Score history

- 2026-08-03: 64
- 2026-08-02: 64
- 2026-08-01: 40
- 2026-07-31: 63
- 2026-07-30: 60
- 2026-07-29: 59
- 2026-07-28: 59
- 2026-07-27: 58
- 2026-07-26: 57

## Links

- Remote endpoint: https://socialloop.ai/mcp
- Repository: https://github.com/socialloopai/socialloop-mcp
- Website: https://socialloop.ai/docs/mcp
- Changelog RSS feed: https://verifymcp.io/servers/socialloopai-socialloop-mcp/socialloop/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/socialloopai-socialloop-mcp/socialloop/changelog.json
- HTML version of this page: https://verifymcp.io/servers/socialloopai-socialloop-mcp/socialloop
