Skip to main content
Glama

Ticket List

ticket_list
Read-onlyIdempotent

Page through the caller's tickets on the Meta Council board. The opaque next_cursor is owner- and filter-bound; keep every filter unchanged on the next call. Immutable cursor ordering keeps a stable full-board traversal exact while returned tickets are edited or reordered. Filter by status, assignee, action_type, priority, parent_id (a ticket UUID, or 'none' for root tickets only), or free-text q over title/description. With recursive=true, parent_id must be an owned UUID and all descendants (not the anchor) are returned as one flat, cycle-safe traversal. Session/workflow links are opaque metadata filters, not access grants. Start here to find work, then use ticket_get for detail and ticket_claim to take a ticket. output_format=json returns a minimized machine-readable page inside text, including labels and stored update timestamps, for read-only board mirrors. It is not a full ticket backup.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qNo
limitNo
scopeNoArchived tickets are out of the working set and hidden by default. Archiving never changed their status, so an archived ticket listed under scope='archived' still shows the status it had.active
cursorNo
statusNo
assigneeNo
priorityNo
parent_idNoParent ticket UUID, or 'none' for roots only.
recursiveNo
labels_allNo
labels_anyNo
session_idNo
action_typeNo
labels_noneNo
output_formatNomarkdown
workflow_session_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / labels_all
      Added value: +{
      +  "items": {
      +    "maxLength": 50,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • addedInput schema / properties / labels_any
      Added value: +{
      +  "items": {
      +    "maxLength": 50,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
    • addedInput schema / properties / labels_none
      Added value: +{
      +  "items": {
      +    "maxLength": 50,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 20,
      +  "type": "array"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "text": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "text"
      -  ],
      -  "type": "object"
      -}New value: +null
  3. Changed1 schema field changed
    • addedInput schema / properties / output_format
      Added value: +{
      +  "default": "markdown",
      +  "enum": [
      +    "markdown",
      +    "json"
      +  ],
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / scope
      Added value: +{
      +  "default": "active",
      +  "description": "Archived tickets are out of the working set and hidden by default. Archiving never changed their status, so an archived ticket listed under scope='archived' still shows the status it had.",
      +  "enum": [
      +    "active",
      +    "archived",
      +    "all"
      +  ],
      +  "type": "string"
      +}
  5. Changed5 schema fields changed
    • addedInput schema / properties / cursor
      Added value: +{
      +  "maxLength": 2048,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / properties / limit / maximum
      Previous value: -100New value: +200
    • addedInput schema / properties / recursive
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / session_id
      Added value: +{
      +  "maxLength": 64,
      +  "type": "string"
      +}
    • addedInput schema / properties / workflow_session_id
      Added value: +{
      +  "maxLength": 64,
      +  "type": "string"
      +}
  6. Changed1 schema field changed
    • changedInput schema / properties / limit / maximum
      Previous value: -200New value: +100
  7. Added
  8. Removed
  9. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, yet the description adds real behavior: the cursor is owner- and filter-bound so filters must stay unchanged, immutable ordering keeps traversal stable through edits, and session/workflow links are opaque metadata filters rather than access grants. This is meaningful context beyond the annotations.

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?

Dense but front-loaded, with pagination and traversal caveats early and the sibling routing near the end. Every sentence carries information, though the single long paragraph is heavy.

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?

Complete for a read-only list tool with no output schema: pagination contract, recursive traversal, and output_format are covered. The main omission is explaining the label-filter trio, which an agent would have to infer from the schema alone.

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?

With only 13% schema coverage the description does substantial lifting: it explains q as free-text over title/description, clarifies parent_id='none', details recursive=true semantics (owned UUID anchor, descendants only, flat and cycle-safe), and describes output_format=json. It still leaves labels_all/any/none and limit undocumented, which are meaningful gaps for a 16-param tool.

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 (page through) and resource (caller's tickets on the Meta Council board), and routes clearly against siblings ticket_get and ticket_claim. An agent can distinguish it immediately.

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?

Explicitly says 'Start here to find work, then use ticket_get for detail and ticket_claim to take a ticket,' naming both alternatives and the condition selecting each. It also adds a when-not ('not a full ticket backup').

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