# testrail-mcp-server

Подключает ИИ-ассистента к TestRail: искать и создавать тест-кейсы, запускать прогоны, записывать результаты и прикладывать файлы прямо из чата.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 44
- Автор: uarlouski
- Лицензия: Apache-2.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/uarlouski/testrail-mcp-server
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/mcp/testrail-mcp-server

## Что делает

Сервер даёт ассистенту доступ к вашему инстансу TestRail через API v2. Внутри 35 инструментов: обзор проектов, сюит и секций, работа с тест-кейсами и кастомными полями, создание прогонов, обновление результатов по `test_id` или `case_id`, загрузка вложений. Ассистент сам подтягивает шаблоны, поля, приоритеты и статусы, поэтому данные получаются валидными.

Запускается локально на Node.js 18+ через stdio-транспорт, клиент поднимает его по `npx`. Хостить нечего. Есть отдельный `testrail-cli`: те же операции можно гонять из bash, GitHub Actions, GitLab CI или Jenkins без участия модели.

Перед настройкой нужен ключ API из TestRail (My Settings → API Keys) и включённый API на уровне инстанса (Administration → Site Settings → API). Права настраиваются по режимам и по отдельным инструментам, а удаление по умолчанию выключено — без этого флага ассистент ничего не сотрёт. Совместимость проверена на TestRail 10.6.2, старые версии и пагинация до 7.x тоже поддерживаются; работают и облако, и self-hosted.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `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` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env TESTRAIL_INSTANCE_URL=<TESTRAIL_INSTANCE_URL> --env TESTRAIL_USERNAME=<TESTRAIL_USERNAME> --env TESTRAIL_API_KEY=<TESTRAIL_API_KEY> --env TESTRAIL_ENABLE_SHARED_STEPS=<TESTRAIL_ENABLE_SHARED_STEPS> --env TESTRAIL_ENABLE_CASE_HISTORY=<TESTRAIL_ENABLE_CASE_HISTORY> --transport stdio testrail-mcp-server -- npx -y @uarlouski/testrail-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add testrail-mcp-server --env TESTRAIL_INSTANCE_URL=<TESTRAIL_INSTANCE_URL> --env TESTRAIL_USERNAME=<TESTRAIL_USERNAME> --env TESTRAIL_API_KEY=<TESTRAIL_API_KEY> --env TESTRAIL_ENABLE_SHARED_STEPS=<TESTRAIL_ENABLE_SHARED_STEPS> --env TESTRAIL_ENABLE_CASE_HISTORY=<TESTRAIL_ENABLE_CASE_HISTORY> -- npx -y @uarlouski/testrail-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "testrail-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@uarlouski/testrail-mcp-server"
            ],
            "env": {
                "TESTRAIL_INSTANCE_URL": "<TESTRAIL_INSTANCE_URL>",
                "TESTRAIL_USERNAME": "<TESTRAIL_USERNAME>",
                "TESTRAIL_API_KEY": "<TESTRAIL_API_KEY>",
                "TESTRAIL_ENABLE_SHARED_STEPS": "<TESTRAIL_ENABLE_SHARED_STEPS>",
                "TESTRAIL_ENABLE_CASE_HISTORY": "<TESTRAIL_ENABLE_CASE_HISTORY>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "testrail-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@uarlouski/testrail-mcp-server"
            ],
            "env": {
                "TESTRAIL_INSTANCE_URL": "<TESTRAIL_INSTANCE_URL>",
                "TESTRAIL_USERNAME": "<TESTRAIL_USERNAME>",
                "TESTRAIL_API_KEY": "<TESTRAIL_API_KEY>",
                "TESTRAIL_ENABLE_SHARED_STEPS": "<TESTRAIL_ENABLE_SHARED_STEPS>",
                "TESTRAIL_ENABLE_CASE_HISTORY": "<TESTRAIL_ENABLE_CASE_HISTORY>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e TESTRAIL_INSTANCE_URL=<TESTRAIL_INSTANCE_URL> -e TESTRAIL_USERNAME=<TESTRAIL_USERNAME> -e TESTRAIL_API_KEY=<TESTRAIL_API_KEY> -e TESTRAIL_ENABLE_SHARED_STEPS=<TESTRAIL_ENABLE_SHARED_STEPS> -e TESTRAIL_ENABLE_CASE_HISTORY=<TESTRAIL_ENABLE_CASE_HISTORY> testrail-mcp-server npx -y @uarlouski/testrail-mcp-server
```
Вместо <…> подставьте свои значения. Ещё 7 переменных окружения — в README сервера

## Когда брать
- найти тест-кейс по названию, не открывая веб-интерфейс TestRail
- создать пачку кейсов из описания фичи
- запустить прогон и проставить статусы по результатам
- приложить скриншот или лог к результату теста
- прогнать те же операции из CI без обращения к модели

## Примеры запросов агенту
- Найди в проекте Checkout все тест-кейсы про возврат товара
- Создай тест-кейс на проверку повторной оплаты и добавь его в сюиту Payments
- Запусти прогон по сюите Smoke и отметь упавшие тесты

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
