Skip to main content
Glama

Send a message

sendbird_send_message
Destructive

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoAdditional structured data as a string (often JSON).
messageYesThe message text.
user_idNoSender user id. REQUIRED when message_type is MESG.
is_silentNoIf true, does not update channel's last message / unread counts.
send_pushNoWhether to send push notifications. Default true.
channel_urlYesChannel URL (percent-encoded automatically).
custom_typeNoCustom type tag for the message.
channel_typeYesChannel type: group_channels (member-based) or open_channels (public, participant-based).
mention_typeNoMention scope: specific users or the whole channel.
message_typeNoMESG (user text, default) or ADMM (admin message, no sender).
mentioned_user_idsNoUser ids to mention (when mention_type=users).

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly leads with 'MUTATES', reinforcing the destructiveHint annotation, and adds behavioral detail beyond the schema: file/multipart payloads are unsupported and the operation maps to POST /{channel_type}/{channel_url}/messages. It does not discuss delivery/push consequences, but the schema already documents silent and push controls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: mutation and function, the unsupported multipart limitation, and the API endpoint. The key MUTATES signal is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 11-parameter mutation tool with a fully documented schema and destructiveHint, the description plus schema is largely sufficient. The main gap is the lack of any hint about the response/return value, since no output schema is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so the description does not need to re-document parameters. It adds little semantic value beyond the schema—'MESG/ADMM' already appears in the message_type property—so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('sends') with a clear resource ('a message into a channel') and distinguishes the two modes (MESG user, ADMM admin). It states the exact API endpoint, making it unambiguous and distinct from sibling read tools like sendbird_list_messages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly marks the operation as a mutation and gives a concrete exclusion ('File/multipart messages are not supported'), so an agent knows when not to use it. However, it does not explicitly name alternatives or spell out when to prefer a sibling such as sendbird_request for unsupported payloads.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness3/5

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.