TestRail MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TESTRAIL_API_KEY | Yes | Your TestRail API key. | |
| TESTRAIL_BASE_URL | Yes | The base URL of your TestRail instance (e.g., https://your-instance.testrail.io). | |
| TESTRAIL_USERNAME | Yes | Your TestRail username (email). | |
| TESTRAIL_PROJECT_ID | Yes | The TestRail project ID to work with (required). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsA | Get all TestRail projects |
| get_projectB | Get the configured TestRail project details |
| list_suitesA | Get all test suites for the configured project |
| get_suiteA | Get a specific test suite by ID |
| list_test_casesA | Get test cases for the configured project. Optionally filter by suite_id. |
| get_test_caseA | Get a specific test case by ID |
| create_test_runB | Create a new test run in the configured TestRail project |
| list_test_runsA | Get test runs for the configured project. Optionally filter by suite_id. |
| get_test_runB | Get a specific test run by ID |
| add_test_resultsA | Add test results for multiple test cases in a test run. Status IDs: 1=Passed, 2=Blocked, 3=Untested, 4=Retest, 5=Failed |
| get_test_resultsA | Get all test results for a test run |
| close_test_runA | Close a test run (marks it as completed) |
| update_test_caseD | Update a test case with new information |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Each tool targets a distinct resource (project, suite, test case, test run, test result) with a clear action (list, get, create, update, close, add). There is no overlap between list/get variants or between action verbs.
Tool names consistently follow a list_/get_ prefix for read operations and specific action verbs (create, add, update, close) for mutations, all in lowercase snake_case. The pattern is uniform and predictable.
13 tools is well within the ideal range for a domain-specific server, covering all major TestRail entities (projects, suites, test cases, runs, results) without unnecessary redundancy or bloat.
The core workflow of creating runs, adding results, and closing runs is covered, but there are notable gaps: no create/delete for test cases or suites, and no generic get_project by ID. This limits full lifecycle management of test assets.