Skip to main content
Glama

list_issues

Lists issues in the caller's organization, optionally filtered by space, epic id, status id, status category id or assignee id, optionally leaving out blocked issues. Returns up to 50 per page, most recently updated first - check hasNextPage for more. Each issue has a title, and its canEdit/canDelete reflect the caller's actual permissions on it, statusCategory/statusCategoryId tell what its status means (Created, InProgress, Review or Completed), and url is its page in the web app.

Input Schema

NameRequiredDescriptionDefault
pageNoZero-based page number - pass the previous result's page + 1 for the next page. Omit for the first page.
countNoMax issues per page, 1-50. Omit for the default of 50.
epicIdNoOnly issues in this epic id, from list_epics. Omit to include every epic.
spaceKeyNoOnly issues in this space (e.g. 'BRD'), from list_spaces. Omit to search every space.
statusIdNoOnly issues with this exact status id, from list_statuses. Omit to include every status.
assigneeIdNoOnly issues assigned to this user id, from list_members. Omit to include every assignee.
excludeBlockedNoPass true to leave out blocked issues, e.g. to find work ready to start. An issue is blocked while an issue that blocks it (see get_issue's links) is in Created, InProgress or Review - only Completed releases it. Blockers you can't read don't count. Omit to include blocked issues.
statusCategoryIdNoOnly issues whose status has this category id, from list_statuses' categoryId: 0 = Created (not started), 1 = InProgress, 2 = Completed (finished), 3 = Review (done, waiting to be checked). Works across epics whatever their statuses are named. Omit to include every category.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / excludeBlocked
      Added value: +{
      +  "default": false,
      +  "description": "Pass true to leave out blocked issues, e.g. to find work ready to start. An issue is blocked while an issue that blocks it (see get_issue's links) is in Created, InProgress or Review - only Completed releases it. Blockers you can't read don't count. Omit to include blocked issues.",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / statusCategoryId / description
      Previous value: -"Only issues whose status has this category id, from list_statuses' categoryId: 0 = Created (not started), 1 = InProgress, 2 = Completed (finished). Works across epics whatever their statuses are named. Omit to include every category."New value: +"Only issues whose status has this category id, from list_statuses' categoryId: 0 = Created (not started), 1 = InProgress, 2 = Completed (finished), 3 = Review (done, waiting to be checked). Works across epics whatever their statuses are named. Omit to include every category."
  3. Changed1 schema field changed
    • addedInput schema / properties / statusCategoryId
      Added value: +{
      +  "default": null,
      +  "description": "Only issues whose status has this category id, from list_statuses' categoryId: 0 = Created (not started), 1 = InProgress, 2 = Completed (finished). Works across epics whatever their statuses are named. Omit to include every category.",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / epicId
      Added value: +{
      +  "default": null,
      +  "description": "Only issues in this epic id, from list_epics. Omit to include every epic.",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
  5. Changed2 schema fields changed
    • changedInput schema / properties / count / description
      Previous value: -"Max issues to return per page, 1-50. Omit for the default of 50."New value: +"Max issues per page, 1-50. Omit for the default of 50."
    • changedInput schema / properties / page / description
      Previous value: -"Zero-based page number. Omit or pass 0 for the first page; pass the previous result's page + 1 to get the next page."New value: +"Zero-based page number - pass the previous result's page + 1 for the next page. Omit for the first page."
  6. Changed5 schema fields changed
    • addedInput schema / properties / assigneeId
      Added value: +{
      +  "default": null,
      +  "description": "Only issues assigned to this user id, from list_members. Omit to include every assignee.",
      +  "format": "uuid",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • removedInput schema / properties / assigneeName
      Removed value: -{
      -  "default": null,
      -  "description": "Only issues assigned to a user whose display name contains this text. Omit to include every assignee.",
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
    • changedInput schema / properties / spaceKey / description
      Previous value: -"Only issues in this space (e.g. 'BRD'). Omit to search every space."New value: +"Only issues in this space (e.g. 'BRD'), from list_spaces. Omit to search every space."
    • addedInput schema / properties / statusId
      Added value: +{
      +  "default": null,
      +  "description": "Only issues with this exact status id, from list_statuses. Omit to include every status.",
      +  "type": [
      +    "integer",
      +    "null"
      +  ]
      +}
    • removedInput schema / properties / statusName
      Removed value: -{
      -  "default": null,
      -  "description": "Only issues with this exact status name (e.g. 'In Progress'). Omit to include every status.",
      -  "type": [
      -    "string",
      -    "null"
      -  ]
      -}
  7. First observed

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: it discloses pagination (50 per page, most-recently-updated ordering, check hasNextPage), and explains that canEdit/canDelete reflect actual caller permissions. It stops short of stating auth requirements or error behavior, but the behavioral disclosure is well above average.

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?

Three sentences, front-loaded with purpose, then pagination, then return-shape details. Every sentence contributes, though the final return-fields sentence is slightly dense; no filler or repetition.

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?

No output schema exists, so the description must describe returns—and it does (title, canEdit/canDelete, statusCategory, url, hasNextPage). All eight params are covered by the schema, and pagination/ordering are explained. Missing only auth/permission prerequisites, which is a minor gap for a read-list tool.

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 100%, so the schema already documents all eight parameters including defaults and cross-references to list_spaces/list_epics/list_statuses. The description's restatement of the statusCategory mapping (Created/InProgress/Review/Completed) largely duplicates the schema rather than adding new syntax or semantics, so the baseline 3 is appropriate.

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 ('Lists issues in the caller's organization') and enumerates the filter dimensions, which immediately distinguishes it from the single-issue get_issue and from list_epics/list_spaces. An agent can identify it as the plural filtered-list tool without opening the schema.

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

Usage Guidelines3/5

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

The filter behavior implies when the tool is useful, and 'optionally leaving out blocked issues' hints at the ready-to-start use case, but there is no explicit when-to-use/when-not guidance and no named alternative (e.g. get_issue for a single issue). Usage is inferred rather than stated.

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.