# Sendbird — how to use (mcp.ai)

Connect your Sendbird account and use 37 tools for communication straight from your AI agent. Connect with your own API key. Sendbird is a platform that provides chat, voice, and video APIs to help businesses build in-app communication features.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_sendbird?ms=1787293380000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `sendbird_add_members_group_channel`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/sendbird`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/sendbird/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/sendbird/add/members/group/channel` — Tool to add members to a group channel. Use when you need to invite one or more users into an existing group channel.
  - body: { seconds?: integer, user_ids: string[], channel_url: string, hide_existing_messages?: boolean }
- `POST https://api.mcp.ai/api/sendbird/ban/user/from/group/channel` — Tool to ban a user from a group channel. Use when moderating group channels to restrict member access. Execute after confirming channel_url and user_id.
  - body: { seconds?: integer, user_id: string, agent_id?: string, channel_url: string, description?: string }
- `POST https://api.mcp.ai/api/sendbird/create/channel` — Tool to create a new group channel. Use when you need to start a conversation with specific users. Execute after specifying users and optional settings.
  - body: { data?: string, name?: string, strict?: boolean, is_super?: boolean, user_ids?: string[], cover_url?: string, is_public?: boolean, cover_file?: string, access_code?: string, channel_url?: string, custom_type?: string, is_distinct?: boolean, is_ephemeral?: boolean, operator_ids?: string[], custom_fields?: object, is_discoverable?: boolean, is_chat_notification?: boolean, message_survival_seconds?: integer }
- `POST https://api.mcp.ai/api/sendbird/create/user` — Creates a new user in Sendbird. Use this to register user accounts before they can join channels or send messages. The user_id must be unique across the application.
  - body: { user_id: string, metadata?: object, nickname?: string, is_active?: boolean, profile_url?: string, phone_number?: string, profile_file?: string, discovery_keys?: string[], has_ever_logged_in?: boolean, issue_access_token?: boolean, preferred_languages?: string[] }
- `POST https://api.mcp.ai/api/sendbird/delete/channel` — Permanently deletes a Sendbird group channel. Use this tool when you need to remove a group channel and all its associated data (messages, members, etc.). WARNING: This action is irreversible. Require
  - body: { channel_url: string }
- `POST https://api.mcp.ai/api/sendbird/delete/message` — Permanently deletes a specific message from a Sendbird group channel. This action cannot be undone. Use this when you need to remove a message that was sent by mistake or contains inappropriate conten
  - body: { message_id: integer, channel_url: string }
- `POST https://api.mcp.ai/api/sendbird/delete/user` — Tool to delete a Sendbird user. Use when you need to remove a user from your Sendbird application, optionally permanently.
  - body: { user_id: string, hard_delete?: boolean }
- `POST https://api.mcp.ai/api/sendbird/get/count/preference/of/channel` — Tool to retrieve a user's count preference for a specific group channel. Use after confirming the user and channel exist to determine whether to display all, unread-only, or mention-only counts.
  - body: { user_id: string, channel_url: string }
- `POST https://api.mcp.ai/api/sendbird/get/number/of/channels/by/join/status` — Retrieves the number of group channels for a user, categorized by join status (joined, invited, etc.). Use this tool to get channel count statistics for a specific user, optionally filtered by channel
  - body: { user_id: string, super_mode?: string, public_mode?: string, custom_types?: string[], distinct_mode?: string }
- `POST https://api.mcp.ai/api/sendbird/get/number/of/unread/items` — Tool to retrieve a user's unread item counts including unread messages, mentions, and pending invitations across group channels. Use this to display unread counts in the UI for a specific user.
  - body: { user_id: string, item_keys?: string, custom_types?: string }
- `POST https://api.mcp.ai/api/sendbird/issue/session/token` — Issues a session token for authenticating a Sendbird user. Use this tool when you need to: - Generate a new session token for SDK authentication - Refresh an expiring or expired session token - Provid
  - body: { user_id: string, expires_at?: integer }
- `POST https://api.mcp.ai/api/sendbird/leave/group/channels` — Tool to leave group channels for a user. Use when you need to make a user exit one or more joined group channels.
  - body: { user_id: string, custom_type?: string, channel_urls?: string[], should_leave_all?: boolean }
