Skip to main content
Glama
Discord MCP - Discord server management MCP for AI agents

Discord MCP - Discord server management MCP for AI agents

Remove reaction

remove_reaction

Removes a reaction from a Discord message, targeting the bot's own reaction by default or another user's when Manage Messages permission is available.

Instructions

Remove a reaction: the bot's own by default, or another user's (which needs Manage Messages).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "channel": "<channel>",
      "message_id": "<message_id>",
      "emoji": "<emoji>"
    },
    "name": "remove_reaction"
  }
}

Input Schema

NameRequiredDescriptionDefault
userNoWhose reaction to remove; omit for the bot's own.
emojiYes
guildNoGuild (server) name or ID. Omit to use the default guild.
channelYesChannel name or ID.
message_idYesMessage ID, or the message's link.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.4.2
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / properties / message_id / description
      Added value: +"Message ID, or the message's link."
  2. Changed1 schema field changedv1.3.0
    • removedInput schema / additionalProperties
      Removed value: -false
  3. First observedv1.0.2

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, and the description adds genuinely new behavioral detail: the default target is the bot's own reaction, and acting on another user's reaction demands Manage Messages. It does not say what happens when the reaction is absent (silent success vs. error), which matters for a mutation on an existing message.

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?

A single front-loaded sentence that pairs the action with its default scope, then parenthesizes the permission caveat. No filler, no repetition of the tool name beyond what is needed.

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 a small five-parameter removal tool with annotations present and no output schema, this covers purpose, default target, and the one real prerequisite. Gaps are minor: emoji format and behavior when the reaction does not exist.

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?

Schema coverage is 80%, so most parameters are self-documenting, and the schema itself already says to omit user for the bot's own reaction. The description reinforces the user parameter's default and adds the permission requirement, but the emoji parameter has no description anywhere and message_id/link handling comes only from the schema.

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

Purpose4/5

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

Names the specific verb and resource ("Remove a reaction") and immediately scopes it to the bot's own reaction by default versus another user's. It stops short of contrasting with adjacent tools such as clear_reactions or add_reactions, so the agent must infer the boundary from the schema.

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?

Gives a clear conditional: omit the user to remove the bot's own reaction, supply one to remove someone else's, which requires Manage Messages. That is enough to select the right mode, but there is no explicit statement of when to prefer clear_reactions or another removal tool instead.

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

Deploy Server

Other Tools