Skip to main content
Glama
TCSoftInc

TestCollab MCP Server

by TCSoftInc

TestCollab MCP Server

Connect your AI coding assistant to TestCollab — manage test cases, test plans, and suites directly from Claude, Cursor, Windsurf, Codex, or any MCP-compatible client.

Quick Start

1. Get your API token

Log in to TestCollab → My Profile SettingsAPI Token tab → Generate new API token.

2. Add the server to your MCP client

Claude Code — add to .mcp.json in your project root:

{
  "mcpServers": {
    "testcollab": {
      "command": "npx",
      "args": ["-y", "@testcollab/mcp-server"],
      "env": {
        "TC_API_TOKEN": "your-api-token",
        "TC_API_URL": "https://api.testcollab.io",
        "TC_DEFAULT_PROJECT": "16"
      }
    }
  }
}

Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "testcollab": {
      "command": "npx",
      "args": ["-y", "@testcollab/mcp-server"],
      "env": {
        "TC_API_TOKEN": "your-api-token",
        "TC_API_URL": "https://api.testcollab.io",
        "TC_DEFAULT_PROJECT": "16"
      }
    }
  }
}

Codex - register TestCollab from the command line:

codex mcp add testcollab \
  --env TC_API_TOKEN=your-api-token \
  --env TC_API_URL=https://api.testcollab.io \
  --env TC_DEFAULT_PROJECT=16 \
  -- npx -y @testcollab/mcp-server

Or add the server to ~/.codex/config.toml for all projects, or .codex/config.toml in a trusted project:

[mcp_servers.testcollab]
command = "npx"
args = ["-y", "@testcollab/mcp-server"]

[mcp_servers.testcollab.env]
TC_API_TOKEN = "your-api-token"
TC_API_URL = "https://api.testcollab.io"
TC_DEFAULT_PROJECT = "16"

Run codex mcp list to confirm the server is configured. See the official Codex MCP documentation for configuration scopes and additional options.

Cursor — add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "testcollab": {
      "command": "npx",
      "args": ["-y", "@testcollab/mcp-server"],
      "env": {
        "TC_API_TOKEN": "your-api-token",
        "TC_API_URL": "https://api.testcollab.io",
        "TC_DEFAULT_PROJECT": "16"
      }
    }
  }
}

Manual Testing

TC_API_TOKEN=your-token npm start

Related MCP server: Testmo MCP Server

Available Tools

list_test_cases

List test cases from a project with optional filtering.

Parameters:

Name

Type

Required

Description

project_id

number

No*

Project ID (*required if TC_DEFAULT_PROJECT not set)

suite

number|string

No

Filter by suite ID or title

filter

object

No

Filter conditions

sort

array

No

Sort specification

limit

number

No

Max results (1-100, default: 50)

offset

number

No

Skip N results (default: 0)

3. Verify

Restart your client, then ask: "What tools do you have for TestCollab?"

You should see the TestCollab tools listed. Try: "Show me all test cases".

Configuration

Variable

Required

Default

Description

TC_API_TOKEN

Yes

API token from your TestCollab profile

TC_API_URL

No

https://api.testcollab.io

TestCollab API base URL

TC_DEFAULT_PROJECT

No

Default project ID (makes project_id optional in every tool call)

EU region: If your TestCollab account is hosted in the EU, use https://api-eu.testcollab.io as your TC_API_URL.

What You Can Do

Tool

Description

get_project_context

Get suites, tags, custom fields, requirements, test plan folders, releases, users — call this first

list_test_cases

Query test cases with filtering, sorting, and pagination

get_test_case

Fetch a test case with full step details

create_test_case

Create a test case with steps, tags, custom fields

update_test_case

Update any test case field

list_test_plans

List test plans with filtering/sorting (including release ID/title filters)

get_test_plan

Fetch one test plan with included test cases count, configurations, runs, current progress status, and release info

create_test_plan

Create a test plan with cases, configurations, assignment, and optional release association

update_test_plan

Update test plan metadata, status, assignment, and release association

delete_test_plan

Delete a test plan

list_suites

List all test suites in a project (supports title, parent, and description filters)

get_suite

Get suite details

create_suite

Create a new suite

update_suite

Update a suite

delete_suite

Delete a suite

move_suite

Move a suite to a different parent

reorder_suites

Reorder suites within a parent

Example Prompts

"Show me all high-priority test cases in the Login suite"

"Create a test case for verifying password reset with 5 steps"

"List all test plans created this week"

"Create a regression test plan with all test cases tagged 'smoke'"

"Move the Payment suite under the Checkout suite"

See Use Cases for detailed workflows.

Local Development Setup

If you're contributing or want to run from source instead of npx:

git clone <repo-url>
cd tc-mcp-server
npm install
npm run build

Then point your MCP client to the built file:

{
  "mcpServers": {
    "testcollab": {
      "command": "node",
      "args": ["/path/to/tc-mcp-server/dist/index.js"],
      "env": {
        "TC_API_TOKEN": "your-api-token",
        "TC_API_URL": "http://localhost:1337",
        "TC_DEFAULT_PROJECT": "16"
      }
    }
  }
}

Dev Commands

npm run dev          # Watch mode with hot reload
npm run build        # Compile TypeScript
npm test             # Run tests
npm run typecheck    # Type check
npm run lint         # Lint

Troubleshooting

Server not appearing in your client

  • Restart the client after adding the config

  • Verify Node.js 20+ is installed: node --version

  • Test manually: TC_API_TOKEN=your-token npx @testcollab/mcp-server

