testrail-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TESTRAIL_URL | Yes | Your TestRail instance URL, e.g. https://yourcompany.testrail.io | |
| TESTRAIL_USER | Yes | Email you sign in to TestRail with | |
| TESTRAIL_API_KEY | Yes | TestRail API key (TestRail → My Settings → API Keys) | |
| TESTRAIL_SUITE_ID | No | Default suite ID (multi-suite projects) | |
| TESTRAIL_PROJECT_ID | No | Default project ID (recommended) | |
| TESTRAIL_SECTION_ID | No | Default section for new cases | |
| TESTRAIL_STEPS_FIELD | No | Field name for steps | custom_steps_separated |
| TESTRAIL_TEMPLATE_ID | No | Case template ID | 2 |
| TESTRAIL_DEFAULT_FIELDS | No | JSON of custom field values applied to every new case, e.g. {"custom_automation_type": "Not Automated"} | |
| TESTRAIL_PRECONDS_FIELD | No | Field name for preconditions | custom_preconds |
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 | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| testrail_check_connectionA | Check the TestRail credentials work and show the configured defaults (project, suite, section, fields). |
| testrail_list_projectsA | List active TestRail projects (id, name, suite_mode). |
| testrail_list_suitesA | List the test suites in a project. project_id defaults to TESTRAIL_PROJECT_ID. |
| testrail_list_sectionsA | List sections as a tree with full paths ("Parent > Child"). |
| testrail_list_casesA | List existing cases (id, title, refs) in a section, e.g. to avoid creating duplicates. |
| testrail_get_fieldsC | Custom case fields for the configured template: name, label, type, required, and dropdown options. |
| testrail_add_casesA | Create test cases in a TestRail section. cases: [{"title": "Verify ...", "preconditions": "...", "refs": "optional per-case refs", "steps": [{"content": "one action", "expected": "one expected result"}]}] section_id: defaults to TESTRAIL_SECTION_ID. refs: references applied to every case (e.g. a story key), unless a case sets its own. fields: custom field values for every case, e.g. {"custom_automation_type": "Not Automated"}. Dropdowns accept the option id or its label. Merged over TESTRAIL_DEFAULT_FIELDS. dry_run: return the payloads that would be sent, without creating anything. |
| testrail_upload_case_fileB | Upload a saved testrail-case-pack .json file from this computer (full path). Embedded images in the file are attached to their steps. section_id overrides the file's section_id, which overrides TESTRAIL_SECTION_ID. |
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 8 tools
Tools mostly target distinct resources and actions (list sections, list cases, get fields, add cases, etc.). The only mild overlap is between testrail_add_cases and testrail_upload_case_file, both of which create cases, but their descriptions clearly differentiate structured input from file upload.
All tools use the consistent testrail_ prefix followed by a verb_noun pattern (testrail_list_sections, testrail_add_cases, testrail_get_fields), written uniformly in snake_case.
Eight tools are well-scoped for a TestRail case-authoring integration, covering listing hierarchy, checking connectivity, inspecting fields, and adding cases without unnecessary bloat.
The surface covers listing and creating test cases, but lacks update and delete operations and single-case retrieval, which are notable gaps for typical TestRail case management workflows.