Skip to main content
Glama

List Test Cases

list_test_cases

List test cases from a QA Sphere project with filters for tags, priorities, folders, search, and pagination. Supports draft/type and custom field filtering.

Instructions

List test cases from a project in QA Sphere. Supports pagination and various filtering options. Usually it makes sense to call get_project tool first to get the project context.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tagsNoFilter by tag IDs
draftNoFilter draft vs published test cases
limitNoMaximum number of test cases to return (0-5000, defaults to 20). Use 0 to fetch only the total count
typesNoFilter by test case type
offsetNoNumber of test cases to skip before returning results (defaults to 0)
searchNoSearch term to filter test cases
foldersNoFilter by folder IDs
includeNoRelated data to include in the response (not present by default)
sortFieldNoField to sort results by
sortOrderNoSort direction (ascending or descending). Requires sortField.
prioritiesNoFilter by priority levels
projectCodeYesProject code identifier (e.g., BDI)
customFieldsNoFilter by custom field values. Keys are custom field system names (without the `cf_` prefix); values are arrays of allowed values.
requirementIdsNoFilter by requirement IDs
templateTCaseIdsNoFilter filled test cases by their parent template test case IDs

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesList of test cases
limitYesLimit applied to the query
totalYesTotal number of filtered test cases
offsetYesOffset applied to the query

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed10 schema fields changedv0.5.0
    • changedInput schema / properties / limit / description
      Previous value: -"Number of items per page"New value: +"Maximum number of test cases to return (0-5000, defaults to 20). Use 0 to fetch only the total count"
    • addedInput schema / properties / limit / maximum
      Added value: +5000
    • addedInput schema / properties / limit / minimum
      Added value: +0
    • changedInput schema / properties / limit / type
      Previous value: -"number"New value: +"integer"
    • addedInput schema / properties / offset
      Added value: +{
      +  "default": 0,
      +  "description": "Number of test cases to skip before returning results (defaults to 0)",
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • removedInput schema / properties / page
      Removed value: -{
      -  "description": "Page number for pagination",
      -  "type": "number"
      -}
    • changedOutput schema / properties / limit / description
      Previous value: -"Number of test cases per page"New value: +"Limit applied to the query"
    • addedOutput schema / properties / offset
      Added value: +{
      +  "description": "Offset applied to the query",
      +  "type": "number"
      +}
    • removedOutput schema / properties / page
      Removed value: -{
      -  "description": "Current page number",
      -  "type": "number"
      -}
    • changedOutput schema / required
      Previous value: -[
      -  "total",
      -  "page",
      -  "limit",
      -  "data"
      -]New value: +[
      +  "total",
      +  "offset",
      +  "limit",
      +  "data"
      +]
  2. Changed10 schema fields changedv0.4.1
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / customFields
      Added value: +{
      +  "additionalProperties": {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "description": "Filter by custom field values. Keys are custom field system names (without the `cf_` prefix); values are arrays of allowed values.",
      +  "propertyNames": {
      +    "type": "string"
      +  },
      +  "type": "object"
      +}
    • changedInput schema / properties / include / description
      Previous value: -"Related data to include in the response"New value: +"Related data to include in the response (not present by default)"
    • changedInput schema / properties / include / items / enum
      Previous value: -[
      -  "steps",
      -  "tags",
      -  "project",
      -  "folder",
      -  "path"
      -]New value: +[
      +  "precondition",
      +  "steps",
      +  "tags",
      +  "project",
      +  "folder",
      +  "path",
      +  "requirements",
      +  "customFields",
      +  "parameterValues"
      +]
    • changedInput schema / properties / projectCode / pattern
      Previous value: -"^[A-Z0-9]+$"New value: +"^[A-Z0-9]{2,5}$"
    • addedInput schema / properties / requirementIds
      Added value: +{
      +  "description": "Filter by requirement IDs",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / sortOrder / description
      Previous value: -"Sort direction (ascending or descending)"New value: +"Sort direction (ascending or descending). Requires sortField."
    • addedInput schema / properties / templateTCaseIds
      Added value: +{
      +  "description": "Filter filled test cases by their parent template test case IDs",
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedInput schema / properties / types
      Added value: +{
      +  "description": "Filter by test case type",
      +  "items": {
      +    "enum": [
      +      "standalone",
      +      "template",
      +      "filled"
      +    ],
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "definitions": {
      +    "__schema0": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "deletedAt": {
      +          "description": "Date the step was deleted on (ISO 8601)",
      +          "type": "string"
      +        },
      +        "description": {
      +          "description": "Details of the step (HTML; only for standalone and shared_sub_step)",
      +          "type": "string"
      +        },
      +        "expected": {
      +          "description": "Expected result from the step (HTML; only for standalone and shared_sub_step)",
      +          "type": "string"
      +        },
      +        "id": {
      +          "description": "Unique identifier of the step",
      +          "type": "number"
      +        },
      +        "isLatest": {
      +          "description": "Whether this is the latest version of the step",
      +          "type": "boolean"
      +        },
      +        "subSteps": {
      +          "description": "Sub-steps of a shared step, each with type 'shared_sub_step' (present only on shared steps)",
      +          "items": {
      +            "$ref": "#/definitions/__schema0"
      +          },
      +          "type": "array"
      +        },
      +        "title": {
      +          "description": "Title of the step (only for shared steps)",
      +          "type": "string"
      +        },
      +        "type": {
      +          "description": "Type of the step. Known values: \"standalone\" | \"shared\" | \"shared_sub_step\"",
      +          "type": "string"
      +        },
      +        "version": {
      +          "description": "Version of the step",
      +          "type": "number"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "version",
      +        "isLatest",
      +        "type"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "properties": {
      +    "data": {
      +      "anyOf": [
      +        {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "authorId": {
      +                "description": "Unique identifier of the user who added the test case",
      +                "type": "number"
      +              },
      +              "comment": {
      +                "description": "Test case precondition text (HTML). DEPRECATED — prefer the `precondition` object",
      +                "type": "string"
      +              },
      +              "createdAt": {
      +                "description": "Test case creation time (ISO 8601)",
      +                "type": "string"
      +              },
      +              "customFields": {
      +                "additionalProperties": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "isDefault": {
      +                      "description": "Whether the value is the default set by the system",
      +                      "type": "boolean"
      +                    },
      +                    "value": {
      +                      "description": "Current custom field value",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "value",
      +                    "isDefault"
      +                  ],
      +                  "type": "object"
      +                },
      +                "description": "Custom field values",
      +                "propertyNames": {
      +                  "type": "string"
      +                },
      +                "type": "object"
      +              },
      +              "files": {
      +                "anyOf": [
      +                  {
      +                    "items": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "fileName": {
      +                          "description": "Original file name",
      +                          "type": "string"
      +                        },
      +                        "id": {
      +                          "description": "File identifier",
      +                          "type": "string"
      +                        },
      +                        "mimeType": {
      +                          "description": "MIME type of the file",
      +                          "type": "string"
      +                        },
      +                        "size": {
      +                          "description": "File size in bytes",
      +                          "type": "number"
      +                        },
      +                        "url": {
      +                          "description": "URL of the file (missing for files uploaded via older routes)",
      +                          "format": "uri",
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "id",
      +                        "fileName",
      +                        "mimeType",
      +                        "size"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "type": "array"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "List of files attached to the test case"
      +              },
      +              "filledTCaseTitleSuffixParams": {
      +                "description": "Parameter names whose substituted values are appended to each filled test case title for disambiguation (only for template test cases).",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "folder": {
      +                "additionalProperties": false,
      +                "description": "Folder where the test case is placed",
      +                "properties": {
      +                  "comment": {
      +                    "description": "Additional notes or description (HTML)",
      +                    "type": "string"
      +                  },
      +                  "id": {
      +                    "description": "Unique identifier for the folder",
      +                    "type": "number"
      +                  },
      +                  "parentId": {
      +                    "description": "ID of the parent folder (0 for root folders)",
      +                    "type": "number"
      +                  },
      +                  "pos": {
      +                    "description": "Position of the folder among its siblings",
      +                    "type": "number"
      +                  },
      +                  "projectId": {
      +                    "description": "ID of the project the folder belongs to",
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "description": "Name of the folder",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "projectId",
      +                  "id",
      +                  "parentId",
      +                  "pos",
      +                  "title",
      +                  "comment"
      +                ],
      +                "type": "object"
      +              },
      +              "folderId": {
      +                "description": "Identifier of the folder where the test case is placed",
      +                "type": "number"
      +              },
      +              "id": {
      +                "description": "Unique identifier of the test case",
      +                "type": "string"
      +              },
      +              "isDraft": {
      +                "description": "Whether the test case is still in draft state",
      +                "type": "boolean"
      +              },
      +              "isEmpty": {
      +                "description": "Whether the test case is empty (has no precondition and steps)",
      +                "type": "boolean"
      +              },
      +              "isLatestVersion": {
      +                "description": "Whether this is the latest version of the test case",
      +                "type": "boolean"
      +              },
      +              "legacyId": {
      +                "description": "Legacy identifier of the test case (empty string if none is set)",
      +                "type": "string"
      +              },
      +              "links": {
      +                "anyOf": [
      +                  {
      +                    "items": {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "text": {
      +                          "description": "Title of the link",
      +                          "type": "string"
      +                        },
      +                        "url": {
      +                          "description": "URL of the link",
      +                          "format": "uri",
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "text",
      +                        "url"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "type": "array"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ],
      +                "description": "Additional links relevant to the test case"
      +              },
      +              "numFilledTCases": {
      +                "description": "Number of corresponding filled test cases (only for template test cases)",
      +                "type": "number"
      +              },
      +              "parameterValues": {
      +                "description": "Parameter substitutions for filled test cases (only for template test cases)",
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "tcaseId": {
      +                      "description": "ID of the filled test case",
      +                      "type": "string"
      +                    },
      +                    "tcaseVersion": {
      +                      "description": "Version of the filled test case",
      +                      "type": "number"
      +                    },
      +                    "values": {
      +                      "additionalProperties": {
      +                        "type": "string"
      +                      },
      +                      "description": "Parameter values substituted for this filled test case",
      +                      "propertyNames": {
      +                        "type": "string"
      +                      },
      +                      "type": "object"
      +                    }
      +                  },
      +                  "required": [
      +                    "tcaseId",
      +                    "tcaseVersion",
      +                    "values"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "path": {
      +                "description": "Folder path to the test case",
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "comment": {
      +                      "description": "Additional notes or description (HTML)",
      +                      "type": "string"
      +                    },
      +                    "id": {
      +                      "description": "Unique identifier for the folder",
      +                      "type": "number"
      +                    },
      +                    "parentId": {
      +                      "description": "ID of the parent folder (0 for root folders)",
      +                      "type": "number"
      +                    },
      +                    "pos": {
      +                      "description": "Position of the folder among its siblings",
      +                      "type": "number"
      +                    },
      +                    "projectId": {
      +                      "description": "ID of the project the folder belongs to",
      +                      "type": "string"
      +                    },
      +                    "title": {
      +                      "description": "Name of the folder",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "projectId",
      +                    "id",
      +                    "parentId",
      +                    "pos",
      +                    "title",
      +                    "comment"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "pos": {
      +                "description": "Ordered position (0-based) of the test case in its folder",
      +                "type": "number"
      +              },
      +              "precondition": {
      +                "additionalProperties": false,
      +                "description": "Test case precondition object (may be a shared or standalone precondition)",
      +                "properties": {
      +                  "createdAt": {
      +                    "description": "Precondition creation time (ISO 8601)",
      +                    "type": "string"
      +                  },
      +                  "deletedAt": {
      +                    "description": "Precondition deletion time (ISO 8601)",
      +                    "type": "string"
      +                  },
      +                  "id": {
      +                    "description": "ID of the precondition",
      +                    "type": "number"
      +                  },
      +                  "isLatest": {
      +                    "description": "Whether the precondition's version is the latest",
      +                    "type": "boolean"
      +                  },
      +                  "projectId": {
      +                    "description": "Project id the precondition belongs to",
      +                    "type": "string"
      +                  },
      +                  "text": {
      +                    "description": "Precondition text (HTML format)",
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "description": "Title of the precondition (only for shared preconditions)",
      +                    "type": "string"
      +                  },
      +                  "type": {
      +                    "description": "Type of the precondition. Known values: \"standalone\" | \"shared\"",
      +                    "type": "string"
      +                  },
      +                  "updatedAt": {
      +                    "description": "Precondition last-update time (ISO 8601)",
      +                    "type": "string"
      +                  },
      +                  "version": {
      +                    "description": "Version of the precondition",
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "projectId",
      +                  "id",
      +                  "version",
      +                  "isLatest",
      +                  "type",
      +                  "text",
      +                  "createdAt",
      +                  "updatedAt"
      +                ],
      +                "type": "object"
      +              },
      +              "priority": {
      +                "description": "Priority of the test case. Known values: \"high\" | \"medium\" | \"low\"",
      +                "type": "string"
      +              },
      +              "project": {
      +                "additionalProperties": false,
      +                "description": "Project the test case belongs to",
      +                "properties": {
      +                  "archivedAt": {
      +                    "anyOf": [
      +                      {
      +                        "type": "string"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ],
      +                    "description": "Project archival time (ISO 8601); null if the project is not archived"
      +                  },
      +                  "code": {
      +                    "description": "Project code (e.g., BDI)",
      +                    "type": "string"
      +                  },
      +                  "createdAt": {
      +                    "description": "Project creation time (ISO 8601)",
      +                    "type": "string"
      +                  },
      +                  "id": {
      +                    "description": "Unique identifier of the project",
      +                    "type": "string"
      +                  },
      +                  "links": {
      +                    "anyOf": [
      +                      {
      +                        "items": {
      +                          "additionalProperties": false,
      +                          "properties": {
      +                            "text": {
      +                              "description": "Title of the link",
      +                              "type": "string"
      +                            },
      +                            "url": {
      +                              "description": "URL of the link",
      +                              "format": "uri",
      +                              "type": "string"
      +                            }
      +                          },
      +                          "required": [
      +                            "text",
      +                            "url"
      +                          ],
      +                          "type": "object"
      +                        },
      +                        "type": "array"
      +                      },
      +                      {
      +                        "type": "null"
      +                      }
      +                    ],
      +                    "description": "Project links"
      +                  },
      +                  "overviewDescription": {
      +                    "description": "Project overview description (HTML)",
      +                    "type": "string"
      +                  },
      +                  "overviewTitle": {
      +                    "description": "Project overview title",
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "description": "Project title",
      +                    "type": "string"
      +                  },
      +                  "updatedAt": {
      +                    "description": "Project last-update time (ISO 8601)",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id",
      +                  "code",
      +                  "title",
      +                  "overviewTitle",
      +                  "overviewDescription",
      +                  "links",
      +                  "createdAt",
      +                  "updatedAt",
      +                  "archivedAt"
      +                ],
      +                "type": "object"
      +              },
      +              "requirements": {
      +                "description": "Test case requirements",
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "id": {
      +                      "description": "Requirement identifier",
      +                      "type": "string"
      +                    },
      +                    "text": {
      +                      "description": "Title of the requirement",
      +                      "type": "string"
      +                    },
      +                    "url": {
      +                      "anyOf": [
      +                        {
      +                          "format": "uri",
      +                          "type": "string"
      +                        },
      +                        {
      +                          "const": "",
      +                          "type": "string"
      +                        }
      +                      ],
      +                      "description": "URL of the requirement"
      +                    }
      +                  },
      +                  "required": [
      +                    "id",
      +                    "text",
      +                    "url"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "seq": {
      +                "description": "Sequence number of the test case within its project (assigned incrementally)",
      +                "type": "number"
      +              },
      +              "steps": {
      +                "description": "List of test case steps",
      +                "items": {
      +                  "$ref": "#/definitions/__schema0"
      +                },
      +                "type": "array"
      +              },
      +              "tags": {
      +                "description": "List of test case tags",
      +                "items": {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "id": {
      +                      "description": "Tag identifier",
      +                      "type": "number"
      +                    },
      +                    "title": {
      +                      "description": "Tag title",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "id",
      +                    "title"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "templateTCaseId": {
      +                "description": "Corresponding template test case ID (only for filled test cases)",
      +                "type": "string"
      +              },
      +              "title": {
      +                "description": "Title of the test case",
      +                "type": "string"
      +              },
      +              "type": {
      +                "description": "Type of the test case. Known values: \"standalone\" | \"template\" | \"filled\"",
      +                "type": "string"
      +              },
      +              "updatedAt": {
      +                "description": "Test case last-update time (ISO 8601)",
      +                "type": "string"
      +              },
      +              "version": {
      +                "description": "Version of the test case. Updates (except folder/pos) create a new version",
      +                "type": "number"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "legacyId",
      +              "version",
      +              "type",
      +              "title",
      +              "seq",
      +              "folderId",
      +              "pos",
      +              "priority",
      +              "comment",
      +              "files",
      +              "links",
      +              "authorId",
      +              "isDraft",
      +              "isLatestVersion",
      +              "isEmpty",
      +              "createdAt",
      +              "updatedAt"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "List of test cases"
      +    },
      +    "limit": {
      +      "description": "Number of test cases per page",
      +      "type": "number"
      +    },
      +    "page": {
      +      "description": "Current page number",
      +      "type": "number"
      +    },
      +    "total": {
      +      "description": "Total number of filtered test cases",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "total",
      +    "page",
      +    "limit",
      +    "data"
      +  ],
      +  "type": "object"
      +}
  3. First observedv1.0.0

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It conveys the essential read-only listing behavior and mentions pagination and filtering, but these facts mostly restate what the schema already documents (limit, offset, filter parameters), and it does not disclose defaults such as whether draft test cases are returned by default or how multiple filters combine. The low-risk nature of a read-only list tool partially offsets this thinness.

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 short sentences (~30 words) with the purpose front-loaded and no filler. The second sentence is slightly redundant with the schema's pagination/filter parameters, but it aids quick capability scanning, and the get_project hint earns its place as cross-tool guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 15-parameter tool with nested objects and an output schema present, the description delivers adequate high-level orientation and a useful sequencing hint, and return shapes are covered by the output schema. However, it lacks guidance on how filters combine and does not route users to get_test_case for single-case lookups, which would be valuable at this complexity level. Some additional orientation would push this higher.

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 description coverage is 100% and the parameter descriptions are rich (e.g., 'Use 0 to fetch only the total count', the customFields format caveat, sortOrder requiring sortField). The description adds only the generic phrase 'various filtering options,' which does not exceed what the schema provides, so the baseline 3 applies.

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?

States a specific verb ('List') and resource ('test cases from a project in QA Sphere'), and the phrase 'Supports pagination and various filtering options' clarifies the listing scope. It does not explicitly differentiate from siblings like get_test_case or list_test_cases_tags, which prevents a 5.

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 closing sentence provides actionable sequencing guidance: 'Usually it makes sense to call get_project tool first to get the project context.' This is genuine usage advice, but there is no when-not-to-use guidance or explicit comparison with alternatives such as get_test_case for a single case or list_test_cases_tags for tag-focused listing, so routing between siblings is left to inference.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Hypersequent/qasphere-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server