Authentication errors

  • Verify your API token is valid and not expired

  • Check that TC_API_URL points to the correct server

"project_id is required" error

  • Set TC_DEFAULT_PROJECT in your env config, or

  • Specify the project in your prompt: "Show me test cases in project 16"

License

MIT

Available Tools

17 tools
create_suiteA

Create a new test suite in TestCollab. Tip: Call get_project_context first to see existing suites and resolve parent suite names to IDs.

Required: title Optional: project_id, parent (suite ID or title), description

Examples: Root suite: { "title": "Authentication" } Child suite: { "title": "Login", "parent": "Authentication" } With description: { "title": "API Tests", "description": "Tests for REST API endpoints" }

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesSuite title (required)
parentNoParent suite ID or title. Omit for a root-level suite.
project_idNoProject ID (optional if TC_DEFAULT_PROJECT is set)
descriptionNoSuite description

TDQS

A4.3/5.0
Behavior3/5

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

No annotations provided, so description carries the burden. It explains parent parameter accepts ID or title and references default project for project_id. However, it does not disclose side effects, error handling, or idempotency, leaving gaps in transparency.

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?

Concise with a clear structure: single-line purpose, a practical tip, required/optional breakdown, and three illustrative examples. No unnecessary words, and every sentence adds value.

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?

Given 4 parameters, no output schema, and sibling tools like get_project_context, the description provides all necessary context: parameter roles, example payloads, and a helpful reference. Complete for its complexity level.

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?

Schema coverage is 100%, so baseline is 3. Description adds value by providing usage context for project_id (optional if default set), examples demonstrating title and parent as string or number, and a tip to resolve parent titles, going beyond schema descriptions.

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 'Create a new test suite in TestCollab' with specific verb and resource. Examples and parameter lists reinforce purpose, distinguishing it from sibling tools like update_suite, delete_suite, and move_suite.

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?

Includes a tip to call get_project_context first to resolve parent suite names. Lists required and optional parameters, with examples for root and child suites. Does not explicitly exclude scenarios or mention alternatives, but context is sufficient for typical use.

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

create_test_caseA

Create a new test case in TestCollab. Tip: Call get_project_context first to resolve suite/tag/custom field names to IDs.

Required: title Optional: project_id, suite (ID or title), description, priority (0=Low, 1=Normal, 2=High), steps, tags, requirements, custom_fields, attachments

Steps format: [{ "step": "action", "expected_result": "result" }]

Custom fields format: [{ "id": 5, "name": "field_name", "value": "value", "valueLabel": "display" }]

Example: { "title": "Verify login", "priority": 2, "steps": [ { "step": "Navigate to login", "expected_result": "Page loads" }, { "step": "Enter credentials", "expected_result": "Login succeeds" } ] }

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoArray of tag IDs or names
stepsNoArray of test steps
suiteNoSuite ID or suite title
titleYesTest case title (required)
priorityNoPriority: 0=Low, 1=Normal, 2=High
project_idNoProject ID (optional if TC_DEFAULT_PROJECT is set)
attachmentsNoArray of attachment file IDs
descriptionNoTest case description (HTML supported)
requirementsNoArray of requirement IDs or names
custom_fieldsNoArray of custom field values (id optional if name provided)

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It correctly indicates a creation operation (write) but does not disclose any side effects, permissions needed, or the response format. The description is adequate but could be more transparent about what happens after creation.

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 fairly concise given the complexity (10 parameters). It front-loads the purpose, then groups required/optional, and provides structured examples. Minor redundancy exists but overall efficient.

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?

Given the tool's complexity (10 params, no output schema), the description covers parameters, formats, and a cross-tool tip. It lacks what the response will be (e.g., created test case ID), but still provides sufficient context for correct invocation.

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?

Input schema coverage is 100%, so baseline is 3. The description adds significant value by providing step and custom field formats, an example usage, and clarifying that suite can be an ID or title. This enriches the semantic understanding beyond the 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 explicitly states 'Create a new test case in TestCollab.' This is a specific verb-resource pair that clearly distinguishes it from sibling tools like create_suite or create_test_plan.

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 includes a helpful tip to call get_project_context first to resolve names to IDs, providing clear usage guidance. It also lists required and optional parameters. However, it does not explicitly contrast with alternatives like update_test_case or state when not to use this tool.

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

create_test_planA

Create a test plan in TestCollab using a single MCP tool call.

Before calling this tool:

  • Ask follow-up questions for missing required information.

  • Do not infer or auto-generate required values like project_id.

Execution flow:

  1. POST /testplans

  2. POST /testplantestcases/bulkAdd (optional)

  3. POST /testplanconfigurations (optional)

  4. POST /testplans/assign (optional)

Optional:

  • project_id

  • title (defaults to "Test Plan DD Month YYYY HH:mm:ss" if omitted)

  • description

  • priority (0=Low, 1=Normal, 2=High)

  • test_plan_folder (ID or title)

  • release (ID or title)

  • start_date, end_date

  • custom_fields

  • test_cases (test_case_ids/selector/assignee; assignee supports user ID/"me"/name)

  • configurations

  • assignment (supports user IDs/"me"/names; if user says "assign to me", use "me")

