Sendbird MCP by usefulapi
Server Details
MCP server for Sendbird — chat users, channels, members, and messages from your AI client.
- Status
- Healthy
- Uptime
- 66.8% over 54 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 14 tools
Each tool maps to a distinct resource-action pair (users, group/open channels, members, messages), and the get/list/create/update/send verbs keep boundaries clear. The raw GET escape hatch is explicitly limited to unwrapped paths, so it does not create meaningful overlap.
All tools follow the predictable sendbird_<verb>_<resource> snake_case pattern, with consistent verbs like create, get, list, update, and send. The generic sendbird_request is a deliberate exception rather than a naming inconsistency.
14 tools is within the ideal range and each tool covers a coherent piece of Sendbird's chat platform: users, channels, members, messages, and a raw GET fallback. There are no redundant or filler tools.
The set covers common read/list flows and some mutations, but lifecycle coverage has notable gaps: group channels can be created and read but not updated/deleted, messages can be sent and listed but not updated/deleted, and users have no delete operation. The raw GET tool is read-only and cannot compensate for these missing write operations.
Available Tools
14 toolssendbird_create_group_channelCreate a group channelDestructiveInspect
MUTATES Sendbird data: creates a group channel with the given members. Platform API: POST /group_channels.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Additional structured data as a string (often JSON). | |
| name | No | Channel name. | |
| user_ids | Yes | User ids to add as members of the new channel. | |
| cover_url | No | Channel cover image URL. | |
| is_public | No | If true, the channel is public (joinable without invitation). | |
| channel_url | No | Custom channel URL; auto-generated if omitted. | |
| custom_type | No | Custom type tag for the channel. | |
| is_distinct | No | If true, reuse an existing channel with the same members instead of creating a duplicate. |
sendbird_create_userCreate a userDestructiveInspect
MUTATES Sendbird data: creates a new user. Platform API: POST /users.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | Unique user id to create. | |
| metadata | No | Arbitrary key/value metadata object stored on the user. | |
| nickname | No | Display nickname. | |
| profile_url | No | Profile image URL (may be empty). | |
| issue_access_token | No | If true, issues an access token for the user in the response. |
sendbird_get_group_channelGet a group channelRead-onlyInspect
Fetch a single group channel by URL, optionally with members and receipts. Platform API: GET /group_channels/{channel_url}.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_url | Yes | Group channel URL (percent-encoded automatically). | |
| show_member | No | Include the member list. | |
| show_read_receipt | No | Include per-member read receipts. | |
| show_delivery_receipt | No | Include per-member delivery receipts. |
sendbird_get_open_channelGet an open channelRead-onlyInspect
Fetch a single open channel by URL. Platform API: GET /open_channels/{channel_url}.
| Name | Required | Description | Default |
|---|---|---|---|
| channel_url | Yes | Open channel URL (percent-encoded automatically). | |
| participants_count | No | Include the current participant count. |
sendbird_get_userGet a userRead-onlyInspect
Fetch a single user by user_id. Platform API: GET /users/{user_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | Target user id (percent-encoded automatically). | |
| super_mode | No | Scope unread count by Supergroup vs. group channels. | |
| custom_types | No | Comma-separated channel custom types to scope the unread count. | |
| include_unread_count | No | Include the user's total unread message count. |
sendbird_list_group_channel_membersList group channel membersRead-onlyInspect
List the members of a group channel. Platform API: GET /group_channels/{channel_url}/members. Returns { members[], next }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-100. Default 10. | |
| order | No | Sort order of members. | |
| token | No | Pagination token from a previous response's `next`. | |
| channel_url | Yes | Group channel URL (percent-encoded automatically). | |
| operator_filter | No | Filter by operator status. Default all. | |
| show_read_receipt | No | Include each member's read receipt. | |
| member_state_filter | No | Filter by invitation/join state (e.g. joined, invited, invited_by_friend). | |
| show_delivery_receipt | No | Include each member's delivery receipt. |
sendbird_list_group_channelsList group channelsRead-onlyInspect
List group channels in the application, with rich filtering (name, members, distinct/public/super mode). Platform API: GET /group_channels. Returns { channels[], next }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-100. Default 10. | |
| order | No | Sort order. Default chronological. | |
| token | No | Pagination token from a previous response's `next`. | |
| super_mode | No | Filter by Supergroup vs. group. Default all. | |
| public_mode | No | Filter by public/private. Default all. | |
| show_frozen | No | Include frozen channels. Default true. | |
| show_member | No | Include the member list in each channel. | |
| custom_types | No | Comma-separated channel custom types to filter on. | |
| distinct_mode | No | Filter by distinct flag. Default all. | |
| name_contains | No | Substring match on channel name. | |
| members_include_in | No | Comma-separated user ids; returns channels including any of them. |
sendbird_list_group_channels_by_userList a user's group channelsRead-onlyInspect
List the group channels a given user belongs to. Platform API: GET /users/{user_id}/my_group_channels. Returns { channels[], next }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-100. Default 10. | |
| order | No | Sort order. Default chronological. | |
| token | No | Pagination token from a previous response's `next`. | |
| user_id | Yes | Target user id (percent-encoded automatically). | |
| hidden_mode | No | Filter by hidden state (e.g. unhidden_only, hidden_only, all). | |
| public_mode | No | Filter by public/private. Default all. | |
| show_member | No | Include the member list in each channel. | |
| custom_types | No | Comma-separated channel custom types to filter on. | |
| distinct_mode | No | Filter by distinct flag. Default all. |
sendbird_list_messagesList messagesRead-onlyInspect
List messages in a channel, anchored at a timestamp or message id. Provide EITHER message_ts (unix ms) OR message_id. Platform API: GET /{channel_type}/{channel_url}/messages. Returns { messages[] }.
| Name | Required | Description | Default |
|---|---|---|---|
| include | No | Include the anchor message itself. | |
| reverse | No | Return in reverse chronological order. | |
| user_ids | No | Comma-separated sender user ids to filter on. | |
| message_id | No | Anchor message id. Provide this OR message_ts. | |
| message_ts | No | Anchor timestamp in unix milliseconds. Provide this OR message_id. | |
| next_limit | No | Number of messages after the anchor, 0-200. | |
| prev_limit | No | Number of messages before the anchor, 0-200. | |
| channel_url | Yes | Channel URL (percent-encoded automatically). | |
| channel_type | Yes | Channel type: group_channels (member-based) or open_channels (public, participant-based). | |
| custom_types | No | Comma-separated message custom types to filter on. | |
| message_type | No | Filter by message type: MESG (text), FILE, or ADMM (admin). |
sendbird_list_open_channelsList open channelsRead-onlyInspect
List open (public, participant-based) channels. Platform API: GET /open_channels. Returns { channels[], next }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-100. Default 10. | |
| token | No | Pagination token from a previous response's `next`. | |
| custom_types | No | Comma-separated channel custom types to filter on. | |
| url_contains | No | Substring match on channel URL. | |
| name_contains | No | Substring match on channel name. |
sendbird_list_usersList usersRead-onlyInspect
List the users in the application. Supports filtering by activity, nickname, ids, and metadata. Platform API: GET /users. Returns { users[], next }.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size, 1-100. Default 10. | |
| token | No | Pagination token from a previous response's `next`. | |
| nickname | No | Exact nickname match. | |
| show_bot | No | Include bot users. Default true. | |
| user_ids | No | Comma-separated user ids to fetch specific users. | |
| active_mode | No | Filter by activation state. Default activated. | |
| metadatakey | No | Metadata key to filter on (pair with metadatavalues_in). | |
| metadatavalues_in | No | Comma-separated metadata values matching metadatakey. | |
| nickname_startswith | No | Prefix match on nickname. |
sendbird_requestRaw GET requestRead-onlyInspect
Power-user escape hatch: issue a raw GET to any Chat Platform API v3 path not wrapped by a dedicated tool (e.g. /group_channels/{url}/messages/{id}, /report, /applications/settings_global). READ-ONLY — GET only. Platform API: GET {path}.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | API path beginning with "/", relative to the /v3 base (e.g. "/users/alex%40x.com/blocked_users"). | |
| params | No | Optional JSON object (as a string) of query params, e.g. '{"limit":50}'. |
sendbird_send_messageSend a messageDestructiveInspect
MUTATES Sendbird data: sends a message into a channel as a user (MESG) or as an admin (ADMM). File/multipart messages are not supported. Platform API: POST /{channel_type}/{channel_url}/messages.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Additional structured data as a string (often JSON). | |
| message | Yes | The message text. | |
| user_id | No | Sender user id. REQUIRED when message_type is MESG. | |
| is_silent | No | If true, does not update channel's last message / unread counts. | |
| send_push | No | Whether to send push notifications. Default true. | |
| channel_url | Yes | Channel URL (percent-encoded automatically). | |
| custom_type | No | Custom type tag for the message. | |
| channel_type | Yes | Channel type: group_channels (member-based) or open_channels (public, participant-based). | |
| mention_type | No | Mention scope: specific users or the whole channel. | |
| message_type | No | MESG (user text, default) or ADMM (admin message, no sender). | |
| mentioned_user_ids | No | User ids to mention (when mention_type=users). |
sendbird_update_userUpdate a userDestructiveInspect
MUTATES Sendbird data: partially updates a user's profile. Only provided fields change. Platform API: PUT /users/{user_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | Target user id (percent-encoded automatically). | |
| nickname | No | New display nickname. | |
| profile_url | No | New profile image URL. | |
| issue_access_token | No | If true, issues a new access token for the user. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
14 tool updates
- Changed
sendbird_create_group_channel1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sendbird_create_user1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sendbird_get_group_channel1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sendbird_get_open_channel1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sendbird_get_user1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sendbird_list_group_channel_members1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sendbird_list_group_channels1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sendbird_list_group_channels_by_user1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sendbird_list_messages1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sendbird_list_open_channels1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sendbird_list_users1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sendbird_request1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sendbird_send_message1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
sendbird_update_user1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
14 tool updates
- First observed
sendbird_create_group_channel - First observed
sendbird_create_user - First observed
sendbird_get_group_channel - First observed
sendbird_get_open_channel - First observed
sendbird_get_user - First observed
sendbird_list_group_channel_members - First observed
sendbird_list_group_channels - First observed
sendbird_list_group_channels_by_user - First observed
sendbird_list_messages - First observed
sendbird_list_open_channels - First observed
sendbird_list_users - First observed
sendbird_request - First observed
sendbird_send_message - First observed
sendbird_update_user
Related MCP Connectors
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
MCP server for Sentry - error monitoring, issue tracking, and debugging for AI assistants
Remote MCP server for supportsheep: run AI interviews and manage support content for your blog.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for Sendbird chat infrastructure, enabling AI agents to provision users, create channels, fetch history, send admin messages, and moderate users via 5 tools.MIT
- AlicenseAqualityAmaintenanceAn MCP server that enables AI agents to send realtime messages, query channels, and manage users through Pusher Channels.747 npm3MIT

Chamade MCP Serverofficial
AlicenseNot gradedqualityDmaintenanceMCP server for Chamade — a voice and chat gateway that lets your AI agent join meetings and DMs on Discord, Microsoft Teams, Google Meet, Telegram, SIP, Zoom, Nextcloud Talk, Slack, and WhatsApp.92 npmMIT- AlicenseAqualityDmaintenanceMCP server for Sendook - an AI email communication platform. Enables AI agents to send and receive emails, manage inboxes, threads, and webhooks programmatically.16MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.