Testrail Mcp Server について
TestRail MCP Server は、TestRail API v2 を通じて Claude、Cursor、Windsurf、VS Code などの AI アシスタントからテストケース、テストラン、結果を管理できるオープンソースの MCP サーバーです。QA エンジニア向けで、CI/CD で使える付属のコマンドラインツールも含みます。
主な機能
- 01ケース、テストラン、結果を扱う 35 のツール
- 02読み取り、書き込み、削除のモードによる権限制御
- 03結果の記録とファイル添付のアップロード
- 04パイプラインで利用できる付属の testrail-cli
- 05TestRail Cloud とセルフホスト版への対応
活用シーン
- 01自然言語によるテストケースの検索と作成
- 02チャットからのテストラン作成とケース結果の記録
- 03testrail-cli による CI パイプラインからの自動テスト結果の登録
MCP 対応
本プロジェクトは MCP サーバーであり、TestRail のプロジェクト、ケース、テストラン、結果、添付ファイルの操作を MCP ツールとして公開します。stdio トランスポートで動作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @uarlouski/testrail-mcp-serverTESTRAIL_INSTANCE_URLBase URL of your TestRail instance (e.g. https://example.testrail.io)TESTRAIL_USERNAMEEmail address used to authenticate with TestRailTESTRAIL_API_KEYシークレットAPI key for authenticating with the TestRail APITESTRAIL_ENABLE_SHARED_STEPSEnable shared steps managementTESTRAIL_ENABLE_CASE_HISTORYEnable test case history managementTESTRAIL_ENABLE_RAG_TOOLSEnable Knowledge Base and RAG export toolsTESTRAIL_ALLOW_WRITE_OPERATIONSAllow write operations on TestRail (defaults to true)TESTRAIL_ALLOW_READ_OPERATIONSAllow read operations on TestRail (defaults to true)TESTRAIL_ALLOW_DELETE_OPERATIONSAllow delete operations on TestRail (defaults to false)TESTRAIL_ENABLE_DEPRECATED_TOOLSEnable deprecated tools for backward compatibility (defaults to true)TESTRAIL_DISABLED_TOOLSComma-separated list of tool names to disableTESTRAIL_REQUEST_TIMEOUT_MSTimeout in milliseconds for TestRail HTTP requests (defaults to 30000ms)ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
26掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| payload | any | はい | 操作('one' または 'many')と対応するパラメーターを含むペイロード |
詳細
🚀 TestRail MCP Server
Claude、Cursor、Windsurf、VS Code を TestRail に接続します。AI によるテスト管理を支援するオープンソースの Model Context Protocol(MCP)サーバーです。
TestRail のプロジェクト管理、テストケースの検索と作成、テストランの開始、結果の記録、ファイルの添付を、AI アシスタントとの自然言語での会話から実行できます。または、同梱の testrail-cli を使って CI/CD から実行できます。QA エンジニアと AI 支援によるテスト自動化のために構築されています。
対応製品:
📚 ドキュメント · はじめに · ツールリファレンス · よくある質問
TestRail MCP サーバーとは?
TestRail MCP Server は、無料のオープンソース Model Context Protocol サーバーです。TestRail API v2 を通じて、AI アシスタントが TestRail インスタンスに直接、構造化された形でアクセスできるようにします。設定すると、Claude Desktop、Cursor、Windsurf、または VS Code の GitHub Copilot などのアシスタントが、チャットウィンドウから離れることなく、テストケースの検索、新規テストケースの作成、テストランの開始、結果の記録、添付ファイルのアップロードを代行できます。
35 個のツールを公開し、MCP stdio トランスポート経由で Node.js 18+ 上でローカル実行され、ライセンスは Apache 2.0 です。ホストやデプロイは不要です。MCP クライアントが必要に応じて npx で起動します。
コンテキストの切り替えは不要です。面倒なコピー&ペーストも不要です。AI に尋ねるだけです。
メモ
互換性の基準:TestRail 10.6.2(API v2)でテストおよび検証済みです。古い TestRail インスタンス(7.x より前のページネーションを含む)も、組み込みの後方互換性によってサポートされます。TestRail Cloud とセルフホスト型の TestRail Server の両方で動作します。
目次
✨ 主な機能
| 機能 | 説明 |
|---|---|
| 🔍 インテリジェントな検出 | プロジェクト、テストスイート、セクションを閲覧し、QA 組織を自動的に把握できます。 |
| 📋 包括的なケース管理 | 充実したカスタムフィールドのサポートにより、テストケースの取得、作成、更新、一括編集ができます。 |
| ▶️ 実行可能なテスト | テストランを作成し、test_id または case_id で結果を更新し、ファイルを添付して、ステータスを追跡できます。 |
| 🧠 コンテキストを考慮した AI | テンプレート、フィールド、優先度、ステータスを動的に公開し、LLM が有効で構造化されたデータを生成できるようにします。 |
| 🖥️ CLI と CI/CD に標準対応 | LLM のオーバーヘッドなしで、bash、GitHub Actions、GitLab CI、Jenkins からすべてのツールを実行できます。 |
| 🔐 最小権限の制御 | モードごとの権限とツールごとの許可リストに対応し、破壊的な削除はデフォルトで無効です。 |
🚀 クイックスタートガイド
1. TestRail API キーを取得する
TestRail の My Settings → API Keys に移動して、新しいキーを生成します。キーはすぐにコピーしてください。TestRail で表示されるのは一度だけです。また、Administration → Site Settings → API で、インスタンス全体の API を有効にする必要があります。
2. MCP クライアントを設定する
MCP クライアントの設定にサーバーを追加します。以下に Claude Desktop の例を示します。Cursor、Windsurf、VS Code も同じ形式です(折りたたみセクションを参照)。
🤖 Claude Desktop
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": "[email protected]",
"TESTRAIL_API_KEY": "your-api-key",
"TESTRAIL_ENABLE_SHARED_STEPS": "true"
}
}
}
}
⌨️ Cursor
Settings → MCP → Add new MCP server を開くか、プロジェクト内の .cursor/mcp.json(すべてのプロジェクトに適用する場合は ~/.cursor/mcp.json)を編集します。
{
"mcpServers": {
"testrail": {
"command": "npx",
"args": ["-y", "@uarlouski/testrail-mcp-server@latest"],
"env": {
"TESTRAIL_INSTANCE_URL": "https://your-instance.testrail.io",
"TESTRAIL_USERNAME": "[email protected]",
"TESTRAIL_API_KEY": "your-api-key"
}
}
}
}
🌊 Windsurf
~/.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": "[email protected]",
"TESTRAIL_API_KEY": "your-api-key"
}
}
}
}
💻 VS Code
.vscode/mcp.json に追加します。inputs ブロックにより、API キーをファイルに記載せずに済みます。
{
"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": "[email protected]",
"TESTRAIL_API_KEY": "${input:testrail-api-key}"
}
}
}
}
🌐 その他の MCP クライアント
このサーバーは標準の MCP stdio トランスポートを使用するため、MCP に準拠した任意のクライアントで利用できます。必要な環境変数とともに npx コマンドをクライアントに指定してください。ポート、URL、トランスポートの設定は不要です。
クライアントを完全に再起動してから、AI アシスタントに次のように尋ねて、QA ワークフローを大幅に効率化しましょう。
- 「TestRail のすべてのプロジェクトを一覧表示して、最新のアクティブなプロジェクトを見つけてください。」
- 「プロジェクト内のアクティブなユーザーをすべて表示して、適切な担当者を見つけてください。」
- 「プロジェクト 3 のセクション 5 にあるすべてのテストケースを表示してください。」
- 「『Login Validation』の包括的なテストケースを、詳細な手順とともに作成してください。」
- 「セクション 5 のケースを含む新しいテストランを開始してください。」
- 「テストケース C1042 を合格としてマークし、『staging で検証済み』というコメントを追加してください。」
トラブルシューティングを含む、クライアントごとのセットアップ手順については、Getting Started ガイドをご覧ください。
🖥️ コマンドラインインターフェース(CLI)と CI/CD 自動化
AI アシスタントを介した操作に加えて、testrail-cli または npx を使用し、LLM によるオーバーヘッドなしで、シェルスクリプト、ターミナル環境、自動化された CI/CD パイプライン(GitHub Actions、GitLab CI、Jenkins)から TestRail の任意のツールを直接呼び出せます。
- 決定論的な実行:標準的な Unix の終了コード(成功時は
0、エラー時は1)を返します。 - パイプラインに適した出力:
jqなどのツールにパイプできる、整形済みの JSON をstdoutに出力します。診断情報とエラーはstderrに出力されます。 - 重複なし:MCP サーバーとまったく同じ API クライアント、再試行ロジック、検証スキーマを再利用します。
呼び出し方法
# Method 1: Direct npx subcommand (Recommended)
npx @uarlouski/testrail-mcp-server cli <command> [flags]
# Method 2: Global or local binary
testrail-cli <command> [flags]
# Method 3: Via package runner
npx -p @uarlouski/testrail-mcp-server testrail-cli <command> [flags]
例
プロジェクトを検索する(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
自動テストの結果を報告する(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"}]'
ナレッジベース/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
コマンドの検索とフラグのドキュメント
# 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
GitHub Actions、GitLab CI、Jenkins のワークフロー全般については、CLI と CI/CD のガイドをご覧ください。
⚙️ 環境変数とセキュリティ制御
| 変数 | 説明 | 必須 | デフォルト |
|---|---|---|---|
TESTRAIL_INSTANCE_URL | TestRail インスタンスの URL(例:https://example.testrail.io) | ✅ | |
TESTRAIL_USERNAME | TestRail ユーザーのメールアドレス | ✅ | |
TESTRAIL_API_KEY | TestRail API キー(ガイド) | ✅ | |
TESTRAIL_ENABLE_SHARED_STEPS | Shared Steps 管理ツールを有効にするには、true に設定します | false | |
TESTRAIL_ENABLE_CASE_HISTORY | ケース履歴とリビジョン追跡ツールを有効にするには、true に設定します | false | |
TESTRAIL_ENABLE_RAG_TOOLS | 実験的なナレッジベース/RAG エクスポートツール(export_cases_for_rag)を有効にするには、true に設定します。互換性を損なう API 変更が行われる場合があります。 | false | |
TESTRAIL_ALLOW_WRITE_OPERATIONS | 書き込み操作(例:テストケース、テストラン、セクションの追加/更新)を許可します | true | |
TESTRAIL_ALLOW_READ_OPERATIONS | 読み取り操作(例:プロジェクト、テストケース、テンプレートの取得)を許可します | true | |
TESTRAIL_ALLOW_DELETE_OPERATIONS | 削除操作(例:ケースや共有ステップの削除)を許可します。true の場合に限り有効になります。 | false | |
TESTRAIL_ENABLE_DEPRECATED_TOOLS | 既存のホスト設定との後方互換性のために保持されています。 | true | |
TESTRAIL_DISABLED_TOOLS | 無効にする特定のツール名をカンマ区切りで指定します(例:mutate_suite,delete_entity)。無効なツール名が指定された場合は失敗します。 | - |
必須の認証情報を 3 つだけ設定した場合、35 個のツールのうち 27 個が登録されます。すぐに利用できる読み取り専用および最小権限の設定については、設定ガイドをご覧ください。
🧰 利用可能なツール
全35個のツールを領域ごとに分類しています。それぞれに read、write、delete のいずれかのモードが設定されており、サーバーはこれを MCP アノテーション(readOnlyHint、destructiveHint、idempotentHint、openWorldHint)としてクライアントに公開します。
| 領域 | ツール | リファレンス |
|---|---|---|
| 検出とナビゲーション | query_project、query_suite、mutate_suite、query_section、mutate_section、get_users | ドキュメント |
| テストケース管理 | get_case、get_cases、add_case、update_case、update_cases、get_case_fields、resolve_case_field、get_case_history、export_cases_for_rag | ドキュメント |
| 実行と追跡 | query_run、mutate_run、query_test、get_tests、get_results、add_results、add_results_for_cases | ドキュメント |
| 添付ファイルとメディア | add_attachment、query_attachment | ドキュメント |
| 共有ステップ | get_shared_step、get_shared_steps、get_shared_step_history、add_shared_step、update_shared_step | ドキュメント |
| システムメタデータ | get_statuses、get_priorities、get_case_fields、get_templates、get_labels、get_configurations | ドキュメント |
| 削除 | delete_entity | ドキュメント |
❓ よくある質問
どの AI アシスタントと MCP クライアントに対応していますか?
サーバーは標準の MCP stdio トランスポートを使用するため、MCP 準拠のクライアントであればどれでも利用できます。Claude Desktop、Cursor、Windsurf、VS Code でセットアップを検証済みです。ほかのクライアントも同じ方法で利用できます。3 つの環境変数を設定して npx -y @uarlouski/testrail-mcp-server@latest を実行してください。
どのバージョンの TestRail に対応していますか?
このサーバーは TestRail API v2 を対象としており、TestRail 10.6.2 でテストされています。古いインスタンスも利用できます。クライアントが、エンドポイントから最新のページネーション形式のレスポンスが返されるか、従来の単純な配列が返されるかを判定するため、7.x より前のインスタンスでも設定は不要です。TestRail Cloud とセルフホストの TestRail Server の両方に対応しています。
AI アシスタントに TestRail への書き込みアクセスを許可しても安全ですか?
アクセスは、すべて許可するか一切許可しないかではなく、段階的に制御できます。各ツールには read、write、delete のいずれかのモードが設定されており、TESTRAIL_ALLOW_DELETE_OPERATIONS=true を明示的に設定しない限り、削除は無効です。TESTRAIL_ALLOW_WRITE_OPERATIONS=false ですべての書き込みを無効にするか、TESTRAIL_DISABLED_TOOLS でツール名を指定して個別にブロックできます。サーバーはローカルで実行され、お使いの TestRail インスタンスとのみ通信します。テレメトリーはなく、間に第三者サービスも介在しません。
無料で使えますか?
はい。Apache 2.0 ライセンスで、追加料金のプラン、ライセンスキー、利用制限はありません。ご自身の TestRail サブスクリプションと、AI アシスタントの利用料金は別途必要です。CLI の LLM 利用料金は一切かかりません。
AI アシスタントなしで CI/CD に使えますか?
はい。このパッケージには testrail-cli バイナリが含まれており、すべてのツールをサブコマンドとして利用できます。同じ API クライアント、リトライ処理、検証スキーマを再利用します。標準出力には JSON、標準エラー出力には診断情報を出力し、終了コードは 0 または 1 です。CLI ガイドをご覧ください。
存在しないカスタムフィールドを AI が勝手に作らないようにするにはどうすればよいですか?
その心配はありません。add_case または update_case がデータを送信する前に、サーバーは各フィールドキーをお使いのインスタンスの実際のスキーマ(get_case_fields で取得)と照合し、未知のキーを拒否します。テンプレート、優先度、ステータス、構成もツールとして公開されているため、モデルは推測ではなく、正しい ID を検索して使用します。
コンテキストウィンドウを圧迫せずに、何千ものテストケースを扱うにはどうすればよいですか?
get_cases に output_file を渡すか、export_cases_for_rag に output_dir を渡してください。サーバーはすべての結果をページネーションで取得し、生の JSON をディスクに書き込み、モデルには短い概要のみを返します。
詳しくはFAQ 全文をご覧ください。
📚 ドキュメントとツールの完全なリファレンス
包括的なガイド、詳細な設定オプション、利用可能なすべてのツールの完全な説明については、公式ドキュメントサイトをご覧ください。
- 🚀 はじめに:Claude、Cursor、Windsurf、VS Code のクライアントごとのセットアップ。
- ⚙️ 設定:すべての環境変数、権限、機能フラグ。
- 🧰 すべてのツール:35 個のツールすべてを、モードや機能フラグとともに 1 つの表にまとめています。
- 🔭 探索とナビゲーション:プロジェクト、スイート、セクションの探索。
- 📋 テストケース管理:テストケースの取得、作成、一括更新。
- ▶️ 実行と追跡:テストランの管理とテスト結果の送信。
- 📎 添付ファイル:ファイルやディレクトリの自動圧縮とアップロード。
- 🔗 共有ステップ:再利用可能なステップ定義の管理。
- 🖥️ CLI と CI/CD:LLM を使わないパイプラインの自動化。
🤝 貢献
オープンソースへの貢献を歓迎します!機能のリクエストについては、issue を作成するか、改善のためのプルリクエストをお送りください。
📜 ライセンス
このプロジェクトは Apache License 2.0 のライセンスに基づいています。
TestRail MCP Server · Model Context Protocol を使用して構築
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。