Skip to main content
Glama
ferelking242

Discord MCP Ultimate

discord_create_reaction_role_menu

Attach emoji-to-role mappings to a Discord message so members self-assign roles by reacting; posts the menu embed and records the configuration the running bot uses.

Instructions

Attach one or more emoji→role mappings to a message so members self-assign roles by reacting. Posts a menu embed, adds each reaction, and records the mappings the bot process reads. The bot must be running (npm run bot) for reactions to be honoured: this tool only writes the configuration. Roles at or above the bot's highest role are refused before anything is posted, because Discord would reject the grant anyway.

Input Schema

NameRequiredDescriptionDefault
titleYesEmbed title.
reasonNo
entriesYesEmoji→role pairs. Discord allows up to 20 reactions per message.
guild_idYesDiscord server (guild) ID (snowflake).
channel_idYesChannel the menu is posted in.
descriptionNoEmbed body, e.g. how to use the menu.

Output Schema

NameRequiredDescriptionDefault
mappingsYes
warningsYes
channel_idYes
message_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv3.0.0

TDQS

A4.4/5.0
Behavior5/5

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

With only a title annotation, the description carries the full behavioral burden and does so well: it discloses the multi-step side effects (embed post, reaction adds, config write), the runtime dependency on the bot process, and the pre-flight role-hierarchy rejection before anything is posted. That is exactly the kind of context annotations would otherwise provide.

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, front-loaded with the core action and effects, followed by the operational prerequisite and the failure boundary. No filler; every sentence contributes.

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?

An output schema exists, so return values need no explanation, and the description covers the mutation's key behavioral facts. It stops short of saying what happens on partial failure or whether existing mappings/menus on the message are preserved, which would matter for a config-writing tool.

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 83%, so the schema already documents title, entries, emoji, label, description, and IDs. The description reinforces 'one or more emoji→role mappings' and ties the role-hierarchy rejection to role_id, but adds no syntax or format detail beyond the schema. 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?

States a specific verb and resource: 'Attach one or more emoji→role mappings to a message so members self-assign roles by reacting', then enumerates the concrete side effects (posts embed, adds reactions, records mappings). This clearly separates it from siblings like discord_add_reaction (single reaction) and discord_list/delete_reaction_role_menu.

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 strong operational prerequisite: the bot must be running via `npm run bot`, and clarifies the tool only writes configuration. It also states a refusal boundary (roles at or above the bot's highest role are rejected). It does not explicitly name sibling alternatives such as discord_add_reaction or discord_delete_reaction_role_menu, so it falls short of a 5.

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