Skip to main content
Glama

discord_create_role

Create a new Discord server role with custom name, color, permissions, and mentionability. Requires Manage Roles permission and returns the new role's name and ID for assignment.

Instructions

Create a new role in a server. Requires the Manage Roles permission; the new role is placed below the bot's highest role. Use discord_add_role to then assign it to members. Returns the new role's name and ID.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName of the new role (max 100 characters).
colorNoRole color as a hex string, e.g. '#FF5733'.
hoistNoIf true, display members with this role separately in the member list.
guild_idYesDiscord server (guild) ID (snowflake).
mentionableNoIf true, anyone can @mention this role.
permissionsNoServer-wide permission flag names to grant, e.g. ['SendMessages','ViewChannel']. Uses Discord PermissionsBitField flag names.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.2.0
    • addedInput schema / additionalProperties
      Added value: +false
  2. Changed5 schema fields changedv2.0.0
    • addedInput schema / properties / color / pattern
      Added value: +"^#[0-9A-Fa-f]{6}$"
    • addedInput schema / properties / guild_id / pattern
      Added value: +"^\\d{17,20}$"
    • addedInput schema / properties / permissions / anyOf
      Added value: +[
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "string"
      +  }
      +]
    • removedInput schema / properties / permissions / items
      Removed value: -{
      -  "type": "string"
      -}
    • removedInput schema / properties / permissions / type
      Removed value: -"array"
  3. Changed6 schema fields changedv1.6.0
    • changedInput schema / properties / color / description
      Previous value: -"Hex color e.g. #FF5733"New value: +"Role color as a hex string, e.g. '#FF5733'."
    • addedInput schema / properties / guild_id / description
      Added value: +"Discord server (guild) ID (snowflake)."
    • addedInput schema / properties / hoist / description
      Added value: +"If true, display members with this role separately in the member list."
    • addedInput schema / properties / mentionable / description
      Added value: +"If true, anyone can @mention this role."
    • addedInput schema / properties / name / description
      Added value: +"Name of the new role (max 100 characters)."
    • changedInput schema / properties / permissions / description
      Previous value: -"e.g. ['SendMessages','ViewChannel']"New value: +"Server-wide permission flag names to grant, e.g. ['SendMessages','ViewChannel']. Uses Discord PermissionsBitField flag names."
  4. Addedv1.5.0
  5. Removedv1.0.0
  6. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Goes beyond the annotations by disclosing that the new role is placed below the bot's highest role and that the response returns the role's name and ID. Given there is no output schema, the return-value disclosure is especially useful.

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 dense sentences with no filler: the first states the action, the second covers permissions and placement, and the third provides follow-up routing and return information. Every sentence earns its place.

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?

Provides the core operational constraints, permission requirement, follow-up step, and expected return value. It does not cover duplicate-role behavior or error cases, but the schema and annotations cover the rest sufficiently for a create operation.

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 description coverage is 100%, so all six parameters are already documented. The description adds no parameter-level meaning beyond listing the mandatory ones, which is adequate but not exceptional.

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: 'Create a new role in a server.' It clearly distinguishes itself from sibling tools like discord_edit_role, discord_delete_role, and discord_add_role.

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?

Explicitly names the Manage Roles permission prerequisite and directs the agent to use discord_add_role for assigning the role afterward. It lacks an explicit 'do not use when' statement, but the context is clear enough for selection.

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