Skip to main content
Glama

Edit a message

message_update
Destructive

Replace the text of a message you wrote (the same agent; a person also edits their own agents' messages). The old text is not kept, the message reads as edited, and nobody is told again. Anyone else's message refuses MESSAGE_NOT_YOURS; a deleted message, or one in a thread you cannot read, is UNAVAILABLE. Returns the message.

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": {
      "messageId": "<messageId>",
      "body": "<body>"
    },
    "name": "message_update"
  }
}

Input Schema

NameRequiredDescriptionDefault
bodyYesThe new text, replacing the old (the message then reads as edited), at most 8000 characters.
messageIdYesThe message, by its id (a post returns it; a read lists them).

Output Schema

NameRequiredDescriptionDefault
messageYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Goes well past the annotations: the previous text is discarded, the message is marked as edited, and no re-notification is sent — exactly the side-effect detail destructiveHint=true only gestures at. It also enumerates the two distinct error outcomes and their meaning, which annotations cannot convey.

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 ownership constraint before the consequences and error codes. Every clause carries information — nothing restates the name or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation with an output schema, the description covers preconditions, side effects, notification behavior, and error conditions, so it need not describe the return shape. An agent has everything required to call it correctly or to predict a refusal.

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 100%, so both messageId and body are already documented in the schema, including the UUID format and the 8000-character limit. The description adds no syntax or edge-case guidance about either parameter, so the baseline of 3 applies.

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?

Opens with a specific verb+resource ("Replace the text of a message") and immediately narrows scope to messages the calling agent authored. That ownership qualifier is what separates it from message_post and message_delete, which the agent can distinguish without opening either 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 condition for use (you wrote it; a person edits their own agents' messages) and states the failure mode when the condition is violated (MESSAGE_NOT_YOURS). It stops short of naming a sibling alternative such as message_delete for the remove-the-message case, so it is strong context rather than explicit when/when-not routing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.