Skip to main content
Glama

Update Comment

kaiten_update_comment
Idempotent

Replace the body of an existing Kaiten comment with markdown or HTML content. Provide card and comment IDs to update the comment and receive the updated comment object.

Instructions

Replace the body of an existing comment. Markdown by default — if you are sending HTML, also pass textFormat: 'html'. QUIRK: Kaiten's comment markdown does NOT support ATX headings (### Header renders as literal text). Use bold or switch to HTML if you need a heading inside a comment. Resolve commentId via kaiten_get_card_comments. The cardId is part of the URL path — both cardId and commentId must reference the actual card-comment pair (mismatched pair returns 500 from Kaiten). Returns: the updated comment object.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNoNew comment body. Markdown by default — pass `textFormat: 'html'` if you're sending HTML. Note: heading syntax (`### Header`) is NOT supported in comment markdown — render as literal text. Bold/list/code/link/blockquote work.
cardIdYesCard ID the comment belongs to (from kaiten_get_card_comments)
commentIdYesComment ID (from kaiten_get_card_comments)
verbosityNoDetail: raw|min(default)|normal|maxmin
textFormatNoHint to Kaiten about the format of `text`. Default = 'markdown' (Kaiten's own default). Set to 'html' if you are sending HTML — Kaiten will then store and render the comment as HTML. Without this hint, raw HTML in a comment shows up in the UI as literal angle brackets. Maps to API field `type` (1=markdown, 2=html). (jira_wiki is not supported for comments.)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.7

TDQS

A4.6/5.0
Behavior5/5

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

Annotations cover idempotency, read-only safety, destructiveness, and open-world behavior, and the description adds substantial context beyond them: markdown-default rendering, the HTML textFormat requirement and its literal-brackets failure mode, the ATX heading quirk, the 500 error on mismatched card/comment pairs, and the return value. No contradiction with the annotations exists — replace semantics align with idempotentHint=true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the core purpose and format instruction before the quirk and ID-resolution guidance. Every sentence has a job. Minor redundancy: the ATX heading quirk is repeated in the schema's text parameter description, so the description could be marginally tighter without losing value.

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 5-parameter update tool with no output schema, the description is remarkably complete: it covers the return shape, the format-selection behavior, a known platform quirk, the error condition for mismatched IDs, and how to resolve required parameters. Remaining details (verbosity enum values) are fully covered by the 100%-coverage schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with already-detailed parameter text, so the baseline is 3. The description earns extra credit by adding genuinely new semantics: cardId is part of the URL path, cardId/commentId must reference a real pair or Kaiten returns 500, and the rendering consequence of omitting textFormat. These details exceed what the schema states.

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?

The opening clause "Replace the body of an existing comment" uses a specific verb and resource that precisely identifies the operation. It is clearly distinguished from sibling tools like kaiten_create_comment, kaiten_delete_comment, and kaiten_update_card, since the body-replacement scope is unambiguous.

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?

The description gives clear context for when to use the tool (modifying an existing comment's body) and provides a concrete prerequisite: resolve commentId via kaiten_get_card_comments. It does not explicitly state when-not-to-use it or name alternatives such as kaiten_create_comment, so it falls short of an explicit exclusion but is well above implied usage.

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