TestRail MCP Server

by sker65

20 stars
310 downloads
Not rated
GitHub

About

Interact with TestRail's core entities such as test cases, runs, and results using a standardized protocol.

Details

Author
sker65
GitHub stars
20
Downloads
310
Categories
Developer Tools, Project Management, API, Other

- 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.)

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name TestRail MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install via Smithery or manually with Python, set the required environment variables (TESTRAIL_URL, TESTRAIL_USERNAME, TESTRAIL_API_KEY), then run uvx testrail-mcp. Connect with any MCP client (e.g., Claude Desktop, Cursor, Windsurf) using the appropriate JSON configuration.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "testrail mcp server": {
            "testrail-mcp": {
                "command": "npx",
                "args": [
                    "-y",
                    "@smithery/cli",
                    "install",
                    "@sker65/testrail-mcp",
                    "--client",
                    "claude"
                ]
            }
        }
    }
}

McpServers

{
    "testrail-mcp": {
        "command": "npx",
        "args": [
            "-y",
            "@smithery/cli",
            "install",
            "@sker65/testrail-mcp",
            "--client",
            "claude"
        ]
    }
}

TestRail MCP Server

smithery badge

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

Video Title

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

1. Clone this repository:
   git clone https://github.com/yourusername/testrail-mcp.git
   cd testrail-mcp
   

2. Create and activate a virtual environment:

   python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate

3. 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.

1. Create a .env file in the root directory of the project:

   TESTRAIL_URL=https://your-instance.testrail.io
TESTRAIL_USERNAME=your-email@example.com
TESTRAIL_API_KEY=your-api-key

Important Notes:
- TESTRAIL_URL should be the full URL to your TestRail instance (e.g., https://example.testrail.io)
- TESTRAIL_USERNAME is your TestRail email address used for login
- TESTRAIL_API_KEY is 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

2. Verify that the configuration is loaded correctly:

   uvx testrail-mcp --config


This 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": "your-email@example.com",
        "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": "your-email@example.com",
    "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": "your-email@example.com",
    "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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.