Skip to main content
Glama

list_folders

Read-onlyIdempotent

Get a flat list of all folders and suites in a project, with IDs and metadata, to browse the structure and locate specific items for further actions.

Instructions

List the folder and suite tree of a project as a flat array under folders, with a total count. Every row carries id, name, type (folder or suite), parentId, path, depth, casesCount, childFolderCount, displayOrder, createdAt and updatedAt, which is enough to find the suites without a second call. It is NOT enough to rank folders by size: casesCount counts only the cases directly in a folder, so it reads 0 on most containers and ranking by it surfaces the biggest leaf rather than the biggest branch. For a size ranking, rebuild the tree from parentId and sum the descendants, or call get_folder with includeStats for one subtree at a time. casesCount and childFolderCount count LIVE rows only, so archived cases and archived subfolders are invisible here unless you pass includeDeleted. Use this to browse or to find an id, then get_folder for one folder in detail. Suites are the leaf nodes that hold test cases; use list_test_cases for the cases themselves.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectIdYesProject UUID to list folders from
includeDeletedNoInclude archived/deleted folders

Schema Changelog

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

  1. Changed1 schema field changedv1.5.3
    • removedInput schema / properties / includeStats
      Removed value: -{
      -  "default": false,
      -  "description": "Include basic statistics (slower query)",
      -  "type": "boolean"
      -}
  2. First observedv1.5.0

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare this as read-only and idempotent, so no safety contradiction. The description adds valuable behavioral context: casesCount only counts direct cases, childFolderCount and casesCount ignore archived data unless includeDeleted is passed, and the output contains enough fields to rebuild the tree. These are non-obvious behaviors an agent needs to know.

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 long but every sentence adds useful information: output shape, field list, use cases, caveats about counting, and routing to siblings. It is front-loaded with the core purpose and then covers the two most important behavioral caveats. A slightly shorter version would be possible, but the density of useful guidance justifies the length.

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?

There is no output schema, so the description must stand in for return-value documentation. It does this thoroughly by enumerating all key fields, indicating the response structure as flat array under folders, and covering edge cases around archived content and hierarchical counting. It also integrates sibling routing, so detail can be retrieved with get_folder and test cases with list_test_cases.

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?

The schema already describes the two parameters, so the baseline is 3. The description earns an extra point by explaining the practical effect of includeDeleted: 'archived cases and archived subfolders are invisible here unless you pass includeDeleted.' It clarifies that the tree representation includes enough fields to derive paths and descendants from parentId, going beyond the raw schema.

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 states a specific verb and resource: 'List the folder and suite tree of a project as a flat array under folders, with a total count.' It clearly identifies what the tool does, the kind of data returned, and how it differs from get_folder and list_test_cases by explicitly naming those alternatives.

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?

The description gives explicit guidance on when to use this tool versus alternatives: 'Use this to browse or to find an id, then get_folder for one folder in detail' and 'use list_test_cases for the cases themselves.' It also explains when this tool is NOT appropriate, such as for size ranking, and names the better alternative with get_folder includeStats.

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/m00nreport/mcp-server'

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