What this MCP does
Manages Sendbird users, group and open channels, members, messages, and channel data.
Tools
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_ids'], 'properties': {'data': {'type': 'string', 'description': 'Additional structured data as a string (often JSON).'}, 'name': {'type': 'string', 'description': 'Channel name.'}, 'user_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'User ids to add as members of the new channel.'}, 'cover_url': {'type': 'string', 'description': 'Channel cover image URL.'}, 'is_public': {'type': 'boolean', 'description': 'If true, the channel is public (joinable without invitation).'}, 'channel_url': {'type': 'string', 'description': 'Custom channel URL; auto-generated if omitted.'}, 'custom_type': {'type': 'string', 'description': 'Custom type tag for the channel.'}, 'is_distinct': {'type': 'boolean', 'description': 'If true, reuse an existing channel with the same members instead of creating a duplicate.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id'], 'properties': {'user_id': {'type': 'string', 'description': 'Unique user id to create.'}, 'metadata': {'type': 'object', 'description': 'Arbitrary key/value metadata object stored on the user.', 'propertyNames': {'type': 'string'}, 'additionalProperties': {}}, 'nickname': {'type': 'string', 'description': 'Display nickname.'}, 'profile_url': {'type': 'string', 'description': 'Profile image URL (may be empty).'}, 'issue_access_token': {'type': 'boolean', 'description': 'If true, issues an access token for the user in the response.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel_url'], 'properties': {'channel_url': {'type': 'string', 'description': 'Group channel URL (percent-encoded automatically).'}, 'show_member': {'type': 'boolean', 'description': 'Include the member list.'}, 'show_read_receipt': {'type': 'boolean', 'description': 'Include per-member read receipts.'}, 'show_delivery_receipt': {'type': 'boolean', 'description': 'Include per-member delivery receipts.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel_url'], 'properties': {'channel_url': {'type': 'string', 'description': 'Open channel URL (percent-encoded automatically).'}, 'participants_count': {'type': 'boolean', 'description': 'Include the current participant count.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id'], 'properties': {'user_id': {'type': 'string', 'description': 'Target user id (percent-encoded automatically).'}, 'super_mode': {'enum': ['all', 'super', 'nonsuper'], 'type': 'string', 'description': 'Scope unread count by Supergroup vs. group channels.'}, 'custom_types': {'type': 'string', 'description': 'Comma-separated channel custom types to scope the unread count.'}, 'include_unread_count': {'type': 'boolean', 'description': "Include the user's total unread message count."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel_url'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100. Default 10.'}, 'order': {'enum': ['member_nickname_alphabetical', 'operator_then_member_alphabetical'], 'type': 'string', 'description': 'Sort order of members.'}, 'token': {'type': 'string', 'description': "Pagination token from a previous response's `next`."}, 'channel_url': {'type': 'string', 'description': 'Group channel URL (percent-encoded automatically).'}, 'operator_filter': {'enum': ['all', 'operator', 'nonoperator'], 'type': 'string', 'description': 'Filter by operator status. Default all.'}, 'show_read_receipt': {'type': 'boolean', 'description': "Include each member's read receipt."}, 'member_state_filter': {'type': 'string', 'description': 'Filter by invitation/join state (e.g. joined, invited, invited_by_friend).'}, 'show_delivery_receipt': {'type': 'boolean', 'description': "Include each member's delivery receipt."}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100. Default 10.'}, 'order': {'enum': ['chronological', 'latest_last_message', 'channel_name_alphabetical', 'metadata_value_alphabetical'], 'type': 'string', 'description': 'Sort order. Default chronological.'}, 'token': {'type': 'string', 'description': "Pagination token from a previous response's `next`."}, 'super_mode': {'enum': ['all', 'super', 'nonsuper'], 'type': 'string', 'description': 'Filter by Supergroup vs. group. Default all.'}, 'public_mode': {'enum': ['all', 'private', 'public'], 'type': 'string', 'description': 'Filter by public/private. Default all.'}, 'show_frozen': {'type': 'boolean', 'description': 'Include frozen channels. Default true.'}, 'show_member': {'type': 'boolean', 'description': 'Include the member list in each channel.'}, 'custom_types': {'type': 'string', 'description': 'Comma-separated channel custom types to filter on.'}, 'distinct_mode': {'enum': ['all', 'distinct', 'nondistinct'], 'type': 'string', 'description': 'Filter by distinct flag. Default all.'}, 'name_contains': {'type': 'string', 'description': 'Substring match on channel name.'}, 'members_include_in': {'type': 'string', 'description': 'Comma-separated user ids; returns channels including any of them.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100. Default 10.'}, 'order': {'enum': ['chronological', 'latest_last_message', 'channel_name_alphabetical', 'metadata_value_alphabetical'], 'type': 'string', 'description': 'Sort order. Default chronological.'}, 'token': {'type': 'string', 'description': "Pagination token from a previous response's `next`."}, 'user_id': {'type': 'string', 'description': 'Target user id (percent-encoded automatically).'}, 'hidden_mode': {'type': 'string', 'description': 'Filter by hidden state (e.g. unhidden_only, hidden_only, all).'}, 'public_mode': {'enum': ['all', 'private', 'public'], 'type': 'string', 'description': 'Filter by public/private. Default all.'}, 'show_member': {'type': 'boolean', 'description': 'Include the member list in each channel.'}, 'custom_types': {'type': 'string', 'description': 'Comma-separated channel custom types to filter on.'}, 'distinct_mode': {'enum': ['all', 'distinct', 'nondistinct'], 'type': 'string', 'description': 'Filter by distinct flag. Default all.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel_type', 'channel_url'], 'properties': {'include': {'type': 'boolean', 'description': 'Include the anchor message itself.'}, 'reverse': {'type': 'boolean', 'description': 'Return in reverse chronological order.'}, 'user_ids': {'type': 'string', 'description': 'Comma-separated sender user ids to filter on.'}, 'message_id': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Anchor message id. Provide this OR message_ts.'}, 'message_ts': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Anchor timestamp in unix milliseconds. Provide this OR message_id.'}, 'next_limit': {'type': 'integer', 'maximum': 200, 'minimum': 0, 'description': 'Number of messages after the anchor, 0-200.'}, 'prev_limit': {'type': 'integer', 'maximum': 200, 'minimum': 0, 'description': 'Number of messages before the anchor, 0-200.'}, 'channel_url': {'type': 'string', 'description': 'Channel URL (percent-encoded automatically).'}, 'channel_type': {'enum': ['group_channels', 'open_channels'], 'type': 'string', 'description': 'Channel type: group_channels (member-based) or open_channels (public, participant-based).'}, 'custom_types': {'type': 'string', 'description': 'Comma-separated message custom types to filter on.'}, 'message_type': {'enum': ['MESG', 'FILE', 'ADMM'], 'type': 'string', 'description': 'Filter by message type: MESG (text), FILE, or ADMM (admin).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100. Default 10.'}, 'token': {'type': 'string', 'description': "Pagination token from a previous response's `next`."}, 'custom_types': {'type': 'string', 'description': 'Comma-separated channel custom types to filter on.'}, 'url_contains': {'type': 'string', 'description': 'Substring match on channel URL.'}, 'name_contains': {'type': 'string', 'description': 'Substring match on channel name.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Page size, 1-100. Default 10.'}, 'token': {'type': 'string', 'description': "Pagination token from a previous response's `next`."}, 'nickname': {'type': 'string', 'description': 'Exact nickname match.'}, 'show_bot': {'type': 'boolean', 'description': 'Include bot users. Default true.'}, 'user_ids': {'type': 'string', 'description': 'Comma-separated user ids to fetch specific users.'}, 'active_mode': {'enum': ['activated', 'deactivated', 'all'], 'type': 'string', 'description': 'Filter by activation state. Default activated.'}, 'metadatakey': {'type': 'string', 'description': 'Metadata key to filter on (pair with metadatavalues_in).'}, 'metadatavalues_in': {'type': 'string', 'description': 'Comma-separated metadata values matching metadatakey.'}, 'nickname_startswith': {'type': 'string', 'description': 'Prefix match on nickname.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['path'], 'properties': {'path': {'type': 'string', 'description': 'API path beginning with "/", relative to the /v3 base (e.g. "/users/alex%40x.com/blocked_users").'}, 'params': {'type': 'string', 'description': 'Optional JSON object (as a string) of query params, e.g. \'{"limit":50}\'.'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['channel_type', 'channel_url', 'message'], 'properties': {'data': {'type': 'string', 'description': 'Additional structured data as a string (often JSON).'}, 'message': {'type': 'string', 'description': 'The message text.'}, 'user_id': {'type': 'string', 'description': 'Sender user id. REQUIRED when message_type is MESG.'}, 'is_silent': {'type': 'boolean', 'description': "If true, does not update channel's last message / unread counts."}, 'send_push': {'type': 'boolean', 'description': 'Whether to send push notifications. Default true.'}, 'channel_url': {'type': 'string', 'description': 'Channel URL (percent-encoded automatically).'}, 'custom_type': {'type': 'string', 'description': 'Custom type tag for the message.'}, 'channel_type': {'enum': ['group_channels', 'open_channels'], 'type': 'string', 'description': 'Channel type: group_channels (member-based) or open_channels (public, participant-based).'}, 'mention_type': {'enum': ['users', 'channel'], 'type': 'string', 'description': 'Mention scope: specific users or the whole channel.'}, 'message_type': {'enum': ['MESG', 'ADMM'], 'type': 'string', 'description': 'MESG (user text, default) or ADMM (admin message, no sender).'}, 'mentioned_user_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'User ids to mention (when mention_type=users).'}}}
Input schema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['user_id'], 'properties': {'user_id': {'type': 'string', 'description': 'Target user id (percent-encoded automatically).'}, 'nickname': {'type': 'string', 'description': 'New display nickname.'}, 'profile_url': {'type': 'string', 'description': 'New profile image URL.'}, 'issue_access_token': {'type': 'boolean', 'description': 'If true, issues a new access token for the user.'}}}
Recent tool changes
Similar MCP servers
neuron
Operates AI chatbots and messaging workflows across WhatsApp and social channels, including contacts, campaigns, conversations, p…
独行录 / opcmenu
Supports founder and company discovery, collaboration goals and tasks, events and signups, networking, messaging, profiles, produ…
mcp-server
Provides social-network functions for posts, comments, direct and group conversations, communities, moderation, collections, and …
FavCRM
Provides CRM operations for customers, leads, deals, bookings, memberships, campaigns, WhatsApp and SMS messaging, invoices, loya…
Local MCP
Connects AI assistants to Mac email, calendars, reminders, notes, tasks, files, Microsoft 365, Todoist, spreadsheets, and daily b…
Courier
Provides notification delivery infrastructure for users, tenants, lists, templates, preferences, journeys, automations, brands, a…
mu
Supports personal and collaborative tasks including web browsing, app creation, blogs, bookmarks, discussions, and contact manage…
commsharbor
Manages permission-based email audiences, contacts, campaigns, transactional sends, billing, consent, and tenant audit trails.