- `POST https://api.mcp.ai/api/sendbird/list/banned/members` — Tool to list banned members in a group channel. Use when you need to see which users are banned from a specific group channel.
  - body: { limit?: integer, token?: string, channel_url: string }
- `POST https://api.mcp.ai/api/sendbird/list/group/channel/messages` — Tool to list (paginate) messages in a group channel when you only know the channel_url. Requires either message_ts (Unix ms timestamp) or message_id as an anchor. Use with SENDBIRD_VIEW_GROUP_CHANNEL 
  - body: { include?: boolean, reverse?: boolean, sender_id?: string, message_id?: integer, message_ts?: integer, next_limit?: integer, prev_limit?: integer, sender_ids?: string, channel_url: string, custom_types?: string, message_type?: string, operator_filter?: string, include_reactions?: boolean, including_removed?: boolean, include_reply_type?: string, include_thread_info?: boolean, include_poll_details?: boolean, with_sorted_meta_array?: boolean, include_parent_message_info?: boolean }
- `POST https://api.mcp.ai/api/sendbird/list/group/channels` — Tool to list group channels. Use when you need to fetch paginated group channels with optional filters.
  - body: { name?: string, limit?: integer, token?: string, show_empty?: boolean, super_mode?: string, public_mode?: string, show_frozen?: boolean, channel_urls?: string[], custom_types?: string[], url_contains?: string, created_after?: integer, distinct_mode?: string, show_metadata?: boolean, created_before?: integer, my_member_state?: string, members_nickname?: string, show_read_receipt?: boolean, members_exactly_in?: string[], members_include_in?: string[], show_delivery_receipt?: boolean, custom_type_startswith?: string }
- `POST https://api.mcp.ai/api/sendbird/list/members/group/channel` — Tool to list members of a group channel. Use when you need to paginate through members of a specified group channel.
  - body: { limit?: integer, order?: string, token?: string, offset?: integer, channel_url: string, operator_filter?: string, member_state_filter?: string, muted_member_filter?: string, nickname_startswith?: string }
- `POST https://api.mcp.ai/api/sendbird/list/operators/custom/channel/type` — Tool to list operators of a channel by custom channel type. Use when you need to fetch operators for a specific custom channel type with pagination.
  - body: { limit?: integer, token?: string, custom_type: string }
- `POST https://api.mcp.ai/api/sendbird/list/operators/group/channel` — Tool to list operators of a group channel. Use after specifying the channel_url when needing to paginate through operators.
  - body: { limit?: integer, token?: string, channel_url: string }
- `POST https://api.mcp.ai/api/sendbird/list/operators/open/channel` — Tool to list operators of an open channel. Use when you have the open channel URL and need to fetch its operators. Supports pagination via token and limit.
  - body: { limit?: integer, token?: string, channel_url: string }
- `POST https://api.mcp.ai/api/sendbird/list/users` — Retrieves a paginated list of users from your Sendbird application. Use this tool to: - Browse all users in your application - Search for users by nickname or user IDs - Filter users by metadata, cust
  - body: { limit?: integer, order?: string, token?: string, nickname?: string, user_ids?: string[], is_active?: boolean, custom_type?: string, metatag_key?: string, metatag_values?: string[], nickname_contains?: string, has_ever_logged_in?: boolean }
- `POST https://api.mcp.ai/api/sendbird/mark/all/user/messages/as/read` — Tool to mark all of a user's messages as read in group channels. Use when resetting unread message counts after a user has viewed all messages.
  - body: { user_id: string }
- `POST https://api.mcp.ai/api/sendbird/mute/user` — Tool to mute a user in a group channel. Use when you need to prevent a user from sending messages for a specified duration.
  - body: { seconds?: integer, user_id: string, channel_url: string, description?: string }
- `POST https://api.mcp.ai/api/sendbird/register/operators/custom/channel/type` — Registers one or more users as operators for all channels with a specified custom channel type. Use this tool when you need to grant operator privileges to users across all channels that share the sam
  - body: { custom_type: string, operator_ids: string[] }
- `POST https://api.mcp.ai/api/sendbird/register/operators/group/channel` — Tool to register one or more users as operators in a Sendbird group channel. Use when elevating permissions of existing channel members.
  - body: { user_ids: string[], channel_url: string }
