Skip to main content
Glama

list_test_suites

Retrieve test suites for a specific project in Zebrunner Test Case Management, supporting pagination and multiple output formats to organize testing workflows.

Instructions

📋 List test suites for a project (✅ Verified Working)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoOutput formatjson
include_clickable_linksNoInclude clickable links to Zebrunner web UI
include_hierarchyNoInclude hierarchy information
pageNoPage number (0-based)
page_tokenNoPage token for pagination
project_idNoProject ID (alternative to project_key)
project_keyYesProject key (e.g., 'android' or 'ANDROID')
sizeNoPage size (configurable via MAX_PAGE_SIZE env var)

Implementation Reference

  • The core handler function that implements the logic for the 'list_test_suites' MCP tool, including input validation, API call, output parsing, and response formatting.
    async (args) => { const { project_key, project_id } = args; if (!project_key && !project_id) { throw new Error("Either project_key or project_id must be provided"); } const suites = await client.listTestSuites({ projectKey: project_key, projectId: project_id }); const data = suites.map((s: unknown) => { const parsed = TestSuiteSchema.safeParse(s); return parsed.success ? parsed.data : s; }); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] }; }
  • src/index.ts:130-148 (registration)
    Registration of the 'list_test_suites' tool with MCP server, including name, description, input schema, and handler.
    "list_test_suites", "Return list of Zebrunner test suites for a project (requires project_key or project_id)", { project_key: z.string().optional(), project_id: z.number().int().positive().optional() }, async (args) => { const { project_key, project_id } = args; if (!project_key && !project_id) { throw new Error("Either project_key or project_id must be provided"); } const suites = await client.listTestSuites({ projectKey: project_key, projectId: project_id }); const data = suites.map((s: unknown) => { const parsed = TestSuiteSchema.safeParse(s); return parsed.success ? parsed.data : s; }); return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] }; } );
  • Zod schema for input parameters of the list_test_suites tool (project_key or project_id required).
    export const ListTestSuitesSchema = z.object({ project_key: z.string().optional(), project_id: z.number().int().positive().optional() }).refine(data => data.project_key || data.project_id, { message: "Either project_key or project_id must be provided" });
  • ZebrunnerClient helper method that makes the HTTP request to fetch test suites from the Zebrunner API.
    async listTestSuites(params: TestSuiteParams): Promise<any[]> { const { projectKey, projectId } = params; const res = await this.http.get("/test-suites", { params: { projectKey, projectId } }); // API returns {items: [], _meta: {}} structure return Array.isArray(res.data) ? res.data : (res.data?.items || []); }

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/maksimsarychau/mcp-zebrunner'

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