mcp-testrail
Testrail MCP Server
Documentation
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": "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 find `npx` or `node` at 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/`), `npx` lives 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`:
Fix by replacing `"npx"` in your MCP config with its absolute path. Run `which npx` in 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 — if `mcp-testrail` is failing for this reason, your other `npx`-launched servers are likely failing too.
- Authentication issues: Check your TestRail API credentials.
- Your conversation is too long: Use `limit` and `offset` parameters 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.md` or `AGENTS.md` so 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 fieldsContributing
Contributions are welcome! Please feel free to submit a Pull Request.
Acknowledgements
Frequently asked questions
What is mcp-testrail?
mcp-testrail is Testrail MCP Server
How do I install mcp-testrail?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mcp-testrail open source?
Yes — it is hosted on GitHub at https://github.com/bun913/mcp-testrail and has 17 stars.
Related MCP tools
Enhanced ChatGPT Clone: Features Agents, MCP, DeepSeek, Anthropic, AWS, OpenAI, Responses API, Azure, Groq, o1, GPT-5, Mistral, OpenRouter, Vertex AI, Gemini...
FastGPT is a knowledge-based platform built on the LLMs, offers a comprehensive suite of out-of-the-box capabilities such as data processing, RAG retrieval, ...
Composio equips your AI agents & LLMs with 100+ high-quality integrations via function calling for the Model Context Protocol. Enhance AI assistants with powerf
📦 Repomix is a powerful tool that packs your entire repository into a single, AI-friendly file. Perfect for when you need to feed your codebase to Large Lan...
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Ag...
The TypeScript AI agent framework. ⚡ Assistants, RAG, observability. Supports any LLM: GPT-4, Claude, Gemini, Llama. Built for the Model Context Protocol to enh
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP