testrail-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TESTRAIL_URL | Yes | The URL of your TestRail instance, e.g., https://your-instance.testrail.io | |
| TESTRAIL_API_KEY | Yes | Your TestRail API key, generated from your TestRail account settings | |
| TESTRAIL_USERNAME | Yes | Your TestRail username/email |
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 |
|---|---|
| testrail_get_projectsB | Get all projects from TestRail |
| testrail_get_projectB | Get a specific project by ID |
| testrail_get_casesC | Get test cases from a project (optionally filtered by suite) |
| testrail_get_caseC | Get a specific test case by ID |
| testrail_add_caseC | Create a new test case in a section |
| testrail_update_caseC | Update an existing test case |
| testrail_delete_caseC | Delete a test case |
| testrail_get_runsB | Get all test runs in a project |
| testrail_get_runC | Get a specific test run by ID |
| testrail_add_runC | Create a new test run |
| testrail_update_runC | Update an existing test run |
| testrail_close_runC | Close a test run |
| testrail_delete_runC | Delete a test run |
| testrail_get_resultsC | Get test results for a specific test |
| testrail_get_results_for_caseB | Get test results for a specific test case in a run |
| testrail_get_results_for_runC | Get all test results for a test run |
| testrail_add_resultB | Add a test result for a specific test |
| testrail_add_result_for_caseC | Add a test result for a case in a specific test run |
| testrail_add_resultsB | Add multiple test results for a test run (bulk operation) |
| testrail_add_results_for_casesC | Add multiple test results for cases in a test run (bulk operation) |
| testrail_get_sectionsB | Get sections from a project (optionally filtered by suite) |
| testrail_get_sectionB | Get a specific section by ID |
| testrail_add_sectionC | Create a new section in a project |
| testrail_update_sectionC | Update an existing section |
| testrail_delete_sectionC | Delete a section |
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 25 tools
Most tools are clearly distinct by resource and action, but the result-related tools (testrail_get_results, testrail_get_results_for_case, testrail_get_results_for_run, testrail_add_result, testrail_add_result_for_case, testrail_add_results, testrail_add_results_for_cases) have subtle differences that may cause confusion. The bulk vs single and for_case vs for_run distinctions are not immediately obvious from names alone.
All tools follow a consistent pattern: testrail_<verb>_<resource> (e.g., testrail_get_project, testrail_add_case). The prefix is uniform, verbs are consistent (get, add, update, delete), and resources are clear. Minor variations like 'get_results_for_case' are still predictable.
25 tools is on the higher end and might feel heavy, but it covers a broad domain (projects, cases, runs, results, sections). However, some tools could be consolidated (e.g., result retrieval and addition variants) to reduce redundancy. The count is borderline but justified by the comprehensive CRUD operations.
The surface covers core entities (projects, cases, runs, results, sections) with full CRUD for cases, runs, and sections. However, projects only have get operations (no create/update/delete), and there is no tool for retrieving a single test result by ID. These are minor gaps that agents can work around by using list operations.