Example: { "project_id": 16, "title": "Release 2.9 Regression", "priority": 1, "test_cases": { "test_case_ids": [101, 102, 103] }, "configurations": [ [{ "field": "Browser", "value": "Chrome" }, { "field": "OS", "value": "Windows" }] ], "assignment": { "executor": "team", "assignment_criteria": "testCase", "assignment_method": "automatic", "user_ids": [27, 31] } }

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoTest plan title (optional; defaults to "Test Plan DD Month YYYY HH:mm:ss")
releaseNoRelease ID or title
end_dateNoPlanned end date (YYYY-MM-DD)
priorityNoPriority: 0=Low, 1=Normal, 2=High
assignmentNoAssignment payload to execute after creation
project_idNoProject ID (optional if TC_DEFAULT_PROJECT is set)
start_dateNoPlanned start date (YYYY-MM-DD)
test_casesNoTest cases to bulk-add immediately after plan creation
descriptionNoTest plan description (HTML supported)
custom_fieldsNoArray of test plan custom field values
configurationsNoConfiguration matrix to attach to the test plan
test_plan_folderNoTest plan folder ID or title (null to place at root)

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It details the execution flow (4 POST steps), optional parameters, defaults (title), and behavior for assignee and assignment. It could mention side effects like notifications but overall is transparent.

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 well-structured with sections (prerequisites, execution flow, parameter details, example). It's somewhat lengthy but each part adds value. Could be slightly leaner, but front-loaded and clear.

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?

Given 12 parameters, nested objects, no output schema, and complex behavior, the description covers prerequisites, flow, parameters with examples, and defaults. It lacks potential error conditions or permissions but is largely complete.

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?

Schema coverage is 100% but description adds value: clarifies assignee supports 'me'/names, relationship between test_cases and assignment, and provides example JSON. Enhances understanding beyond 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 clearly states 'Create a test plan in TestCollab using a single MCP tool call.' It distinguishes from siblings (e.g., update_test_plan, delete_test_plan) by focusing on creation and detailing the multi-step execution flow.

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 provides explicit prerequisites ('Ask follow-up questions for missing required information', 'Do not infer or auto-generate required values like project_id') and an example. It lacks explicit when-not-to-use guidance but the context of creation vs update is implicit.

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

delete_suiteA

Delete a test suite from TestCollab.

WARNING: This will delete the suite and may affect child suites and test cases. Use with caution.

Required: id (suite ID) Optional: project_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSuite ID to delete (required)
project_idNoProject ID (optional if TC_DEFAULT_PROJECT is set)

TDQS

A3.6/5.0
Behavior3/5

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

The description warns that deletion 'may affect child suites and test cases', which is a key behavioral trait. However, it does not disclose whether deletion is reversible, requires specific permissions, or what happens to the test cases. Since no annotations are provided, the description partially addresses behavior but lacks completeness.

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 concise: three sentences covering action, warning, and parameter summary. It is front-loaded with the primary purpose and uses clear, direct language without superfluous details.

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?

Given the tool's simplicity (two parameters, no output schema), the description covers the essential: what it does, a critical warning about cascading effects, and parameter identification. It does not mention return values or error handling, which are minor omissions for a delete operation.

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?

With 100% schema coverage, the baseline is 3. The description repeats parameter roles ('Required: id (suite ID)', 'Optional: project_id') without adding new meaning beyond the schema's type and description. No additional constraints or usage hints are provided, so it adds minimal value.

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 'Delete a test suite from TestCollab', using a specific verb and resource. It distinguishes itself from sibling tools like create_suite, update_suite, and get_suite, leaving no ambiguity about its function.

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

Usage Guidelines2/5

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

The description lacks guidance on when to use this tool versus alternatives such as update_suite or move_suite. The warning to 'Use with caution' is generic and does not specify prerequisites or scenarios where deletion is appropriate, leaving the agent without decision context.

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

delete_test_planA

Delete a test plan from TestCollab.

WARNING: This permanently deletes the test plan and related execution data.

Required: id (test plan ID) Optional: project_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTest plan ID to delete (required)
project_idNoProject ID (optional if TC_DEFAULT_PROJECT is set)

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It explicitly warns about permanent deletion of the test plan and related execution data, which is critical behavioral information. However, it does not describe return values or error conditions.

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 sentences plus a parameter line, with no wasted words. The purpose is front-loaded and the warning is prominently placed.

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?

Given the simplicity of the tool (2 parameters, no output schema), the description covers the key aspects: purpose, permanence warning, and parameter list. It could mention return behavior, but is otherwise complete.

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 baseline is 3. The description repeats the required/optional nature of the parameters without adding additional semantics beyond the 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 clearly states the verb 'Delete' and the resource 'a test plan from TestCollab'. It is specific and distinguishes from sibling tools like delete_suite.

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 description implies usage when deleting a test plan, but does not explicitly state when to use this tool versus alternatives or when not to use it. The warning about permanence provides context, but lacks exclusions.

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

get_project_contextA

Get project context including project name, description, application type, suite tree, tags, test_case_custom_fields, test_plan_custom_fields, requirements, test plan folders, releases, and project users. Returns the metadata needed to resolve human-readable names (e.g. suite titles, tag names, folder titles, release titles, user names) to numeric IDs used by other tools. Also returns the project description and app_type (web_app, mobile_app, api, desktop_app, other) which should inform the style of test steps you generate.

IMPORTANT: Call this tool at the start of every conversation before using any other TestCollab tool. This avoids errors from unresolved suite names, tag names, or custom field references.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNoProject ID (optional — uses default project if omitted)

TDQS

A4.4/5.0
Behavior4/5

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

The description details what is returned (project name, description, app_type, etc.) and explains that it helps resolve names to IDs. It also notes that app_type should inform test step generation. No annotations exist, so the description carries the burden, and it does well, though it does not explicitly state that the tool has no side effects.

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 informative but not excessively long. It uses a clear structure with a list of returned items and an important usage callout in bold. Every sentence serves a purpose.

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?

Given the tool's simplicity (one optional param, no output schema), the description is comprehensive. It covers the purpose, output, usage context, and even cues the agent on how to use the returned app_type. No gaps identified.

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?

The single parameter (project_id) has 100% schema coverage. The description does not add significant meaning beyond the schema's note about optionality. Baseline 3 is appropriate since the schema already documents the parameter adequately.

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 it retrieves project context including metadata for name-to-ID resolution. It lists specific items like suite tree, tags, custom fields, etc., and distinguishes itself from siblings by emphasizing its role as a prerequisite for other tools.

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?

Explicitly instructs the agent to call this tool 'at the start of every conversation before using any other TestCollab tool' to avoid errors. This provides clear when-to-use guidance and implies exclusion of other tools for this purpose.

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

get_suiteA

Get details of a specific test suite by ID. Returns the suite's title, description, parent_id, and other metadata.

Required: id (suite ID) Optional: project_id

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSuite ID to retrieve (required)
project_idNoProject ID (optional if TC_DEFAULT_PROJECT is set)

TDQS

A4/5.0
Behavior4/5

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

The description indicates a read-only operation by stating 'Get details' and 'Returns...'. Since annotations are not provided, the description bears the full burden. It is clear that the tool does not mutate data, and it specifies the return fields. Although it does not explicitly state idempotency or lack of side effects, the wording strongly implies a safe fetch.

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 concise, consisting of three short sentences. The first sentence states the primary purpose, the second lists return fields, and the third specifies parameter usage. No extraneous information is present, and every sentence contributes value.

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?

For a simple read tool with two parameters and no output schema or annotations, the description covers essential aspects: what it does, what it returns, and parameter roles. It lacks details about error handling or response structure beyond listed fields, but it is generally adequate for an agent to understand how to invoke it.

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?

The input schema already provides complete descriptions for both parameters (100% coverage). The description merely repeats the schema information (e.g., 'Required: id (suite ID) Optional: project_id'). It adds no additional meaning beyond what the schema offers, so the baseline score of 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?

The description clearly states the tool's purpose: 'Get details of a specific test suite by ID.' It also lists the specific fields returned (title, description, parent_id, and other metadata), which helps the agent understand exactly what data to expect. This differentiates it from sibling tools like create_suite, delete_suite, and list_suites.

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 description identifies required and optional parameters: 'Required: id (suite ID) Optional: project_id'. However, it does not provide guidance on when to use this tool versus alternatives like list_suites (which lists all suites) or get_test_plan (which retrieves a different resource). There is no explicit 'when-to-use' or 'when-not-to-use' context.

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

get_test_caseA

Fetch a single test case with full details, including steps and expected results.

Required: id (test case ID) Optional: project_id, parse_reusable_steps (default: true)

Example: { "id": 1835, "parse_reusable_steps": true }

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTest case ID to retrieve (required)
project_idNoProject ID (uses default if not specified)
parse_reusable_stepsNoParse reusable steps into full steps (default: true)

TDQS

A4/5.0
Behavior3/5

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

No annotations provided; description indicates a read operation ('fetch') but lacks explicit mention of side effects, rate limits, or full return structure beyond mentioning 'steps and expected results'.

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?

Description is concise, front-loaded with the action and resource, includes example, and contains no unnecessary words.

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?

Given no output schema, the description provides some return context (steps, expected results) but could be more detailed about the full response structure. Still adequate for a simple retrieval 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 baseline 3; the description adds an example and clarifies required/optional, but does not significantly enhance understanding beyond the 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 clearly states the tool fetches a single test case with full details including steps and expected results, distinguishing it from list_test_cases which returns multiple cases.

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 specifies required and optional parameters with defaults, and provides an example, but does not explicitly indicate when to prefer this over sibling tools like list_test_cases.

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

get_test_planA

Fetch a single test plan with summary details:

  • Included test cases count

  • Test plan configurations

  • Test plan runs

  • Current execution progress status

Required: id or title Optional: project_id, include_configurations, include_runs, runs_limit, runs_offset, runs_sort

Example: { "id": 812, "project_id": 16 }

or

{ "title": "Release 3.0 Regression", "project_id": 16 }

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoTest plan ID to retrieve. Accepts numeric ID or title string.
titleNoTest plan title to retrieve (alternative to id).
runs_sortNoRun sort expression (default: "id:desc")id:desc
project_idNoProject ID (uses default if not specified)
runs_limitNoMaximum number of runs to return (1-100, default: 20)
runs_offsetNoNumber of runs to skip (default: 0)
include_runsNoInclude test plan runs in the response (default: true)
include_configurationsNoInclude test plan configurations in the response (default: true)

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description bears full burden. It mentions the tool fetches data (read operation) and lists what is included, but does not disclose error handling, authentication requirements, rate limits, or what happens if the plan does not exist.

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 structured with a clear introductory sentence, bullet points listing included details, parameter guidance, and a code example. Every sentence earns its place with no redundancy or verbosity.

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?

Given 8 parameters (most with defaults), no output schema, and no annotations, the description covers core functionality and parameter usage well. It explains what the response includes (test cases count, configurations, runs, progress) but does not detail the response structure or error scenarios.

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?

Schema coverage is 100%, baseline 3. The description adds value by stating that 'id' accepts numeric ID or title string, providing explicit examples, and clarifying optional parameters like include_configurations and include_runs, which goes beyond the schema descriptions.

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 'Fetch a single test plan with summary details' and enumerates specific included data. This distinguishes it from siblings like list_test_plans (which returns multiple) and get_test_case/get_suite (different resources).

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 specifies required parameters (id or title) and optional ones, with examples showing usage. While it doesn't explicitly compare with alternatives, the context of sibling tools and the phrase 'single test plan' implies when to use this versus list_test_plans.

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

list_suitesA

List all test suites in a TestCollab project as a hierarchical tree. Returns the complete suite tree with parent-child relationships.

Each suite node includes: id, title, parent_id, children (nested suites).

Optional filter:

  • title: Filter suites by title substring.

  • title_contains: Filter suites by title substring (applied at API level).

  • parent: Filter suites by parent suite ID.

  • description: Filter suites by description substring.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoFilter suites whose title contains this string
parentNoFilter suites by parent suite ID
project_idNoProject ID (optional if TC_DEFAULT_PROJECT is set)
descriptionNoFilter suites whose description contains this string
title_containsNoAlias of title (contains match)
description_containsNoAlias of description (contains match)

TDQS

A3.8/5.0
Behavior3/5

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

Without annotations, the description partially covers behavioral traits by mentioning the hierarchical tree output and filter options. However, it does not disclose potential performance issues, pagination, authorization needs, or what happens if the project has many suites. The description adds some value but misses important behavioral details.

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 front-loaded with core purpose ('List all test suites in a TestCollab project as a hierarchical tree') and then details filters. It is efficient, though the filter list slightly duplicates schema info. Overall, every sentence contributes, but minor redundancy keeps it from a 5.

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 output structure (id, title, parent_id, children) and lists filters, which is adequate for a list tool. However, no output schema exists, so the description should also mention default ordering, pagination, and additional fields (e.g., updated_at). This gap in completeness gives a score of 3.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining that title_contains is an alias for title and applied at the API level, and describes the output structure (node fields). This goes beyond simply repeating schema information.

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 all test suites in a project as a hierarchical tree with parent-child relationships. The verb 'list' and resource 'suites' are specific, and the hierarchical tree detail distinguishes it from a flat list. Sibling tools like get_suite (single) and list_test_cases (different resource) further clarify purpose.

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 description implies usage for retrieving all suites in a tree format, but lacks explicit guidance on when to use this tool versus alternatives like get_suite. No exclusions or prerequisites are mentioned. The filters provide context for narrowing results but not when to choose this tool over others.

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

list_test_casesA

List test cases from a TestCollab project with optional filtering, sorting, and pagination. Tip: Call get_project_context first to resolve suite/tag/custom field names to IDs. Note: list_test_cases may omit full step details; use get_test_case for a complete test case with steps.

Filter fields include:

  • id, title, description, steps, priority (0=Low, 1=Normal, 2=High)

  • suite (ID or title), created_by, reviewer, poster (user IDs)

  • created_at, updated_at, last_run_on (dates)

  • tags, requirements (arrays of IDs or names)

  • under_review, is_automated (0 or 1)

  • run_count, avg_execution_time, failure_rate

Filter types:

  • text: equals, notEqual, contains, notContains, startsWith, endsWith, isBlank

  • number: equals, notEqual, greaterThan, greaterThanOrEqual, lessThan, lessThanOrEqual, inRange

  • date: equals, notEqual, greaterThan, lessThan, inRange

Example filter: { "priority": { "filterType": "number", "type": "greaterThanOrEqual", "filter": 1 }, "title": { "filterType": "text", "type": "contains", "filter": "login" } }

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort specification array, e.g. [{ colId: 'updated_at', sort: 'desc' }]
limitNoMaximum results to return (1-100, default: 50)
suiteNoFilter by suite ID or title
filterNoFilter conditions object
offsetNoNumber of results to skip (default: 0)
project_idNoProject ID (optional if TC_DEFAULT_PROJECT env var is set)

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries full behavioral burden. It discloses that the tool may omit full step details, which is a key behavioral trait. However, it does not mention authentication, rate limits, or error handling, which would further enhance transparency.

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 well-structured and appropriately sized: a concise summary sentence, followed by tips, a structured list of filter fields, filter types, an example, and parameter defaults. Every sentence adds value, with no redundancy.

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?

Given the complexity (nested objects, no output schema), the description covers filtering, sorting, and pagination thoroughly, and includes usage tips. However, it lacks explicit description of the output format or list of returned fields, which would make it more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 100% schema coverage, the description adds substantial value: it lists all filter fields with types, provides filter type categories (text, number, date), gives a concrete example filter, explains sort syntax, and specifies default values for limit and offset. This goes far beyond the 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 clearly states 'List test cases from a TestCollab project with optional filtering, sorting, and pagination,' specifying the verb, resource, and scope. It also distinguishes from sibling tools by noting that list_test_cases may omit full step details, guiding users to use get_test_case for complete details.

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 explicitly advises calling get_project_context first to resolve IDs, and provides a note that list_test_cases may omit step details, recommending get_test_case for full details. This gives clear when-to-use and when-not-to-use guidance with specific alternatives.

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

list_test_plansA

List test plans from a TestCollab project with optional filtering, sorting, and pagination.

Optional filters:

  • title_contains

  • status: 0/1/2/3 or draft/ready/finished/finished_with_failures

  • priority: 0/1/2 or low/normal/high

  • archived: true/false

  • created_by: creator user ID

  • test_plan_folder: folder ID or folder title

  • release: release ID or release title

  • created_at_from/to, updated_at_from/to, start_date_from/to, end_date_from/to, last_run_from/to

  • filter: raw filter object for advanced keys (merged with explicit filters)

Example: { "project_id": 16, "title_contains": "Release", "status": "ready", "priority": "high", "created_by": 27, "sort_by": "updated_at", "sort_order": "desc", "limit": 25, "offset": 0 }

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results to return (1-100, default: 25)
filterNoAdvanced raw filter object (Strapi-style query keys, e.g. title_contains, created_at_gte, created_by, test_plan_folder, release)
offsetNoNumber of results to skip (default: 0)
statusNoFilter by status: 0/"draft", 1/"ready", 2/"finished", 3/"finished_with_failures"
releaseNoFilter by release ID or release title
sort_byNoSort field (default: updated_at)updated_at
archivedNoFilter by archived state
priorityNoFilter by priority: 0/"low", 1/"normal", 2/"high"
created_byNoFilter by creator user ID
project_idNoProject ID (uses TC_DEFAULT_PROJECT env var if not specified)
sort_orderNoSort order (default: desc)desc
end_date_toNoFilter by end_date <= this date (YYYY-MM-DD)
last_run_toNoFilter by last_run <= this ISO date/time
created_at_toNoFilter by created_at <= this ISO date/time
end_date_fromNoFilter by end_date >= this date (YYYY-MM-DD)
last_run_fromNoFilter by last_run >= this ISO date/time
start_date_toNoFilter by start_date <= this date (YYYY-MM-DD)
updated_at_toNoFilter by updated_at <= this ISO date/time
title_containsNoFilter plans whose title contains this string
created_at_fromNoFilter by created_at >= this ISO date/time
start_date_fromNoFilter by start_date >= this date (YYYY-MM-DD)
updated_at_fromNoFilter by updated_at >= this ISO date/time
test_plan_folderNoFilter by test plan folder ID or folder title

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It lists filters and provides an example but does not disclose behavioral traits such as read-only nature, authorization requirements, rate limits, or error behavior. The example and filter details add some transparency, but there is room for improvement.

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 well-structured with a clear purpose sentence, a bulleted filter list, and a JSON example. While slightly verbose at around 150 words, every sentence contributes meaning. It could be a bit more concise without losing clarity.

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?

Given 23 parameters (all optional), no output schema, and no annotations, the description covers the filter parameters thoroughly and includes an example. However, it lacks explanation of the return format or behavior when no results are found. The tool is a list operation, so return structure is important context missing here.

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 baseline is 3. The description adds a brief listing of filters and an example, which provides some additional context but largely mirrors the schema descriptions. The value added is modest.

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 verb 'List', the resource 'test plans', and the context 'from a TestCollab project'. It distinguishes from siblings like list_suites and list_test_cases by being specific to test plans with filtering, sorting, and pagination.

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 explicitly mentions optional filtering, sorting, and pagination, and provides an example. However, it does not explicitly state when to use this tool versus alternatives like get_test_plan for a single plan or create_test_plan for creating. The usage context is clear but not exhaustive.

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

move_suiteA

Move a test suite to a different parent suite, or to root level. Tip: Call get_project_context first to see the current suite tree.

Required: id (suite ID), parent (new parent ID, title, or null for root) Optional: project_id

Examples: Move under a parent: { "id": 10, "parent": "Authentication" } Move to root level: { "id": 10, "parent": null }

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSuite ID to move (required)
parentYesNew parent suite ID, title, or null to move to root level (required)
project_idNoProject ID (optional if TC_DEFAULT_PROJECT is set)

TDQS

A4/5.0
Behavior2/5

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

The description lacks behavioral details beyond the move action. With no annotations, it should disclose effects on child suites, permissions needed, validation behavior, and whether the operation is reversible or idempotent.

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 concise: a one-line action, a tip, then parameter list with clear required/optional labels and two illustrative examples. Every sentence adds value with no redundancy.

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?

Given no annotations and no output schema, the description covers the essential information needed to call the tool correctly (params, examples, tip). It falls slightly short on behavioral transparency, but is otherwise complete.

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?

Schema description coverage is 100%, but the description adds value with examples showing that 'parent' can be a suite title (string) or null. This clarifies usage beyond the schema's type union.

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 verb 'Move' and the resource 'test suite', with specific scope to 'a different parent suite, or to root level'. This distinguishes it from siblings like create_suite, delete_suite, and reorder_suites.

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 provides a practical usage tip ('Call get_project_context first') and explicitly lists required and optional parameters with examples. However, it does not explicitly state when not to use this tool or mention alternatives beyond the tip.

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

reorder_suitesA

Set the sort order of sibling suites under a given parent. Tip: Call get_project_context or list_suites first to see current suite IDs and order.

Required: parent (parent suite ID, title, or null for root), suite_ids (ordered array of suite IDs) Optional: project_id

Example - reorder root-level suites: { "parent": null, "suite_ids": [5, 3, 8, 1] }

Example - reorder children of "Authentication": { "parent": "Authentication", "suite_ids": [12, 10, 15] }

