Skip to main content

TestRail MCP Server

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_sker65_testrail_mcp-0.1.5.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_sker65_testrail_mcp-0.1.5-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_sker65_testrail_mcp-0.1.5.tar.gz.

File metadata

  • Download URL: iflow_mcp_sker65_testrail_mcp-0.1.5.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_sker65_testrail_mcp-0.1.5.tar.gz
Algorithm Hash digest
SHA256 1eaf05ac2e1d615b28a926a422bd6d272eecb137d75e38e86c50f78ab195d3dd
MD5 8a912fb1dd8b58556604d709a456e1ca
BLAKE2b-256 33852c110314a71f2c72f11b07cb366ad246c265f1987b985cc3efd6f93ab551

See more details on using hashes here.

File details

Details for the file iflow_mcp_sker65_testrail_mcp-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_sker65_testrail_mcp-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_sker65_testrail_mcp-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 320730a6be2793c95d41bd0bc763289a21ca594bfc1919b53b1a4930c1db5aa3
MD5 172d4ad0107fdc9a505ec533b9ee4d09
BLAKE2b-256 266c495301b0329d8cb2da2421cc9da759e419656092b6d2a4d29f79f3226603

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page