Skip to main content
Glama

Question Reorder

question_reorder
Destructive

Move a question to a new position or between groups. Read the survey with survey_get first for positions and versions.current (pass it as surveyVersion); the result returns the next one. Changes a published survey at once.

IMPORTANT: Indices are based on the "formatted structure" where:

  • Root-level items and groups are sorted by order

  • Items inside groups are not counted in the root index

When moving FROM root level (no surveyItemGroupIdFrom):

  • orderIndexFrom = array index in the formatted structure (0, 1, 2...)

  • Groups count as 1 item at their position

When moving FROM a group (with surveyItemGroupIdFrom):

  • orderIndexFrom = index within that group's items (0, 1, 2...)

When moving TO root level (no surveyItemGroupIdTo):

  • orderIndexTo = target position in root level

When moving TO a group (with surveyItemGroupIdTo):

  • orderIndexTo = target position within that group's items

Example: To move item at root index 2 into a group at position 0:

  • orderIndexFrom: 2

  • orderIndexTo: 0

  • surveyItemGroupIdTo: "group-uuid"

Example: To move item from group position 1 back to root at index 0:

  • orderIndexFrom: 1

  • surveyItemGroupIdFrom: "group-uuid"

  • orderIndexTo: 0

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": {
      "surveyId": "<surveyId>",
      "surveyVersion": "<surveyVersion>",
      "orderIndexFrom": "<orderIndexFrom>",
      "orderIndexTo": "<orderIndexTo>"
    },
    "name": "question_reorder"
  }
}

Input Schema

NameRequiredDescriptionDefault
surveyIdYesSurvey ID (from survey_list)
orderIndexToYesTarget position (array index at root level, or index within target group)
surveyVersionYesCurrent survey version: versions.current from survey_get, or the surveyVersion your last edit returned. A stale version is rejected (WRONG_VERSION). The result returns the next one as surveyVersion.
orderIndexFromYesSource position (array index at root level, or index within source group)
surveyItemGroupIdToNoTarget group ID (omit when moving to root level)
surveyItemGroupIdFromNoSource group ID (omit when moving from root level)

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=true), the description discloses things structured data cannot convey: the change to a published survey takes effect immediately, and a stale surveyVersion is rejected with WRONG_VERSION while the call returns the next version. That is exactly the operational context an agent needs before mutating a live survey.

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 operation, prerequisite, and side effect are front-loaded, and the conditional index rules are laid out as scannable cases with examples. It runs long and partly restates the per-parameter schema text, but almost every line disambiguates a genuinely confusing index model.

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 six-parameter, destructive reorder operation with an output schema, the definition covers the workflow prerequisite, versioning contract, both index domains, and cross-group moves with examples. An agent could call this correctly on the first attempt without opening the schema.

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

Parameters5/5

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

Schema coverage is already 100%, so the baseline would be a 3, but the description goes well past it by defining the 'formatted structure' counting rules, clarifying that a group counts as one root item and that group items are excluded from root indices, and by giving two worked move examples. The schema alone says only 'array index at root level, or index within source group', which is ambiguous without this elaboration.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb and resource ('Move a question') plus the two distinct modes (new position, between groups), which separates it from the sibling content-editing tools like question_update. It never explicitly names an alternative, though, so the differentiation is inferred from the verb rather than stated.

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?

It supplies a concrete prerequisite workflow: call survey_get first to obtain positions and versions.current, then pass that version through. What it lacks is an explicit exclusion such as when to use question_update versus question_reorder, or what to do when an index is out of range.

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