Skip to main content

TestRail MCP Server

Project description

TestRail 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, Winsurf, etc.)

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:

    python -c "from testrail_mcp.config import TESTRAIL_URL, TESTRAIL_USERNAME, TESTRAIL_API_KEY; print(f'URL: {TESTRAIL_URL}, Username: {TESTRAIL_USERNAME}, API Key: {TESTRAIL_API_KEY[:5]}...')"
    

    This should print your TestRail URL, username, and the first few characters of your API key.

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

python main.py

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

  1. Open Claude Desktop
  2. Go to Settings > Servers
  3. Click "Install Server"
  4. Navigate to your project directory and select the main.py file
  5. Claude Desktop will now be able to use your TestRail MCP server

Cursor

  1. Open Cursor
  2. Go to Settings > AI > Custom Tools
  3. Click "Add Tool"
  4. Configure the tool:
    • Name: TestRail MCP
    • Command: python /path/to/testrail-mcp/main.py
    • Communication: Stdio
  5. Save the configuration

Winsurf

  1. Open Winsurf
  2. Go to Settings > Tools
  3. Click "Add Tool"
  4. Configure the tool:
    • Name: TestRail MCP
    • Command: python /path/to/testrail-mcp/main.py
    • Protocol: MCP
  5. Save the configuration

Testing with MCP Inspector

For testing and debugging, you can use the MCP Inspector:

npx @modelcontextprotocol/inspector stdio -- python main.py

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

testrail_mcp-0.1.1.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

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

testrail_mcp-0.1.1-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file testrail_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: testrail_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for testrail_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 80e26ad7f2a51db4cb664b97db3d1c41b5456ed9ca808ff0a19138cc021c3695
MD5 e90c5c22c1007bc5c1701890e008cf36
BLAKE2b-256 e98d89d19c23822fa137af6fbd98bff59b6e6b1a46848d7b3eb817bad845dad2

See more details on using hashes here.

File details

Details for the file testrail_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: testrail_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for testrail_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e67a5e568413377afb057973a2e6043e4e670d4ceef4c8c0a62d4815e3bce0d9
MD5 18f110cc72d15571db92b973b70a7a7b
BLAKE2b-256 8ac2ab1e69f96e9490793ce6bf96a30acaa16d89effb24cab8d09302a747d3d7

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