Skip to main content
Glama

move_issue

Move an issue into another project, taking its comments, history, attachments, links and sub-tasks with it. The key does NOT change: 'PM-12' stays 'PM-12' wherever it lives, so every existing link and branch name goes on working. Call it with apply=false first (the default): the answer says what the move would cost — values in columns the target project does not have are LOST, the sprint is cleared, and a secret attached to the issue becomes readable by the target project's lead. Refuses when the target has no state by the issue's status name; say what that state becomes with 'statuses'. A sub-task cannot move on its own — move its parent. Needs full write access in BOTH projects.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYesThe issue to move, e.g. 'PM-12'.
applyNofalse (the default) answers what the move would do and changes nothing. true does it.
statusesNoWhat each source status becomes in the target project, as 'In Review=Review, Blocked=On hold'. Only needed for states the target does not already have under the same name.
toProjectYesProject key to move it into, e.g. 'CRM'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description alone discloses side effects and risks: values in missing columns are LOST, sprint is cleared, secrets become readable by the target lead, apply=false changes nothing, and full write access is required in both projects. This is exemplary behavioral disclosure beyond the schema.

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?

The description is dense but every sentence carries essential information, and the core action is front-loaded. It could be slightly improved with structural separation of the warning clauses, but for a complex mutation tool the length is justified.

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?

Given the operation's complexity and lack of an output schema, the description covers purpose, dry-run flow, data-loss risks, auth requirements, and the sub-task limitation. The only notable gap is that it doesn't describe the shape of the dry-run 'answer' result an agent would need to parse.

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%, so the baseline is 3. The description adds real value by explaining what apply=false does ('answers what the move would do and changes nothing'), giving the statuses mapping format, and anchoring key/toProject with concrete examples like 'PM-12' and 'CRM'.

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 description opens with a specific verb and resource—'Move an issue into another project'—and immediately lists what travels with it (comments, history, attachments, links, sub-tasks). This clearly separates it from create/update tools and leaves no ambiguity about what the operation does.

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?

It gives explicit procedural guidance: 'Call it with apply=false first (the default)' and explains the dry-run purpose. It also names a refusal condition and its remedy ('Refuses when the target has no state... say what that state becomes with statuses') and states a critical constraint ('A sub-task cannot move on its own — move its parent').

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.

Resources