MCP Reference
chat_add_reaction
Add Chat Reaction
Beschreibung
Adds an emoji reaction to a chat message. Idempotent —
retrying the same (message, user, emoji) triple returns
already_existed: true instead of erroring. A single user
may stack multiple different emojis on the same message.
Response carries the full current reaction list, so you don't
need a follow-up chat_get_messages. Channel membership is
required; admin/employer do NOT override (same rule as
chat_send_message).
Zugriff
Zugriffsprofil: basic. Module: chat.
Die Freigabe im Profil ersetzt keine Account-, Workspace- oder Rollenberechtigung.
Parameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
account_id |
string | Ja | Account prefix ID (e.g., acct_abc123). |
channel_id |
string | Ja | Channel prefix ID (e.g., chan_xyz789) — must be a channel you can post in. |
message_id |
string | Ja | Message prefix ID (e.g., msg_abc123) of the target. Both roots and replies accept reactions. |
emoji |
string | Ja | Unicode emoji (e.g., 🔥, 👍, ✅). Do not escape the string — send literal Unicode, not \u1f525 sequences. Up to 32 chars so modifier sequences (skin tone, ZWJ) still fit. |
Eingabeschema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"account_id": {
"type": "string",
"description": "Account prefix ID (e.g., acct_abc123)."
},
"channel_id": {
"type": "string",
"description": "Channel prefix ID (e.g., chan_xyz789) — must be a channel you can post in."
},
"message_id": {
"type": "string",
"description": "Message prefix ID (e.g., msg_abc123) of the target. Both roots and replies accept reactions."
},
"emoji": {
"type": "string",
"minLength": 1,
"maxLength": 32,
"description": "Unicode emoji (e.g., 🔥, 👍, ✅). Do not escape the string — send literal Unicode, not \\u1f525 sequences. Up to 32 chars so modifier sequences (skin tone, ZWJ) still fit."
}
},
"required": [
"account_id",
"channel_id",
"message_id",
"emoji"
],
"type": "object"
}
Ausgabeschema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"message_id": {
"type": "string"
},
"emoji": {
"type": "string"
},
"already_existed": {
"type": "boolean",
"description": "True when the reaction already existed before this call — idempotent retry confirmation."
},
"reactions": {
"type": "array",
"description": "Complete current reaction list for the message after this call, ordered by created_at ASC.",
"items": {
"type": "object",
"properties": {
"emoji": {
"type": "string"
},
"user": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"handle": {
"type": "string"
},
"name": {
"type": "string"
}
}
},
"created_at": {
"type": "string",
"format": "date-time"
}
},
"required": [
"emoji",
"user",
"created_at"
]
}
}
},
"required": [
"message_id",
"emoji",
"already_existed",
"reactions"
],
"type": "object"
}