Skip to main content
Glama

discord_edit_webhook_message

Idempotent

Update a Discord webhook message by supplying the webhook ID, token, and message ID, replacing its content or embeds with the provided values.

Instructions

Edit a message previously sent through a webhook, using the webhook's ID and token. Replaces the provided fields. Requires the original webhook token. Returns a confirmation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
embedsNoUp to 10 embed objects to attach to the webhook message.
contentNoNew plain-text content for the message (max 2000 characters).
message_idYesID of the webhook message to edit.
webhook_idYesID (snowflake) of the webhook that sent the message.
webhook_tokenYesSecret token of the webhook.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv2.2.0
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / embeds / items / additionalProperties
      Added value: +false
    • addedInput schema / properties / embeds / items / properties / author / additionalProperties
      Added value: +false
    • addedInput schema / properties / embeds / items / properties / fields / items / additionalProperties
      Added value: +false
  2. Changed13 schema fields changedv2.0.0
    • addedInput schema / properties / embeds / items / properties / author
      Added value: +{
      +  "description": "Author block shown at the top of the embed.",
      +  "properties": {
      +    "icon_url": {
      +      "description": "Small icon shown next to the author name.",
      +      "format": "uri",
      +      "pattern": "^https?://",
      +      "type": "string"
      +    },
      +    "name": {
      +      "description": "Author display name.",
      +      "type": "string"
      +    },
      +    "url": {
      +      "description": "URL the author name links to.",
      +      "format": "uri",
      +      "pattern": "^https?://",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "name"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / properties / embeds / items / properties / color / pattern
      Added value: +"^#[0-9A-Fa-f]{6}$"
    • changedInput schema / properties / embeds / items / properties / fields / description
      Previous value: -"Up to 25 name/value field blocks."New value: +"Up to 25 name/value field blocks. Set inline:true on a field to render it side-by-side with adjacent inline fields (up to 3 per row)."
    • changedInput schema / properties / embeds / items / properties / fields / items / properties / inline / description
      Previous value: -"If true, render side-by-side with adjacent inline fields."New value: +"If true, render this field side-by-side with adjacent inline fields."
    • addedInput schema / properties / embeds / items / properties / image_url / format
      Added value: +"uri"
    • addedInput schema / properties / embeds / items / properties / image_url / pattern
      Added value: +"^https?://"
    • addedInput schema / properties / embeds / items / properties / thumbnail_url / format
      Added value: +"uri"
    • addedInput schema / properties / embeds / items / properties / thumbnail_url / pattern
      Added value: +"^https?://"
    • addedInput schema / properties / embeds / items / properties / url / format
      Added value: +"uri"
    • addedInput schema / properties / embeds / items / properties / url / pattern
      Added value: +"^https?://"
    • addedInput schema / properties / embeds / maxItems
      Added value: +10
    • addedInput schema / properties / message_id / pattern
      Added value: +"^\\d{17,20}$"
    • addedInput schema / properties / webhook_id / pattern
      Added value: +"^\\d{17,20}$"
  3. Changed17 schema fields changedv1.6.0
    • addedInput schema / properties / content / description
      Added value: +"New plain-text content for the message (max 2000 characters)."
    • changedInput schema / properties / embeds / description
      Previous value: -"Optional array of embed objects."New value: +"Up to 10 embed objects to attach to the webhook message."
    • changedInput schema / properties / embeds / items / properties / color / description
      Previous value: -"Hex color e.g. #5865F2"New value: +"Side-bar color as a hex string, e.g. '#5865F2'."
    • addedInput schema / properties / embeds / items / properties / description / description
      Added value: +"Main body text of the embed (supports Markdown)."
    • addedInput schema / properties / embeds / items / properties / fields / description
      Added value: +"Up to 25 name/value field blocks."
    • addedInput schema / properties / embeds / items / properties / fields / items / properties / inline / description
      Added value: +"If true, render side-by-side with adjacent inline fields."
    • addedInput schema / properties / embeds / items / properties / fields / items / properties / name / description
      Added value: +"Field heading."
    • addedInput schema / properties / embeds / items / properties / fields / items / properties / value / description
      Added value: +"Field body text."
    • addedInput schema / properties / embeds / items / properties / footer / description
      Added value: +"Footer text shown at the bottom of the embed."
    • addedInput schema / properties / embeds / items / properties / image_url / description
      Added value: +"Large image shown below the embed body."
    • addedInput schema / properties / embeds / items / properties / thumbnail_url / description
      Added value: +"Small image shown in the top-right corner."
    • addedInput schema / properties / embeds / items / properties / timestamp / description
      Added value: +"If true, stamp the embed with the current time."
    • addedInput schema / properties / embeds / items / properties / title / description
      Added value: +"Embed title shown in bold at the top."
    • addedInput schema / properties / embeds / items / properties / url / description
      Added value: +"URL that makes the title clickable."
    • addedInput schema / properties / message_id / description
      Added value: +"ID of the webhook message to edit."
    • addedInput schema / properties / webhook_id / description
      Added value: +"ID (snowflake) of the webhook that sent the message."
    • addedInput schema / properties / webhook_token / description
      Added value: +"Secret token of the webhook."
  4. Addedv1.5.0

TDQS

A4.2/5.0
Behavior4/5

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

Adds useful behavior beyond annotations: 'Replaces the provided fields' indicates partial replacement rather than full overwrite, and 'Requires the original webhook token' names the authentication prerequisite. Annotations already provide idempotent/read-only/destructive hints, and the description does not contradict them.

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?

Four short sentences, front-loaded with the core operation and then the required context. There is no filler or unnecessary repetition of schema details; the token emphasis earns its place as an auth requirement.

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 tool with three required parameters and a rich input schema, the description covers the key operational facts: target resource, replacement behavior, authentication need, and return behavior. It could be more complete with explicit sibling exclusions, but it is sufficient for correct invocation.

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 the individual parameter documentation carries the meaning. The description adds context about replacement semantics and token requirement, but does not explain specific parameters beyond what the schema already provides.

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?

Describes a specific action—editing a webhook-sent message using the webhook's ID and token—and clarifies it operates on a previously sent message. This distinguishes it from siblings like discord_edit_message and discord_edit_webhook.

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 use context: edit messages that were sent through a webhook, and states the prerequisite that the original webhook token is required. It does not explicitly name alternatives or exclusion cases, but the webhook-specific scoping makes routing unambiguous.

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