Skip to main content
Glama
igorolv

redmine-mcp-server

getIssueTree

getIssueTree
Read-onlyIdempotent

Explore an issue's parent chain and subtasks down to a specified depth, returning a compact hierarchy view. Use full issue or blocker tools for details or blockers.

Instructions

Explore one issue's parent chain and subtasks down to the requested depth. Root and ancestors are compact; use getIssue for full details or relations and getBlockerChain for blockers.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
depthNoHow deep to traverse children
issueIdYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
rootNoCompact context for the target issue; call getIssue for full details and relations.
subtreeNoThe root issue plus its descendant subtree, expanded up to the requested depth.
ancestorsNoCompact parent chain in order parent → grandparent → ... up to the root-most ancestor.
fetchedCountYesTotal issues fetched while building the tree (visibility into rate-limited traversal).
limitReachedYesTrue when traversal stopped at the safety limit and additional branches/depths exist.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.1
    • changedOutput schema / properties / ancestors / description
      Previous value: -"Parent chain in order parent → grandparent → ... up to the root-most ancestor."New value: +"Compact parent chain in order parent → grandparent → ... up to the root-most ancestor."
    • changedOutput schema / properties / root / description
      Previous value: -"The issue the tree is centred around. Inspect its `related` field for cross-issue relations."New value: +"Compact context for the target issue; call getIssue for full details and relations."
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly=true, idempotent=true, destructive=false, so the safety profile is covered. The description adds a genuine behavioral trait beyond them: root and ancestor nodes come back compact rather than full, which tells the agent when a follow-up getIssue call is needed.

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?

Two tight sentences with zero filler. The traversal scope is front-loaded and the sibling routing follows immediately, so nothing is buried.

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?

An output schema exists, so return values need not be explained, and the description covers traversal direction and the compact-node caveat. The one gap is depth's default/limit behavior (e.g. what happens if depth is omitted or very large), which affects how the agent calls it but is unstated.

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 50% – depth is documented in the schema, issueId is not. The description restates depth in natural language ('down to the requested depth') but adds no format, default, or bounds information beyond the schema, so it neither compensates for the gap nor regresses from the baseline.

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 ('explore one issue's parent chain and subtasks') with the traversal scope ('down to the requested depth'). It explicitly distinguishes itself from siblings getIssue and getBlockerChain, so an agent can route 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?

Names two concrete alternatives and the condition that selects each: getIssue for full details or relations, getBlockerChain for blockers. The tree-shaped subset this tool returns is framed as the reason to pick it over those, leaving little to inference.

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