TestRail MCP Server
The TestRail MCP Server enables comprehensive management of TestRail entities directly from AI clients, covering the full test lifecycle:
Projects
List all projects and retrieve specific project details.
Test Suites
List, retrieve, create, and update test suites.
Test Cases
Full CRUD operations (get, list with filtering/pagination, create, update, delete)
Bulk update multiple cases simultaneously
Copy or move cases between sections
View case change history
Get available case types and fields
Import BDD/Gherkin
.featurefiles and export test cases as.featurefiles
Sections
Retrieve, create, move, update, and delete sections (with soft delete support), with pagination.
Test Runs
List, retrieve, create, and update test runs.
Tests
List tests in a run (with pagination) and retrieve full test details.
Test Results
Retrieve results by test, case within a run, or entire run
Add results for individual or multiple test cases at once
Test Plans
List all plans, create new plans, add entries to plans, and add runs to plan entries.
Milestones
List all milestones for a project.
Shared Steps
List all shared steps for a project with filtering and pagination.
Provides comprehensive tools for managing TestRail resources, including test cases, projects, suites, runs, sections, tests, results, plans, and milestones.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TestRail MCP Serverlist the test cases for project 1"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 |
|
Suites |
|
Cases |
|
Sections |
|
Runs |
|
Tests |
|
Results |
|
Plans |
|
Milestones |
|
Shared Steps |
|
Related MCP server: TestRail MCP Server
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": "your-email@example.com", // Replace with your TestRail username
"TESTRAIL_API_KEY": "YOUR_API_KEY" // Replace with your TestRail API key
}
}
}
}Troubleshooting
spawn npx ENOENT/spawn node ENOENT(commonly on macOS): your MCP host (Cursor, Claude Code, Claude Desktop, …) cannot findnpxornodeat process-spawn time. The chat UI usually surfaces this as a generic "MCP server doesn't work" with no useful detail; the per-server log is the diagnostic source of truth.Why it happens on macOS: GUI apps launched from the Dock, Spotlight, or Finder inherit launchd's minimal
PATH(/usr/bin:/bin:/usr/sbin:/sbin). If you installed Node via a version manager (nvm,asdf,mise,fnm,Volta) or Apple Silicon Homebrew (/opt/homebrew/bin/),npxlives outside that PATH — only your shell startup file (~/.zshrc/~/.bashrc) adds it. Your terminal works because the shell ran the startup file; the GUI-app process never did.Diagnose by checking the per-server log for
spawn npx ENOENT:Cursor:
~/Library/Application Support/Cursor/logs/<session>/window<N>/exthost/anysphere.cursor-mcp/MCP <server>.logClaude Code / Claude Desktop:
~/Library/Logs/Claude/
Fix by replacing
"npx"in your MCP config with its absolute path. Runwhich npxin your normal terminal:/Users/you/.nvm/versions/node/v24.15.0/bin/npx # nvm /opt/homebrew/bin/npx # Apple Silicon Homebrew /usr/local/bin/npx # Intel Homebrew / system NodeThen update your MCP config:
{ "mcpServers": { "testrail": { "command": "/Users/you/.nvm/versions/node/v24.15.0/bin/npx", "args": ["@bun913/mcp-testrail@latest"], "env": { "TESTRAIL_URL": "https://your-instance.testrail.io", "TESTRAIL_USERNAME": "your-email@example.com", "TESTRAIL_API_KEY": "YOUR_API_KEY" } } } }Restart your MCP client after the change. The same fix applies to every
npx-launched MCP server — ifmcp-testrailis failing for this reason, your othernpx-launched servers are likely failing too.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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/bun913/mcp-testrail'
If you have feedback or need assistance with the MCP directory API, please join our Discord server