About TestRail MCP Server
TestRail MCP Server is an MCP server that gives MCP clients standardized access to core TestRail entities. It suits QA and development teams who want to query test data from AI tools such as Claude Desktop, Cursor, or Windsurf.
Key features
- 01Authentication with TestRail API key
- 02Access to projects, cases, runs, results and datasets
- 03Works with any MCP client
- 04Testable with MCP Inspector
Use cases
- 01Querying TestRail projects and test cases from an AI client
- 02Reading test runs and their execution results
- 03Supporting analysis of test data inside a coding agent
MCP support
This project is an MCP server that exposes TestRail projects, cases, runs, results and datasets to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMETestRail MCP Server
A Model Context Protocol (MCP) server for TestRail that allows interaction with TestRail's core entities through a standardized protocol.
Features
- Authentication with TestRail API
- Access to TestRail entities:
- Projects
- Cases
- Runs
- Results
- Datasets
- Full support for the Model Context Protocol
- Compatible with any MCP client (Claude Desktop, Cursor, Windsurf, etc.)
See it in action together with Octomind MCP
Installation
Installing via Smithery
To install testrail-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @sker65/testrail-mcp --client claude
Manual Installation
-
Clone this repository:
git clone https://github.com/yourusername/testrail-mcp.git cd testrail-mcp -
Create and activate a virtual environment:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate -
Install dependencies:
pip install -e .
Configuration
The TestRail MCP server requires specific environment variables to authenticate with your TestRail instance. These must be set before running the server.
-
Create a
.envfile in the root directory of the project:TESTRAIL_URL=https://your-instance.testrail.io [email protected] TESTRAIL_API_KEY=your-api-keyImportant Notes:
TESTRAIL_URLshould be the full URL to your TestRail instance (e.g.,https://example.testrail.io)TESTRAIL_USERNAMEis your TestRail email address used for loginTESTRAIL_API_KEYis your TestRail API key (not your password)- To generate an API key, log in to TestRail, go to "My Settings" > "API Keys" and create a new key
-
Verify that the configuration is loaded correctly:
uvx testrail-mcp --configThis will display your TestRail configuration information, including your URL, username, and the first few characters of your API key for verification.
If you're using this server with a client like Claude Desktop or Cursor, make sure the environment variables are accessible to the process running the server. You may need to set these variables in your system environment or ensure they're loaded from the .env file.
Usage
Running the Server
The server can be run directly using the installed script:
uvx testrail-mcp
This will start the MCP server in stdio mode, which can be used with MCP clients that support stdio communication.
Using with MCP Clients
Claude Desktop
In Claude Desktop, add a new server with the following configuration:
{
"mcpServers": {
"testrail": {
"command": "uvx",
"args": [
"testrail-mcp"
],
"env": {
"TESTRAIL_URL": "https://your-instance.testrail.io",
"TESTRAIL_USERNAME": "[email protected]",
"TESTRAIL_API_KEY": "your-api-key"
}
}
}
}
Cursor
In Cursor, add a new custom tool with the following configuration:
{
"name": "TestRail MCP",
"command": "uvx",
"args": [
"testrail-mcp"
],
"env": {
"TESTRAIL_URL": "https://your-instance.testrail.io",
"TESTRAIL_USERNAME": "[email protected]",
"TESTRAIL_API_KEY": "your-api-key"
}
}
Windsurf
In Windsurf, add a new tool with the following configuration:
{
"name": "TestRail MCP",
"command": "uvx",
"args": [
"testrail-mcp"
],
"env": {
"TESTRAIL_URL": "https://your-instance.testrail.io",
"TESTRAIL_USERNAME": "[email protected]",
"TESTRAIL_API_KEY": "your-api-key"
}
}
Testing with MCP Inspector
For testing and debugging, you can use the MCP Inspector:
npx @modelcontextprotocol/inspector \
-e TESTRAIL_URL=<your-url> \
-e TESTRAIL_USERNAME=<your-username> \
-e TESTRAIL_API_KEY=<your-api-key> \
uvx testrail-mcp
This will open a web interface where you can explore and test all the available tools and resources.
Development
This server is built using:
- FastMCP - A Python framework for building MCP servers
- Requests - For HTTP communication with TestRail API
- python-dotenv - For environment variable management
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