ParametersJSON Schema
NameRequiredDescriptionDefault
parentYesParent suite ID, title, or null for root-level suites (required)
suite_idsYesOrdered array of suite IDs representing the desired sort order (required)
project_idNoProject ID (optional if TC_DEFAULT_PROJECT is set)

TDQS

A4.2/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 specifies the required parameters and gives examples, but it does not disclose any behavioral traits such as authorization requirements, side effects, or what happens if invalid IDs are provided. The description is clear enough for a straightforward set operation, but lacks deeper behavioral context.

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 very concise, consisting of a single-line purpose statement, a brief tip, a list of required/optional parameters, and two examples. Every sentence adds value, and there is no redundant or extraneous information.

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?

Given the tool's low complexity (3 parameters, no nested objects) and no output schema, the description is largely complete. It covers the purpose, usage guidance, parameter semantics, and examples. However, it does not mention the return value (e.g., a success indicator), which would be beneficial for an operation that modifies data.

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 input schema already provides descriptions for all three parameters (100% coverage). The description adds value by repeating the required parameters, clarifying that 'parent' can be null for root or a string title, and providing concrete examples that demonstrate how to pass the parameters. This aids interpretation beyond the schema alone.

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's purpose: 'Set the sort order of sibling suites under a given parent.' It uses a specific verb ('Set') and resource ('sort order of sibling suites'), distinguishing it from sibling tools like move_suite (which changes parent) and list_suites (which reads).

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 provides a helpful tip to call get_project_context or list_suites first to see current suite IDs, guiding when to use this tool. It also includes examples that clarify usage. However, it does not explicitly state when not to use the tool (e.g., if the goal is to move suites to a different parent, use move_suite instead).

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

update_suiteA

Update an existing test suite in TestCollab. Only provided fields will be updated.

Required: id (suite ID) Optional: project_id, title, description

Note: To move a suite to a different parent, use the move_suite tool instead.

Example: { "id": 42, "title": "Renamed Suite", "description": "Updated description" }

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSuite ID to update (required)
titleNoNew suite title
project_idNoProject ID (optional if TC_DEFAULT_PROJECT is set)
descriptionNoNew suite description (null to clear)

TDQS

A4.3/5.0
Behavior4/5

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

Discloses that only provided fields are updated (partial update behavior). Provides an example. However, without annotations, it does not mention any side effects, permissions, or error handling. Still, the key behavioral trait is covered.

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?

Three concise sentences plus an example. No wasted words. Important information is front-loaded.

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?

Covers input well but omits return value and error behavior. With no output schema and no annotations, the description could be more complete by stating what is returned (e.g., the updated suite object). Adequate but not outstanding.

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 baseline is 3. The description adds the partial update concept and the move_suite distinction but does not significantly enhance parameter understanding beyond the schema's descriptions.

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 it updates an existing test suite, with the specific verb 'update' and resource 'test suite'. It distinguishes from siblings like move_suite by explicitly directing the user to a different tool for moving suites.

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?

Provides explicit guidance on when to use this tool: to update a suite, and when not to: to move a suite, directing to move_suite. Lists required and optional parameters, including the note about project_id being optional if TC_DEFAULT_PROJECT is set.

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

update_test_caseA

Update an existing test case in TestCollab. Only provided fields will be updated. Tip: Call get_project_context first to resolve suite/tag/custom field names to IDs. Tip: If you need existing steps (e.g., to fill missing expected results), call get_test_case first and then use steps_patch.

Required: id (test case ID)

Optional fields:

  • title: New title

  • suite: Move to different suite

  • description: New description (HTML)

  • priority: 0 (Low), 1 (Normal), 2 (High)

  • steps: Replaces all existing steps

  • steps_patch: Patch steps by step number (1-based) without replacing all steps

  • tags: Replaces all existing tags

  • requirements: Replaces all existing requirements

  • custom_fields: Update specific custom fields

Example: { "id": 1712, "title": "Updated login test", "priority": 2 }

Example - patch a single step: { "id": 1714, "steps_patch": [ { "step_number": 1, "expected_result": "Appropriate expected result" } ] }

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTest case ID to update (required)
tagsNoReplace tags with these IDs or names
stepsNoReplace all steps
suiteNoMove to a different suite by ID or title (null to remove)
titleNoNew test case title
priorityNoNew priority: 0=Low, 1=Normal, 2=High
project_idNoProject ID (optional if default is set)
attachmentsNoReplace attachments with these file IDs
descriptionNoNew description (HTML supported)
steps_patchNoPatch steps by step number (1-based) without replacing all steps
requirementsNoReplace requirements with these IDs or names
custom_fieldsNoUpdate custom field values (id optional if name provided)

TDQS

A4.7/5.0
Behavior4/5

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

Without annotations, the description carries the full burden. It explains partial update semantics and the behavior of steps_patch (patch by step number without replacing all steps). Examples illustrate usage. However, it does not describe return values, error scenarios, or auth requirements, which would improve transparency.

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 fairly long but well-structured: purpose sentence, tips, field list, and examples. Every sentence adds value, but it could be slightly more compact. However, given the complexity, it is appropriately sized.

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?

Given 12 parameters, nested objects, and no output schema, the description is comprehensive. It covers all fields, includes usage examples, and provides integration tips with other tools. It is sufficient for an agent to correctly invoke the tool without additional context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant value: it organizes fields, clarifies priority values (0=Low, etc.), explains the difference between steps and steps_patch, and provides examples. This helps the agent select and fill parameters correctly.

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 action ('Update'), resource ('test case'), and scope ('in TestCollab'). It also explicitly says only provided fields will be updated, which distinguishes it from full-replace operations. Sibling tools like create_test_case and get_test_case are different in purpose.

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 provides explicit tips: call get_project_context to resolve IDs, and call get_test_case to get existing steps for patching. This guides the agent on prerequisites and alternatives. It also lists required and optional fields, making usage clear.

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

