Skip to main content
Glama
uarlouski

TestRail MCP Server


🌟 Why Choose TestRail MCP Server?

Managing test cases manually is tedious and error-prone. With the TestRail MCP Server, your AI assistant (whether it’s Claude, Cursor, Windsurf, or any MCP-compliant client) interacts directly with your TestRail instance. Instruct it to find test cases, draft new ones, kick off test runs, and record test resultsβ€”all through natural conversation.

No context switching. No tedious copy-pasting. Just ask your AI.

✨ Key Features & Capabilities

Capability

Description

πŸ” Intelligent Discovery

Browse projects, test suites, and sections to automatically map your QA organization.

πŸ“‹ Full Case Management

Fetch, create, update, and bulk-edit test cases with comprehensive custom field support.

▢️ Actionable Execution

Create test runs, update results by test_id or case_id, attach files, and track statuses.

🧠 Context-Aware AI

Dynamically exposes templates, fields, priorities, and statuses so LLMs generate valid, structured data.

πŸš€ Quick Start Guide

1. Obtain Your TestRail API Key

Navigate to My Settings β†’ API Keys in your TestRail platform and generate a new key for authentication.

2. Configure Your MCP Client

Add the server to your chosen MCP client configuration. The Claude Desktop example is shown below; Cursor, Windsurf, and other clients use the same pattern (see the collapsible sections further down).

πŸ€– Claude Desktop

Add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "testrail": {
      "command": "npx",
      "args": ["-y", "@uarlouski/testrail-mcp-server@latest"],
      "env": {
        "TESTRAIL_INSTANCE_URL": "https://your-instance.testrail.io",
        "TESTRAIL_USERNAME": "your@email.com",
        "TESTRAIL_API_KEY": "your-api-key",
        "TESTRAIL_ENABLE_SHARED_STEPS": "true"
      }
    }
  }
}

Open Settings β†’ Features β†’ MCP and add a new configuration:

{
  "mcpServers": {
    "testrail": {
      "command": "npx",
      "args": ["-y", "@uarlouski/testrail-mcp-server@latest"],
      "env": {
        "TESTRAIL_INSTANCE_URL": "https://your-instance.testrail.io",
        "TESTRAIL_USERNAME": "your@email.com",
        "TESTRAIL_API_KEY": "your-api-key"
      }
    }
  }
}

Update your Windsurf MCP configuration file:

{
  "mcpServers": {
    "testrail": {
      "command": "npx",
      "args": ["-y", "@uarlouski/testrail-mcp-server@latest"],
      "env": {
        "TESTRAIL_INSTANCE_URL": "https://your-instance.testrail.io",
        "TESTRAIL_USERNAME": "your@email.com",
        "TESTRAIL_API_KEY": "your-api-key"
      }
    }
  }
}

Any MCP-compliant client can utilize this server. The pattern is universalβ€”point your client at the npx command with the required environment variables.

3. See It in Action

Once configured, turbo-charge your QA workflow by asking your AI assistant:

  • "List all projects in TestRail to find the latest active project."

  • "Show me all test cases in section 5 of project 3."

  • "Create a comprehensive test case for 'Login Validation' with detailed steps."

  • "Start a new test run containing cases from section 5."

  • "Mark test case ID 1042 as passed with the comment 'Tested successfully on staging'."


βš™οΈ Environment Variables

Variable

Description

Required

TESTRAIL_INSTANCE_URL

Your TestRail instance URL (e.g., https://example.testrail.io)

βœ…

TESTRAIL_USERNAME

Your TestRail user email address

βœ…

TESTRAIL_API_KEY

Your TestRail API key (Guide)

βœ…

TESTRAIL_ENABLE_SHARED_STEPS

Set to true to enable Shared Steps management tools


πŸ› οΈ Complete Tool Reference

The TestRail MCP Server provides heavily typed, descriptive tools designed specifically for LLM interaction:

πŸ”­ Discovery & Navigation

Tool

Functionality

get_projects

List all available active and completed projects in your instance.

get_sections

Navigate the precise folder/section hierarchy of any test suite.

πŸ“‹ Test Case Management

Tool

Functionality

get_cases

Query test cases with advanced filtering (priority, template, type, etc.) and pagination.

get_case

Fetch complete, structured details of a specific test case, including custom steps and fields.

add_case

Seamlessly create a new test case equipped with robust custom field validation.

update_case

Modify an existing test case's steps, metadata, or titles.

update_cases

Execute bulk-updates on multiple test cases simultaneously to save time.

▢️ Test Execution & Tracking

Tool

Functionality

add_run

Generate a new, focused test run directly in TestRail.

get_tests

Retrieve individual tests for a specific test run, with optional status filtering.

add_results

Submit test results to a test run using the specific test_id.

add_results_for_cases

Submits results to a run mapping directly to case_ids, streamlining automation workflows.

add_attachment_to_run

Attach logs, files, or zipped artifacts directly to an ongoing test run.

πŸ”— Shared Steps (Optional)

Tool

Functionality

get_shared_steps

List shared test steps for a project with optional reference filtering.

get_shared_step

Retrieve precise details of a specific shared test step set.

get_shared_step_history

View the complete audit trail and version history of a shared step set.

add_shared_step

Create a new reusable set of shared test steps.

update_shared_step

Modify an existing shared step set (changes propagate to all linked test cases).

delete_shared_step

Securely delete a shared step entity.

🧠 System Metadata

Tool

Functionality

get_statuses

Systematically list all configured test statuses (Passed, Failed, Blocked, Retest, etc.).

get_priorities

Retrieve priority levels configured within your instance structure.

get_case_fields

Discover custom field definitions, formats, and UI dropdown options. Supports filtering by project_id.

get_templates

Identify available case templates to mandate correct AI structuring.


🀝 Contributing

Open-source contributions are actively welcomed! Please feel free to open an issue for feature requests or submit a pull request for improvements.

πŸ“œ License

This project is securely licensed under the Apache License 2.0.


Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

–Maintainers
4dResponse time
1wRelease cycle
11Releases (12mo)

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

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