- `POST https://api.mcp.ai/api/sendbird/register/operators/open/channel` — Tool to register operators to an open channel. Use after creating or updating an open channel when you need to assign operator roles.
  - body: { user_ids: string[], channel_url: string }
- `POST https://api.mcp.ai/api/sendbird/revoke/all/session/tokens` — Tool to revoke all session tokens for a user. Use when you need to invalidate all active sessions for security.
  - body: { user_id: string }
- `POST https://api.mcp.ai/api/sendbird/send/message` — Tool to send a message to a group channel. Use when you need to post a text, file, or admin message to an existing group channel.
  - body: { data?: string, message?: string, poll_id?: integer, user_id?: string, is_silent?: boolean, metaarray?: object[], channel_url: string, custom_type?: string, mention_type?: string, message_type: string, parent_message_id?: integer, mentioned_user_ids?: string[], is_operator_message?: boolean, translation_target_languages?: string[], push_notification_delivery_option?: string }
- `POST https://api.mcp.ai/api/sendbird/unban/user` — Tool to unban a user from a group channel. Use when reinstating a previously banned user. Execute after confirming the user is currently banned.
  - body: { channel_url: string, banned_user_id: string }
- `POST https://api.mcp.ai/api/sendbird/unmute/user` — Tool to unmute a user in a group channel. Use when you want to restore a muted user's ability to send messages after confirming they are muted.
  - body: { channel_url: string, muted_user_id: string }
- `POST https://api.mcp.ai/api/sendbird/unregister/operators/custom/channel/type` — Tool to unregister operators from channels by custom channel type. Use when you need to remove operator roles from users across channels of a specific custom type.
  - body: { user_ids: string[], custom_type: string }
- `POST https://api.mcp.ai/api/sendbird/update/count/preference/of/channel` — Tool to update a user's unread count preference for a specific group channel. Use when you want to include or suppress a channel in the user's unread counts.
  - body: { user_id: string, channel_url: string, count_preference: string }
- `POST https://api.mcp.ai/api/sendbird/update/group/channel` — Tool to update group channel information. Use when you need to modify channel attributes such as name, cover image, privacy settings, or operator list after channel creation.
  - body: { data?: string, name?: string, is_super?: boolean, cover_url?: string, is_public?: boolean, operators?: string[], access_code?: string, channel_url: string, custom_type?: string, is_distinct?: boolean, is_ephemeral?: boolean, my_count_preference?: string }
- `POST https://api.mcp.ai/api/sendbird/update/message` — Tool to update an existing group channel message in Sendbird. Use after you need to modify content or metadata of a sent message.
  - body: { data?: string, content?: string, user_id?: string, dedup_id?: string, is_silent?: boolean, message_id: string, channel_url: string, custom_type?: string, mention_type?: string, message_type?: string, apns_bundle_id?: string, sorted_metaarray?: object[], mentioned_user_ids?: string[], push_notification_delivery_option?: string }
- `POST https://api.mcp.ai/api/sendbird/update/user` — Tool to update a user's information. Use when modifying nickname, profile image URL, activation status, or metadata.
  - body: { user_id: string, metadata?: object, nickname?: string, is_active?: boolean, profile_url?: string, issue_access_token?: boolean, preferred_languages?: string[] }
- `POST https://api.mcp.ai/api/sendbird/view/group/channel` — Tool to view information about a specific group channel. Use when you need channel details after confirming the channel_url.
  - body: { channel_url: string, show_member?: boolean, show_metadata?: boolean, show_read_receipt?: boolean, show_migration_info?: boolean, show_delivery_receipt?: boolean }
- `POST https://api.mcp.ai/api/sendbird/view/message` — Tool to view a specific message in a group channel. Use after confirming channel_url and message_id.
  - body: { message_id: integer, channel_url: string, with_sorted_metaarray?: boolean }
- `POST https://api.mcp.ai/api/sendbird/view/user` — Tool to retrieve information about a specific Sendbird user. Use when you need to fetch detailed user data by their user ID.
  - body: { user_id: string }

## Example prompts
- "What can I do in Sendbird?"
- "Show me a summary of my Sendbird account"

## More
- Page: https://mcp.ai/sendbird
- Agent spec (llms.txt): https://mcp.ai/sendbird/llms.txt
- Postman collection: https://mcp.ai/sendbird/postman.json
