naftiko: 1.0.0-alpha2 info: label: Sendbird Community Chat description: Workflow capability for building and managing community chat experiences with Sendbird — covering channel management, user onboarding, message delivery, and community moderation for marketplaces, communities, and social platforms. tags: - Sendbird - Community - Chat - Moderation - Social created: '2026-05-02' modified: '2026-05-06' binds: - namespace: env keys: SENDBIRD_API_TOKEN: SENDBIRD_API_TOKEN SENDBIRD_APP_ID: SENDBIRD_APP_ID capability: consumes: - type: http namespace: sendbird-platform baseUri: https://api-{{SENDBIRD_APP_ID}}.sendbird.com/v3 description: Sendbird Platform API for managing in-app chat. authentication: type: apikey key: Api-Token value: '{{SENDBIRD_API_TOKEN}}' placement: header resources: - name: users path: /users description: Manage Sendbird users. operations: - name: list-users method: GET description: List users in the Sendbird application. inputParameters: - name: limit in: query type: integer required: false description: Maximum number of users to return. - name: token in: query type: string required: false description: Pagination token. - name: nickname in: query type: string required: false description: Filter by nickname. - name: active_mode in: query type: string required: false description: Filter by activation status. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-user method: POST description: Create a new user. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: user_id: '{{tools.user_id}}' nickname: '{{tools.nickname}}' profile_url: '{{tools.profile_url}}' - name: user path: /users/{user_id} description: Manage a specific user. operations: - name: get-user method: GET description: Get a specific user. inputParameters: - name: user_id in: path type: string required: true description: Unique identifier of the user. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: update-user method: PUT description: Update a user's information. inputParameters: - name: user_id in: path type: string required: true description: Unique identifier of the user. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: nickname: '{{tools.nickname}}' profile_url: '{{tools.profile_url}}' - name: delete-user method: DELETE description: Delete a user. inputParameters: - name: user_id in: path type: string required: true description: Unique identifier of the user. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: group-channels path: /group_channels description: Manage group channels. operations: - name: list-group-channels method: GET description: List group channels. inputParameters: - name: limit in: query type: integer required: false description: Maximum number of channels to return. - name: token in: query type: string required: false description: Pagination token. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-group-channel method: POST description: Create a new group channel. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: user_ids: '{{tools.user_ids}}' name: '{{tools.name}}' is_distinct: '{{tools.is_distinct}}' - name: messages path: /group_channels/{channel_url}/messages description: Manage channel messages. operations: - name: list-messages method: GET description: List messages in a channel. inputParameters: - name: channel_url in: path type: string required: true description: URL of the channel. - name: message_ts in: query type: integer required: false description: Timestamp to fetch messages around. - name: prev_limit in: query type: integer required: false description: Messages before the timestamp. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: send-message method: POST description: Send a message to a channel. inputParameters: - name: channel_url in: path type: string required: true description: URL of the channel. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: message_type: '{{tools.message_type}}' user_id: '{{tools.user_id}}' message: '{{tools.message}}' - name: ban-user path: /users/{user_id}/ban description: Ban a user from a channel. operations: - name: ban-user method: POST description: Ban a user from a specific channel. inputParameters: - name: user_id in: path type: string required: true description: Unique identifier of the user. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: channel_url: '{{tools.channel_url}}' seconds: '{{tools.seconds}}' description: '{{tools.description}}' - name: mute-user path: /users/{user_id}/mute description: Mute a user in a channel. operations: - name: mute-user method: POST description: Mute a user in a specific channel. inputParameters: - name: user_id in: path type: string required: true description: Unique identifier of the user. outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: channel_url: '{{tools.channel_url}}' seconds: '{{tools.seconds}}' exposes: - type: rest port: 8081 namespace: sendbird-community-api description: Unified REST API for Sendbird community chat management. resources: - path: /v1/members name: members description: Manage community members. operations: - method: GET name: list-members description: List community members. call: sendbird-platform.list-users outputParameters: - type: object mapping: $. - method: POST name: register-member description: Register a new community member. call: sendbird-platform.create-user outputParameters: - type: object mapping: $. - path: /v1/rooms name: rooms description: Manage community chat rooms. operations: - method: GET name: list-rooms description: List chat rooms. call: sendbird-platform.list-group-channels outputParameters: - type: object mapping: $. - method: POST name: create-room description: Create a new chat room. call: sendbird-platform.create-group-channel outputParameters: - type: object mapping: $. - path: /v1/rooms/{channel_url}/messages name: room-messages description: Manage messages in a chat room. operations: - method: GET name: list-room-messages description: List messages in a room. call: sendbird-platform.list-messages with: channel_url: rest.channel_url outputParameters: - type: object mapping: $. - method: POST name: post-message description: Post a message to a room. call: sendbird-platform.send-message with: channel_url: rest.channel_url outputParameters: - type: object mapping: $. - type: mcp port: 9091 namespace: sendbird-community-mcp transport: http description: MCP server for AI-assisted Sendbird community management. tools: - name: list-community-members description: List members of the Sendbird community. hints: readOnly: true openWorld: true call: sendbird-platform.list-users outputParameters: - type: object mapping: $. - name: register-member description: Register a new community member in Sendbird. hints: readOnly: false openWorld: false call: sendbird-platform.create-user outputParameters: - type: object mapping: $. - name: get-member-profile description: Get the profile of a community member. hints: readOnly: true openWorld: false call: sendbird-platform.get-user with: user_id: tools.user_id outputParameters: - type: object mapping: $. - name: list-chat-rooms description: List all community chat rooms and channels. hints: readOnly: true openWorld: true call: sendbird-platform.list-group-channels outputParameters: - type: object mapping: $. - name: create-chat-room description: Create a new community chat room or group channel. hints: readOnly: false openWorld: false call: sendbird-platform.create-group-channel outputParameters: - type: object mapping: $. - name: list-room-messages description: List messages in a community chat room. hints: readOnly: true openWorld: true call: sendbird-platform.list-messages with: channel_url: tools.channel_url outputParameters: - type: object mapping: $. - name: post-message description: Post a message to a community chat room. hints: readOnly: false openWorld: false call: sendbird-platform.send-message with: channel_url: tools.channel_url outputParameters: - type: object mapping: $. - name: moderate-ban-member description: Ban a member from a community channel for violation of rules. hints: readOnly: false destructive: true idempotent: true call: sendbird-platform.ban-user with: user_id: tools.user_id outputParameters: - type: object mapping: $. - name: moderate-mute-member description: Temporarily mute a community member. hints: readOnly: false destructive: false idempotent: true call: sendbird-platform.mute-user with: user_id: tools.user_id outputParameters: - type: object mapping: $.