sendbird

MCP server for Sendbird — chat users, channels, members, and messages from your AI client.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
98%
Calidad de los nombres
97%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (2)

  • LOWTool 'sendbird_list_group_channel_members' name length outside 3-30 rangeen sendbird_list_group_channel_members
  • LOWTool 'sendbird_list_group_channels_by_user' name length outside 3-30 rangeen sendbird_list_group_channels_by_user

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~3,341Tokens (definiciones de herramientas)
~2.4 KBTamaño de respuesta típico
Impacto significativo en la atención (2.61% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "sendbird": {
      "url": "https://sendbird.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://sendbird.usefulapi.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (14)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢sendbird_list_users(token, limit, active_mode, show_bot, user_ids, ...)

List the users in the application. Supports filtering by activity, nickname, ids, and metadata. Platform API: GET /users. Returns { users[], next }.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "token": {
      "description": "Pagination token from a previous response's `next`.",
      "type": "string"
    },
    "limit": {
      "description": "Page size, 1-100. Default 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "active_mode": {
      "description": "Filter by activation state. Default activated.",
      "type": "string",
      "enum": [
        "activated",
        "deactivated",
        "all"
      ]
    },
    "show_bot": {
      "description": "Include bot users. Default true.",
      "type": "boolean"
    },
    "user_ids": {
      "description": "Comma-separated user ids to fetch specific users.",
      "type": "string"
    },
    "nickname": {
      "description": "Exact nickname match.",
      "type": "string"
    },
    "nickname_startswith": {
      "description": "Prefix match on nickname.",
      "type": "string"
    },
    "metadatakey": {
      "description": "Metadata key to filter on (pair with metadatavalues_in).",
      "type": "string"
    },
    "metadatavalues_in": {
      "description": "Comma-separated metadata values matching metadatakey.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendbird_get_user(user_id, include_unread_count, custom_types, super_mode)

Fetch a single user by user_id. Platform API: GET /users/{user_id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "Target user id (percent-encoded automatically)."
    },
    "include_unread_count": {
      "description": "Include the user's total unread message count.",
      "type": "boolean"
    },
    "custom_types": {
      "description": "Comma-separated channel custom types to scope the unread count.",
      "type": "string"
    },
    "super_mode": {
      "description": "Scope unread count by Supergroup vs. group channels.",
      "type": "string",
      "enum": [
        "all",
        "super",
        "nonsuper"
      ]
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendbird_list_group_channels(token, limit, show_member, show_frozen, order, ...)

List group channels in the application, with rich filtering (name, members, distinct/public/super mode). Platform API: GET /group_channels. Returns { channels[], next }.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "token": {
      "description": "Pagination token from a previous response's `next`.",
      "type": "string"
    },
    "limit": {
      "description": "Page size, 1-100. Default 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "show_member": {
      "description": "Include the member list in each channel.",
      "type": "boolean"
    },
    "show_frozen": {
      "description": "Include frozen channels. Default true.",
      "type": "boolean"
    },
    "order": {
      "description": "Sort order. Default chronological.",
      "type": "string",
      "enum": [
        "chronological",
        "latest_last_message",
        "channel_name_alphabetical",
        "metadata_value_alphabetical"
      ]
    },
    "custom_types": {
      "description": "Comma-separated channel custom types to filter on.",
      "type": "string"
    },
    "name_contains": {
      "description": "Substring match on channel name.",
      "type": "string"
    },
    "members_include_in": {
      "description": "Comma-separated user ids; returns channels including any of them.",
      "type": "string"
    },
    "distinct_mode": {
      "description": "Filter by distinct flag. Default all.",
      "type": "string",
      "enum": [
        "all",
        "distinct",
        "nondistinct"
      ]
    },
    "public_mode": {
      "description": "Filter by public/private. Default all.",
      "type": "string",
      "enum": [
        "all",
        "private",
        "public"
      ]
    },
    "super_mode": {
      "description": "Filter by Supergroup vs. group. Default all.",
      "type": "string",
      "enum": [
        "all",
        "super",
        "nonsuper"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendbird_get_group_channel(channel_url, show_member, show_read_receipt, show_delivery_receipt)

Fetch a single group channel by URL, optionally with members and receipts. Platform API: GET /group_channels/{channel_url}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "channel_url": {
      "type": "string",
      "description": "Group channel URL (percent-encoded automatically)."
    },
    "show_member": {
      "description": "Include the member list.",
      "type": "boolean"
    },
    "show_read_receipt": {
      "description": "Include per-member read receipts.",
      "type": "boolean"
    },
    "show_delivery_receipt": {
      "description": "Include per-member delivery receipts.",
      "type": "boolean"
    }
  },
  "required": [
    "channel_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendbird_list_group_channel_members(channel_url, token, limit, order, operator_filter, ...)

List the members of a group channel. Platform API: GET /group_channels/{channel_url}/members. Returns { members[], next }.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "channel_url": {
      "type": "string",
      "description": "Group channel URL (percent-encoded automatically)."
    },
    "token": {
      "description": "Pagination token from a previous response's `next`.",
      "type": "string"
    },
    "limit": {
      "description": "Page size, 1-100. Default 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "order": {
      "description": "Sort order of members.",
      "type": "string",
      "enum": [
        "member_nickname_alphabetical",
        "operator_then_member_alphabetical"
      ]
    },
    "operator_filter": {
      "description": "Filter by operator status. Default all.",
      "type": "string",
      "enum": [
        "all",
        "operator",
        "nonoperator"
      ]
    },
    "member_state_filter": {
      "description": "Filter by invitation/join state (e.g. joined, invited, invited_by_friend).",
      "type": "string"
    },
    "show_read_receipt": {
      "description": "Include each member's read receipt.",
      "type": "boolean"
    },
    "show_delivery_receipt": {
      "description": "Include each member's delivery receipt.",
      "type": "boolean"
    }
  },
  "required": [
    "channel_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendbird_list_group_channels_by_user(user_id, token, limit, order, show_member, ...)

List the group channels a given user belongs to. Platform API: GET /users/{user_id}/my_group_channels. Returns { channels[], next }.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "Target user id (percent-encoded automatically)."
    },
    "token": {
      "description": "Pagination token from a previous response's `next`.",
      "type": "string"
    },
    "limit": {
      "description": "Page size, 1-100. Default 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "order": {
      "description": "Sort order. Default chronological.",
      "type": "string",
      "enum": [
        "chronological",
        "latest_last_message",
        "channel_name_alphabetical",
        "metadata_value_alphabetical"
      ]
    },
    "show_member": {
      "description": "Include the member list in each channel.",
      "type": "boolean"
    },
    "custom_types": {
      "description": "Comma-separated channel custom types to filter on.",
      "type": "string"
    },
    "distinct_mode": {
      "description": "Filter by distinct flag. Default all.",
      "type": "string",
      "enum": [
        "all",
        "distinct",
        "nondistinct"
      ]
    },
    "public_mode": {
      "description": "Filter by public/private. Default all.",
      "type": "string",
      "enum": [
        "all",
        "private",
        "public"
      ]
    },
    "hidden_mode": {
      "description": "Filter by hidden state (e.g. unhidden_only, hidden_only, all).",
      "type": "string"
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendbird_list_open_channels(token, limit, custom_types, name_contains, url_contains)

List open (public, participant-based) channels. Platform API: GET /open_channels. Returns { channels[], next }.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "token": {
      "description": "Pagination token from a previous response's `next`.",
      "type": "string"
    },
    "limit": {
      "description": "Page size, 1-100. Default 10.",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "custom_types": {
      "description": "Comma-separated channel custom types to filter on.",
      "type": "string"
    },
    "name_contains": {
      "description": "Substring match on channel name.",
      "type": "string"
    },
    "url_contains": {
      "description": "Substring match on channel URL.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendbird_get_open_channel(channel_url, participants_count)

Fetch a single open channel by URL. Platform API: GET /open_channels/{channel_url}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "channel_url": {
      "type": "string",
      "description": "Open channel URL (percent-encoded automatically)."
    },
    "participants_count": {
      "description": "Include the current participant count.",
      "type": "boolean"
    }
  },
  "required": [
    "channel_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendbird_list_messages(channel_type, channel_url, message_ts, message_id, prev_limit, ...)

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[] }.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "channel_type": {
      "type": "string",
      "enum": [
        "group_channels",
        "open_channels"
      ],
      "description": "Channel type: group_channels (member-based) or open_channels (public, participant-based)."
    },
    "channel_url": {
      "type": "string",
      "description": "Channel URL (percent-encoded automatically)."
    },
    "message_ts": {
      "description": "Anchor timestamp in unix milliseconds. Provide this OR message_id.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "message_id": {
      "description": "Anchor message id. Provide this OR message_ts.",
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "prev_limit": {
      "description": "Number of messages before the anchor, 0-200.",
      "type": "integer",
      "minimum": 0,
      "maximum": 200
    },
    "next_limit": {
      "description": "Number of messages after the anchor, 0-200.",
      "type": "integer",
      "minimum": 0,
      "maximum": 200
    },
    "include": {
      "description": "Include the anchor message itself.",
      "type": "boolean"
    },
    "reverse": {
      "description": "Return in reverse chronological order.",
      "type": "boolean"
    },
    "message_type": {
      "description": "Filter by message type: MESG (text), FILE, or ADMM (admin).",
      "type": "string",
      "enum": [
        "MESG",
        "FILE",
        "ADMM"
      ]
    },
    "user_ids": {
      "description": "Comma-separated sender user ids to filter on.",
      "type": "string"
    },
    "custom_types": {
      "description": "Comma-separated message custom types to filter on.",
      "type": "string"
    }
  },
  "required": [
    "channel_type",
    "channel_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢sendbird_request(path, params)

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}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "path": {
      "type": "string",
      "description": "API path beginning with \"/\", relative to the /v3 base (e.g. \"/users/alex%40x.com/blocked_users\")."
    },
    "params": {
      "description": "Optional JSON object (as a string) of query params, e.g. '{\"limit\":50}'.",
      "type": "string"
    }
  },
  "required": [
    "path"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴sendbird_send_message(channel_type, channel_url, message_type, user_id, message, ...)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "channel_type": {
      "type": "string",
      "enum": [
        "group_channels",
        "open_channels"
      ],
      "description": "Channel type: group_channels (member-based) or open_channels (public, participant-based)."
    },
    "channel_url": {
      "type": "string",
      "description": "Channel URL (percent-encoded automatically)."
    },
    "message_type": {
      "description": "MESG (user text, default) or ADMM (admin message, no sender).",
      "type": "string",
      "enum": [
        "MESG",
        "ADMM"
      ]
    },
    "user_id": {
      "description": "Sender user id. REQUIRED when message_type is MESG.",
      "type": "string"
    },
    "message": {
      "type": "string",
      "description": "The message text."
    },
    "custom_type": {
      "description": "Custom type tag for the message.",
      "type": "string"
    },
    "data": {
      "description": "Additional structured data as a string (often JSON).",
      "type": "string"
    },
    "mention_type": {
      "description": "Mention scope: specific users or the whole channel.",
      "type": "string",
      "enum": [
        "users",
        "channel"
      ]
    },
    "mentioned_user_ids": {
      "description": "User ids to mention (when mention_type=users).",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "is_silent": {
      "description": "If true, does not update channel's last message / unread counts.",
      "type": "boolean"
    },
    "send_push": {
      "description": "Whether to send push notifications. Default true.",
      "type": "boolean"
    }
  },
  "required": [
    "channel_type",
    "channel_url",
    "message"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴sendbird_create_user(user_id, nickname, profile_url, issue_access_token, metadata)

MUTATES Sendbird data: creates a new user. Platform API: POST /users.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "Unique user id to create."
    },
    "nickname": {
      "description": "Display nickname.",
      "type": "string"
    },
    "profile_url": {
      "description": "Profile image URL (may be empty).",
      "type": "string"
    },
    "issue_access_token": {
      "description": "If true, issues an access token for the user in the response.",
      "type": "boolean"
    },
    "metadata": {
      "description": "Arbitrary key/value metadata object stored on the user.",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴sendbird_update_user(user_id, nickname, profile_url, issue_access_token)

MUTATES Sendbird data: partially updates a user's profile. Only provided fields change. Platform API: PUT /users/{user_id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "user_id": {
      "type": "string",
      "description": "Target user id (percent-encoded automatically)."
    },
    "nickname": {
      "description": "New display nickname.",
      "type": "string"
    },
    "profile_url": {
      "description": "New profile image URL.",
      "type": "string"
    },
    "issue_access_token": {
      "description": "If true, issues a new access token for the user.",
      "type": "boolean"
    }
  },
  "required": [
    "user_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴sendbird_create_group_channel(user_ids, name, channel_url, cover_url, custom_type, ...)

MUTATES Sendbird data: creates a group channel with the given members. Platform API: POST /group_channels.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "user_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "User ids to add as members of the new channel."
    },
    "name": {
      "description": "Channel name.",
      "type": "string"
    },
    "channel_url": {
      "description": "Custom channel URL; auto-generated if omitted.",
      "type": "string"
    },
    "cover_url": {
      "description": "Channel cover image URL.",
      "type": "string"
    },
    "custom_type": {
      "description": "Custom type tag for the channel.",
      "type": "string"
    },
    "is_distinct": {
      "description": "If true, reuse an existing channel with the same members instead of creating a duplicate.",
      "type": "boolean"
    },
    "is_public": {
      "description": "If true, the channel is public (joinable without invitation).",
      "type": "boolean"
    },
    "data": {
      "description": "Additional structured data as a string (often JSON).",
      "type": "string"
    }
  },
  "required": [
    "user_ids"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada14 herramientas