Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Testrail MCP Server

by uarlouskiversion 3.3.1i★ –iRuns on your computer
Registry nameio.github.uarlouski/testrail-mcp-server

Install

Overview

Description from the maker (original English)

Connect AI assistants to TestRail: manage test cases, suites, runs, results, and attachments.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other
  • You need to fill in: TESTRAIL_INSTANCE_URL, TESTRAIL_USERNAME, TESTRAIL_API_KEY

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: TESTRAIL_INSTANCE_URL, TESTRAIL_USERNAME, TESTRAIL_API_KEY, TESTRAIL_ENABLE_SHARED_STEPS, TESTRAIL_ENABLE_CASE_HISTORY, TESTRAIL_ENABLE_RAG_TOOLS, TESTRAIL_ALLOW_WRITE_OPERATIONS, TESTRAIL_ALLOW_READ_OPERATIONS, TESTRAIL_ALLOW_DELETE_OPERATIONS, TESTRAIL_ENABLE_DEPRECATED_TOOLS, TESTRAIL_DISABLED_TOOLS, TESTRAIL_REQUEST_TIMEOUT_MS

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "testrail": {
      "command": "npx",
      "args": [
        "-y",
        "@uarlouski/testrail-mcp-server"
      ],
      "env": {
        "TESTRAIL_INSTANCE_URL": "your-value",
        "TESTRAIL_USERNAME": "your-value",
        "TESTRAIL_API_KEY": "your-value",
        "TESTRAIL_ENABLE_SHARED_STEPS": "your-value",
        "TESTRAIL_ENABLE_CASE_HISTORY": "your-value",
        "TESTRAIL_ENABLE_RAG_TOOLS": "your-value",
        "TESTRAIL_ALLOW_WRITE_OPERATIONS": "your-value",
        "TESTRAIL_ALLOW_READ_OPERATIONS": "your-value",
        "TESTRAIL_ALLOW_DELETE_OPERATIONS": "your-value",
        "TESTRAIL_ENABLE_DEPRECATED_TOOLS": "your-value",
        "TESTRAIL_DISABLED_TOOLS": "your-value",
        "TESTRAIL_REQUEST_TIMEOUT_MS": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add testrail --env TESTRAIL_INSTANCE_URL=your-value --env TESTRAIL_USERNAME=your-value --env TESTRAIL_API_KEY=your-value --env TESTRAIL_ENABLE_SHARED_STEPS=your-value --env TESTRAIL_ENABLE_CASE_HISTORY=your-value --env TESTRAIL_ENABLE_RAG_TOOLS=your-value --env TESTRAIL_ALLOW_WRITE_OPERATIONS=your-value --env TESTRAIL_ALLOW_READ_OPERATIONS=your-value --env TESTRAIL_ALLOW_DELETE_OPERATIONS=your-value --env TESTRAIL_ENABLE_DEPRECATED_TOOLS=your-value --env TESTRAIL_DISABLED_TOOLS=your-value --env TESTRAIL_REQUEST_TIMEOUT_MS=your-value -- npx -y @uarlouski/testrail-mcp-server

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "testrail": {
      "command": "npx",
      "args": [
        "-y",
        "@uarlouski/testrail-mcp-server"
      ],
      "env": {
        "TESTRAIL_INSTANCE_URL": "your-value",
        "TESTRAIL_USERNAME": "your-value",
        "TESTRAIL_API_KEY": "your-value",
        "TESTRAIL_ENABLE_SHARED_STEPS": "your-value",
        "TESTRAIL_ENABLE_CASE_HISTORY": "your-value",
        "TESTRAIL_ENABLE_RAG_TOOLS": "your-value",
        "TESTRAIL_ALLOW_WRITE_OPERATIONS": "your-value",
        "TESTRAIL_ALLOW_READ_OPERATIONS": "your-value",
        "TESTRAIL_ALLOW_DELETE_OPERATIONS": "your-value",
        "TESTRAIL_ENABLE_DEPRECATED_TOOLS": "your-value",
        "TESTRAIL_DISABLED_TOOLS": "your-value",
        "TESTRAIL_REQUEST_TIMEOUT_MS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "testrail": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@uarlouski/testrail-mcp-server"
      ],
      "env": {
        "TESTRAIL_INSTANCE_URL": "your-value",
        "TESTRAIL_USERNAME": "your-value",
        "TESTRAIL_API_KEY": "your-value",
        "TESTRAIL_ENABLE_SHARED_STEPS": "your-value",
        "TESTRAIL_ENABLE_CASE_HISTORY": "your-value",
        "TESTRAIL_ENABLE_RAG_TOOLS": "your-value",
        "TESTRAIL_ALLOW_WRITE_OPERATIONS": "your-value",
        "TESTRAIL_ALLOW_READ_OPERATIONS": "your-value",
        "TESTRAIL_ALLOW_DELETE_OPERATIONS": "your-value",
        "TESTRAIL_ENABLE_DEPRECATED_TOOLS": "your-value",
        "TESTRAIL_DISABLED_TOOLS": "your-value",
        "TESTRAIL_REQUEST_TIMEOUT_MS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • TESTRAIL_INSTANCE_URL required env
    Base URL of your TestRail instance (e.g. https://example.testrail.io)
  • TESTRAIL_USERNAME required env
    Email address used to authenticate with TestRail
  • TESTRAIL_API_KEY secret required env
    API key for authenticating with the TestRail API
  • TESTRAIL_ENABLE_SHARED_STEPS env
    Enable shared steps management
  • TESTRAIL_ENABLE_CASE_HISTORY env
    Enable test case history management
  • TESTRAIL_ENABLE_RAG_TOOLS env
    Enable Knowledge Base and RAG export tools
  • TESTRAIL_ALLOW_WRITE_OPERATIONS env
    Allow write operations on TestRail (defaults to true)
  • TESTRAIL_ALLOW_READ_OPERATIONS env
    Allow read operations on TestRail (defaults to true)
  • TESTRAIL_ALLOW_DELETE_OPERATIONS env
    Allow delete operations on TestRail (defaults to false)
  • TESTRAIL_ENABLE_DEPRECATED_TOOLS env
    Enable deprecated tools for backward compatibility (defaults to true)
  • TESTRAIL_DISABLED_TOOLS env
    Comma-separated list of tool names to disable
  • TESTRAIL_REQUEST_TIMEOUT_MS env
    Timeout in milliseconds for TestRail HTTP requests (defaults to 30000ms)

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account uarlouski, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 18474 servers in this category
  • Published to the registry more recently than 76% of the other 18474 servers in this category
  • Basic checks equal to or better than 100% of the other 18474 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Testrail MCP Server safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: TESTRAIL_INSTANCE_URL, TESTRAIL_USERNAME, TESTRAIL_API_KEY

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (3.3.1) reached the registry 13 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Thalovant MCP

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

by formulahendryEarly↓ 66/wk★ 440Updated 14 months ago

Runs on your computer

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

by desktop-commanderGrowing★ 211Updated 3 days ago

Runs in the cloud✓ desktopcommander.app

Thalovant MCP

Connect MCP clients to Thalovant control-plane and hub runtime APIs over stdio or Streamable HTTP.

by thalovantEarly↓ 455/wkUpdated today

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

🚀 TestRail MCP Server

Connect Claude, Cursor, Windsurf, and VS Code to TestRail — an open-source Model Context Protocol (MCP) server for AI-assisted test management.

Manage TestRail projects, search and create test cases, kick off test runs, record results, and attach files through natural-language conversation with your AI assistant — or from CI/CD with the bundled testrail-cli . Built for QA engineers and AI-assisted test automation.

Compatible with:

📚 Documentation · Getting Started · Tool Reference · FAQ


What is the TestRail MCP Server?

The TestRail MCP Server is a free, open-source Model Context Protocol server that gives AI assistants direct, structured access to a TestRail instance through the TestRail API v2. Once configured, an assistant such as Claude Desktop, Cursor, Windsurf, or GitHub Copilot in VS Code can search test cases, draft new ones, start test runs, record results, and upload attachments on your behalf — without you leaving the chat window.

It exposes 35 tools, runs locally on Node.js 18+ over the MCP stdio transport, and is licensed under Apache 2.0. There is nothing to host or deploy: your MCP client launches it on demand with npx.

No context switching. No tedious copy-pasting. Just ask your AI.

[!NOTE]

Compatibility baseline: tested and validated against TestRail 10.6.2 (API v2). Older TestRail instances (including pre-7.x pagination) are also supported via built-in backward compatibility. TestRail Cloud and self-hosted TestRail Server both work.

Table of contents

  • Key features
  • Quick start
  • Command line interface & CI/CD
  • Environment variables
  • Available tools
  • FAQ
  • Documentation
  • Contributing

✨ Key Features & Capabilities

CapabilityDescription
🔍 Intelligent DiscoveryBrowse projects, test suites, and sections to automatically map your QA organization.
📋 Full Case ManagementFetch, create, update, and bulk-edit test cases with comprehensive custom field support.
▶️ Actionable ExecutionCreate test runs, update results by test_id or case_id, attach files, and track statuses.
🧠 Context-Aware AIDynamically exposes templates, fields, priorities, and statuses so LLMs generate valid, structured data.
🖥️ CLI & CI/CD NativeRun every tool from bash, GitHub Actions, GitLab CI, or Jenkins with zero LLM overhead.
🔐 Least-Privilege ControlsPer-mode permissions plus per-tool allowlisting; destructive deletes are off by default.

🚀 Quick Start Guide

1. Obtain your TestRail API key

Navigate to My Settings → API Keys in TestRail and generate a new key. Copy it immediately — TestRail shows it only once. The API must also be enabled instance-wide under Administration → Site Settings → API.

2. Configure your MCP client

Add the server to your MCP client configuration. The Claude Desktop example is shown below; Cursor, Windsurf, and VS Code use the same pattern (see the collapsible sections).

🤖 Claude Desktop

Add this to your claude_desktop_config.json:

{

"mcpServers": { "testrail": { "command": "npx", "args": ["-y", "@uarlouski/testrail-mcp-server@latest"], "env": { "TESTRAIL_INSTANCE_URL": "https://your-instance.testrail.io", "TESTRAIL_USERNAME": "your@email.com", "TESTRAIL_API_KEY": "your-api-key", "TESTRAIL_ENABLE_SHARED_STEPS": "true" } } } }

⌨️ Cursor

Open Settings → MCP → Add new MCP server, or edit .cursor/mcp.json in your project (~/.cursor/mcp.json for all projects):

{

"mcpServers": { "testrail": { "command": "npx", "args": ["-y", "@uarlouski/testrail-mcp-server@latest"], "env": { "TESTRAIL_INSTANCE_URL": "https://your-instance.testrail.io", "TESTRAIL_USERNAME": "your@email.com", "TESTRAIL_API_KEY": "your-api-key" } } } }

</details>

🌊 Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

{

"mcpServers": { "testrail": { "command": "npx", "args": ["-y", "@uarlouski/testrail-mcp-server@latest"], "env": { "TESTRAIL_INSTANCE_URL": "https://your-instance.testrail.io", "TESTRAIL_USERNAME": "your@email.com", "TESTRAIL_API_KEY": "your-api-key" } } } }

</details>

💻 VS Code

Add to .vscode/mcp.json. The inputs block keeps your API key out of the file:

{

"inputs": [ { "id": "testrail-api-key", "type": "promptString", "description": "TestRail API key", "password": true } ], "servers": { "testrail": { "command": "npx", "args": ["-y", "@uarlouski/testrail-mcp-server@latest"], "env": { "TESTRAIL_INSTANCE_URL": "https://your-instance.testrail.io", "TESTRAIL_USERNAME": "your@email.com", "TESTRAIL_API_KEY": "${input:testrail-api-key}" } } } }

</details>

🌐 Other MCP Clients

Any MCP-compliant client can use this server, because it speaks the standard MCP stdio transport. Point your client at the npx command with the required environment variables — no port, URL, or transport configuration needed.

3. See it in action

Restart your client completely, then turbo-charge your QA workflow by asking your AI assistant:

  • *"List all projects in TestRail to find the latest active project."*
  • *"Show me all active users in the project to find the right assignee."*
  • *"Show me all test cases in section 5 of project 3."*
  • *"Create a comprehensive test case for 'Login Validation' with detailed steps."*
  • *"Start a new test run containing cases from section 5."*
  • *"Mark test case C1042 as passed with the comment 'verified on staging'."*

Full per-client setup instructions, including troubleshooting, are in the Getting Started guide.


🖥️ Command Line Interface (CLI) & CI/CD Automation

In addition to interacting via AI assistants, you can invoke any TestRail tool directly from shell scripts, terminal environments, and automated CI/CD pipelines (GitHub Actions, GitLab CI, Jenkins) using `testrail-cli` or `npx` — with zero LLM overhead.

  • Deterministic Execution: Returns standard Unix exit codes (0 on success, 1 on error).
  • Pipeline-Native Output: Emits clean JSON to stdout for piping into tools like jq, while diagnostics and errors go to stderr.
  • Zero Duplication: Reuses the exact same API client, retry logic, and validation schemas as the MCP server.
Invocation methods
# Method 1: Direct npx subcommand (Recommended)

npx @uarlouski/testrail-mcp-server cli [flags]

Method 2: Global or local binary

testrail-cli [flags]

Method 3: Via package runner

npx -p @uarlouski/testrail-mcp-server testrail-cli [flags]

Examples
Query projects (query_project)
# List all active projects

npx @uarlouski/testrail-mcp-server cli query_project --action many

Query a single project by ID

npx @uarlouski/testrail-mcp-server cli query_project --action one --project_id 1

Report automated test results (add_results_for_cases)
# Submit results by case_id — what your test framework already knows

npx @uarlouski/testrail-mcp-server cli add_results_for_cases \ --run_id 88 \ --results '[{"case_id":1042,"status_id":1,"comment":"Passed in CI"}]'

Export cases for knowledge base / RAG (export_cases_for_rag)
# Export all cases for a project into Markdown & metadata sidecars

npx @uarlouski/testrail-mcp-server cli export_cases_for_rag \ --project_id 1 \ --output_dir ./rag_exports

Export specific cases by ID (comma-separated list)

npx @uarlouski/testrail-mcp-server cli export_cases_for_rag \ --case_ids C101,C102,103 \ --output_dir ./rag_exports

Command discovery & flag documentation
# List all available commands

npx @uarlouski/testrail-mcp-server cli --help

Show parameter options for a specific tool

npx @uarlouski/testrail-mcp-server cli query_project --help

See the CLI & CI/CD guide for complete GitHub Actions, GitLab CI, and Jenkins workflows.


⚙️ Environment Variables & Security Controls

VariableDescriptionRequiredDefault
TESTRAIL_INSTANCE_URLYour TestRail instance URL (e.g., https://example.testrail.io)✅

| `TEST

Only the beginning is shown; read the rest in the repo

Ask PopNx