Skip to main content
Glama

list_manual_test_suites

List test suites hierarchically to find suite IDs for test case creation. Navigate structure and understand test organization.

Instructions

List the test suite hierarchy to help users find suiteIds for test case creation. Use this to navigate the test suite structure and understand test organization.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectIdYesProject ID (Required). The TestDino project identifier.
parentSuiteIdNoOptional parent suite ID to fetch only children of a specific suite. If not provided, returns the root-level suites.

Implementation Reference

  • The handler function that executes the 'list_manual_test_suites' tool logic. Validates token and projectId, builds the API URL via endpoints.listManualTestSuites(), makes an authenticated GET request, and returns the response as text content.
    export async function handleListManualTestSuites(
      args?: ListManualTestSuitesArgs
    ) {
      // Read PAT from environment variable (set in mcp.json) or from args
      const token = getApiKey(args);
    
      if (!token) {
        throw new Error(
          "Missing TESTDINO_PAT environment variable. " +
            "Please configure it in your .cursor/mcp.json file under the 'env' section."
        );
      }
    
      // Validate required parameter
      if (!args?.projectId) {
        throw new Error("projectId is required");
      }
    
      try {
        const params: ListManualTestSuitesParams = {
          projectId: String(args.projectId),
        };
    
        // Add optional parent suite filter
        if (args?.parentSuiteId) {
          params.parentSuiteId = String(args.parentSuiteId);
        }
    
        const listManualTestSuitesUrl = endpoints.listManualTestSuites(params);
    
        const response = await apiRequestJson<unknown>(listManualTestSuitesUrl, {
          headers: {
            Authorization: `Bearer ${token}`,
          },
        });
    
        return {
          content: [
            {
              type: "text",
              text: JSON.stringify(response, null, 2),
            },
          ],
        };
      } catch (error) {
        const errorMessage = error instanceof Error ? error.message : String(error);
        throw new Error(`Failed to list manual test suites: ${errorMessage}`);
      }
    }
  • Type interfaces ListManualTestSuitesArgs and ListManualTestSuitesParams defining the input schema (projectId required, parentSuiteId optional).
    interface ListManualTestSuitesArgs {
      projectId: string;
      parentSuiteId?: string;
    }
    
    interface ListManualTestSuitesParams {
      projectId: string;
      parentSuiteId?: string;
    }
  • Tool definition object (listManualTestSuitesTool) containing name 'list_manual_test_suites', description, and JSON input schema (projectId string required, parentSuiteId string optional).
    export const listManualTestSuitesTool = {
      name: "list_manual_test_suites",
      description:
        "List the test suite hierarchy to help users find suiteIds for test case creation. Use this to navigate the test suite structure and understand test organization.",
      inputSchema: {
        type: "object",
        properties: {
          projectId: {
            type: "string",
            description: "Project ID (Required). The TestDino project identifier.",
          },
          parentSuiteId: {
            type: "string",
            description:
              "Optional parent suite ID to fetch only children of a specific suite. If not provided, returns the root-level suites.",
          },
        },
        required: ["projectId"],
      },
  • src/index.ts:261-265 (registration)
    Registration of the tool handler in the main server's callTool handler: routes the name 'list_manual_test_suites' to handleListManualTestSuites.
    if (name === "list_manual_test_suites") {
      return await handleListManualTestSuites(
        args as Parameters<typeof handleListManualTestSuites>[0]
      );
    }
  • src/index.ts:111-112 (registration)
    Tool registration: listManualTestSuitesTool is included in the tools array passed to the server.
    listManualTestSuitesTool,
    createManualTestSuiteTool,
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, pagination, ordering, or depth of hierarchy. The description is too minimal for a tool without annotation support.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with no superfluous information. The first sentence states the action and value, the second provides usage 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?

The description covers input parameters well but lacks output details (e.g., response format, pagination) since no output schema is provided. It is adequate but leaves gaps for an agent expecting return value information.

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%, so the schema already documents both parameters fully. The description adds no additional meaning beyond the schema, resulting in a baseline score of 3.

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 clearly states the tool lists the test suite hierarchy and explicitly connects it to finding suiteIds for test case creation, which distinguishes it from sibling list tools and gives a specific use case.

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?

The description advises using it to navigate the test suite structure and understand organization, but does not provide explicit exclusions or alternative tools when not to use it.

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

Install Server

Other Tools

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/testdino-hq/testdino-mcp'

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