mcp-testrail
Health Pass
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 32 GitHub stars
Code Warn
- network request — Outbound network request in package.json
- network request — Outbound network request in src/client/api/baseClient.ts
- network request — Outbound network request in src/client/api/cases.ts
Permissions Pass
- Permissions — No dangerous permissions requested
This server integrates TestRail with AI clients like Claude and Cursor, allowing you to manage test cases, runs, and projects directly through natural language prompts.
Security Assessment
Overall risk: Medium. This tool acts as a proxy for TestRail API operations, requiring your TestRail URL, username, and API key to function. The primary security consideration is that it makes continuous outbound network requests to your private TestRail instance (as seen in baseClient.ts and related case files) to read and write data. There are no hardcoded secrets, no dangerous system permissions required, and no evidence of arbitrary shell command execution. However, because it handles authentication credentials and can modify/delete your test management data, you must secure your configuration files and restrict the API key's permissions within TestRail to minimize potential damage from an LLM hallucination.
Quality Assessment
The project appears healthy and actively maintained, with its last push occurring just today. It carries the standard MIT license, making it safe for commercial and private use. Community trust is modest but growing, currently supported by 32 GitHub stars. The developer documentation is thorough and clearly explains available tools, setup, and troubleshooting for common API issues.
Verdict
Use with caution. The code is open, standard, and well-documented, but the inherent nature of granting an LLM read/write access and API credentials to your test management infrastructure requires careful environment variable handling and strict API key limitations.
Testrail MCP Server
TestRail MCP Server
This Model Context Protocol (MCP) server provides tools for interacting with TestRail directly from Claude AI and other MCP-supported clients like Cursor. It allows you to manage test cases, projects, suites, runs, and more without leaving your conversation with the AI.
Available Tools
The TestRail MCP server provides the following tools:
| Category | Tools |
|---|---|
| Projects | getProjects, getProject |
| Suites | getSuites, getSuite, addSuite, updateSuite |
| Cases | getCase, getCases, addCase, updateCase, deleteCase, getCaseTypes, getCaseFields, copyToSection, moveToSection, getCaseHistory, updateCases, addBdd, getBdd |
| Sections | getSection, getSections, addSection, moveSection, updateSection, deleteSection |
| Runs | getRuns, getRun, addRun, updateRun |
| Tests | getTests, getTest |
| Results | getResults, getResultsForCase, getResultsForRun, addResultForCase, addResultsForCases |
| Plans | getPlans |
| Milestones | getMilestones |
| Shared Steps | getSharedSteps |
Usage
You can connect this MCP server by setting like the below. This method uses npx to automatically download and run the latest version of the package, eliminating the need for local installation.
// Example configuration using npx
{
"mcpServers": {
"testrail": {
"command": "npx",
"args": ["@bun913/mcp-testrail@latest"],
"env": {
"TESTRAIL_URL": "https://your-instance.testrail.io", // Replace with your TestRail URL
"TESTRAIL_USERNAME": "[email protected]", // Replace with your TestRail username
"TESTRAIL_API_KEY": "YOUR_API_KEY" // Replace with your TestRail API key
}
}
}
}
Troubleshooting
spawn node ENOENTerrors: Ensure that Node.js is properly installed and in your PATH.Authentication issues: Check your TestRail API credentials.
Your conversation is too long: Use
limitandoffsetparameters for test cases and sections to paginate results.HTTP 400 errors when creating/updating test cases: TestRail projects have different templates, custom fields, and required fields. This MCP server passes your parameters directly to the TestRail API — it does not validate or transform them. If you encounter 400 errors, define your project's rules in
CLAUDE.mdorAGENTS.mdso the LLM sends the correct parameters. For example:# TestRail Rules for This Project - Project ID: 1 - Always use template 2 (Separated Steps) when creating test cases - Use `customStepsSeparated` (array of step objects) - Do NOT send `customSteps` or `customExpected` with template 2 - Required custom fields: custom_automation_type (default: 0) - Call `getCaseFields` at the start of a session to check available fields
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Acknowledgements
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found