Skip to main content
Glama

skein_comment_get

Read-onlyIdempotent

Fetch one comment by UUID as a full CommentDTO (id, issueId, author, authorUserId, authorType, authorKind, body, createdAt, updatedAt, editedAt, deletedAt, version, mentions). Mentions are hydrated like ListComments (always a non-nil array). Soft-deleted comments return as tombstones: body is "" and mentions is []. Use this after a monitor poll surfaces a truncated bodyPreview (or when you already hold a commentId) instead of re-fetching the whole thread via skein_show.

Errors: invalid UUID → validation_error; missing id OR comment whose project is not visible → comment_not_found (same code — no existence leak).

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": {
      "commentId": "<commentId>"
    },
    "name": "skein_comment_get"
  }
}

Input Schema

NameRequiredDescriptionDefault
commentIdYesUUID of the comment to fetch.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnly/idempotent/non-destructive annotations, the description discloses that mentions are always hydrated to a non-nil array and that soft-deleted comments come back as tombstones with empty body and mentions. It also documents the error contract, including the deliberate conflation of missing id and invisible project into comment_not_found to avoid an existence leak — behavior an agent could not infer from structured fields.

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?

Purpose and return shape are front-loaded, then usage guidance, then the error contract — a sensible order with no filler sentences. The DTO field enumeration is long but functional; a slightly tighter grouping of the fields would cost nothing.

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?

With no output schema, the description compensates by listing the returned fields, the mention hydration guarantee, and the tombstone representation for deleted comments. Combined with the explicit error codes, an agent has everything needed to call this correctly and interpret the result.

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 coverage is 100% for the single commentId parameter, so the baseline would be 3. The description adds meaning on top: the parameter is a UUID whose malformed form yields validation_error, tying a specific failure mode to the parameter's expected format.

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 ('Fetch one comment by UUID') and immediately enumerates the returned CommentDTO fields, so the agent knows exactly what comes back. It also draws an explicit boundary against the sibling skein_show (whole thread), making it distinguishable without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete triggers: after a monitor poll surfaces a truncated bodyPreview, or when a commentId is already held. It names the alternative (re-fetching the whole thread via skein_show) and states why this tool is preferred over it, so selection is unambiguous.

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.