update_test_planA

Update an existing test plan in TestCollab.

Required:

  • id (test plan ID)

All other fields are optional and only provided fields are updated.

Fields:

  • title

  • description (null to clear)

  • priority: 0/1/2 or low/normal/high

  • status: 0/1/2/3 or draft/ready/finished/finished_with_failures

  • test_plan_folder: ID/title/null

  • release: ID/title/null

  • start_date, end_date (null to clear)

  • archived

  • custom_fields (null/[] to clear)

  • assignee (single-user convenience)

  • assignment (advanced assignment payload)

Example: { "id": 812, "title": "Release 3.0 Regression", "status": "ready", "test_plan_folder": "Mobile", "assignee": "me" }

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTest plan ID to update (required)
titleNoNew test plan title
statusNoStatus: 0/1/2/3 or "draft"/"ready"/"finished"/"finished_with_failures"
releaseNoRelease ID or title (null to clear)
archivedNoArchive/unarchive this test plan
assigneeNoConvenience field to assign plan to one user (user ID, "me", name, username, or email)
end_dateNoPlanned end date (YYYY-MM-DD, null to clear)
priorityNoPriority: 0/1/2 or "low"/"normal"/"high"
assignmentNoAssignment payload to execute after update
project_idNoProject ID (optional if TC_DEFAULT_PROJECT is set)
start_dateNoPlanned start date (YYYY-MM-DD, null to clear)
descriptionNoNew test plan description (HTML supported, null to clear)
custom_fieldsNoArray of test plan custom field values (null/[] to clear)
test_plan_folderNoTest plan folder ID or title (null to place at root)

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description must carry the full behavioral burden. It discloses that only provided fields are updated (partial update), supports null to clear fields, and lists possible values for enums. However, it doesn't mention authorization, side effects, rate limits, or what happens on conflict. Given the tool's complexity (14 params, nested objects), the description is adequate but not exhaustive.

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 well-structured: a clear introductory sentence, a required field note, a block listing optional fields with explanations, and an example. Each sentence adds value, and the length is appropriate for the number of parameters. No redundancy.

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?

The description covers most important aspects: required and optional fields, null behavior, example usage. However, it lacks explicit mention of the return value (output) upon update. With no output schema, the description should ideally state what is returned. Despite this, the description is fairly complete for a complex tool.

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?

Schema description coverage is 100%, so baseline is 3. The description adds value by summarizing fields, explaining null behavior, and providing a concrete example. It also clarifies convenience fields like assignee and assignment. This goes 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 clearly states 'Update an existing test plan in TestCollab.' This distinguishes it from sibling tools like create_test_plan, get_test_plan, list_test_plans, and delete_test_plan. The verb 'update' and resource 'test plan' are specific and unambiguous.

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 specifies that 'id' is required and that 'all other fields are optional and only provided fields are updated.' This implies partial update behavior and hints at when to use this tool (modify existing plan). While it doesn't explicitly state alternatives for creating or reading, the sibling tool names provide enough context.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 17 tool updatesv1.0.0
    • First observedcreate_suite
    • First observedcreate_test_case
    • First observedcreate_test_plan
    • First observeddelete_suite
    • First observeddelete_test_plan
    • First observedget_project_context
    • First observedget_suite
    • First observedget_test_case
    • First observedget_test_plan
    • First observedlist_suites
    • First observedlist_test_cases
    • First observedlist_test_plans
    • First observedmove_suite
    • First observedreorder_suites
    • First observedupdate_suite
    • First observedupdate_test_case
    • First observedupdate_test_plan

TDQS

A4.1/5.0
Disambiguation5/5

Every tool targets a distinct resource (suite, test case, test plan, project context) with clear actions (create, read, update, delete, list, move, reorder). No two tools have overlapping purposes, and descriptions are specific enough to avoid confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with underscores (e.g., create_suite, get_test_case, list_test_plans). The naming is predictable and uniform across the entire set, adhering to a single convention without mixing styles.

Tool Count4/5

With 17 tools, the server covers the core test management domain comprehensively without being bloated. The count is appropriate for the scope, though a few tools (like delete_test_case) are missing but compensated by update. Slightly on the higher end but still well-scoped.

Completeness4/5

The server provides full CRUD for suites and test plans, and covers listing, moving, and reordering for suites. Test cases lack a dedicated delete tool, but update and read are present. Project context and filtering are well-supported. A minor gap is execution run management, but the domain is well-covered overall.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to interact with TestRail test management systems through comprehensive API integration. Supports retrieving and updating test cases, projects, suites, runs, and results, plus adding attachments and managing test data through natural language commands.
    18
    36
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Testmo test management platform for creating, reading, updating, and deleting test cases, managing folders, and organizing test runs through natural language.
    4
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Connect your AI coding assistant to TestRail to manage test cases, runs, results, and more directly from VS Code, Cursor, Claude Desktop, or Claude Code.
    5
    26
    1
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to interact with TestRail test management system, supporting full CRUD operations on projects, suites, sections, test cases, runs, results, plans, and milestones.
    35
    3,508
    1
    MIT

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

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