QTM4J について
QTM4J は、QMetry Test Management for Jira Open API を通じてテストケースやテストサイクルを管理する MCP サーバーです。検索、編集、整理、実行結果の更新など、QA ワークフローを支援します。
主な機能
- 01テストケースの検索と取得
- 02テストケースの作成と更新
- 03テストステップとフォルダーの管理
- 04テストサイクルの作成と終了
- 05サイクルへのケース追加と結果更新
活用シーン
- 01キーやプロジェクト条件でケースを検索
- 02テストケースをプロジェクトのフォルダーに整理
- 03合格・不合格の実行結果を記録
MCP 対応
QTM4J Open API の操作を、テストケース、フォルダー、ステップ、サイクル管理などのツールとして MCP クライアントに公開します。利用には QTM4J API キーが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @denis-platonov/qtm4j-mcp-serverQTM4J_API_KEYシークレットQTM4J Open API key.QTM4J_BASE_URLBase URL for the QTM4J Open API.QTM4J_PROJECT_IDDefault QTM4J project ID used when tool calls omit projectId.NODE_TLS_REJECT_UNAUTHORIZEDシークレットSet to 0 only when you must allow self-signed TLS certificates.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
21掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| summary | string | はい | テストサイクル名/概要 |
| projectId | number | いいえ | QMetry プロジェクト ID(デフォルト:なし) |
詳細
qtm4j-mcp-server
qtmcloud.qmetry.com/rest/api/latest にある QTM4J(QMetry Test Management for Jira)Open API 用の MCP サーバーです。
公開パッケージ:@denis-platonov/qtm4j-mcp-server
MCP Registry 名:io.github.denis-platonov/qtm4j
対応クライアント
| クライアント | ステータス | 備考 |
|---|---|---|
| Cursor | 対応 | ~/.cursor/mcp.json で npx を設定 |
| JetBrains IDEs | 対応 | AI Assistant MCP 設定で設定 |
| VS Code | 対応 | .vscode/mcp.json またはユーザープロファイルの mcp.json で設定 |
| Antigravity | 対応 | raw config を使用して mcp_config.json で設定 |
ツール
| ツール | 説明 |
|---|---|
create_test_cycle | 新しいテストサイクル(実行)を作成 |
search_test_case | キー(例:PE26-TC-2)でテストケースを検索 |
search_test_cases | ページネーションと任意の概要フィルターを使用してテストケースを検索 |
list_all_project_test_cases | プロジェクト全体のページネーションされたテストケース結果を取得して統合 |
create_test_case | 新しいテストケースを作成し、必要に応じてフォルダーに配置 |
list_cycle_test_cases | サイクル内のすべてのテストケースを一覧表示 |
add_test_case_to_cycle | テストケースをサイクルに追加 |
update_execution_status | 実行結果(Pass/Fail)を更新 |
close_test_cycle | テストサイクルを終了 |
get_attachment_url | 添付ファイルのアップロード用署名付き URL を取得 |
add_test_case_steps | テストケースのバージョンに 1 つ以上のステップを追加 |
add_test_case_to_folders | テストケースのバージョンを 1 つ以上のフォルダーに追加 |
create_test_case_folder | プロジェクトにテストケースフォルダーを作成 |
get_test_case | ID またはキーでテストケースを取得 |
get_test_case_details | 特定のテストケースのバージョンの詳細をすべて取得 |
get_test_case_steps | テストケースのバージョンのステップを一覧表示または検索 |
list_test_case_folders | プロジェクトのテストケースフォルダーをフラットパス形式で一覧表示 |
remove_test_case_from_folders | テストケースのバージョンをフォルダーから削除 |
update_test_case_description | テストケースのバージョンの説明を更新 |
update_test_case_step | 既存のテストステップを更新 |
update_test_case_summary | テストケースのバージョンの概要を更新 |
startAt を使う search_test_cases、list_all_project_test_cases、フォルダーおよびステップ用ヘルパーを含む全ツールは、src/tools.ts で定義されています。npm run build の後に npm run list-tools を実行すると、登録済みのすべてのツール名が表示されます。Cursor がこのビルドを使用していることを確認するには、これを使ってください(list_all_project_test_cases が表示されるはずです)。
Cursor:すべての機能を利用するにはローカルビルドを使用
npx @denis-platonov/qtm4j-mcp-server は古い npm リリースである場合があります。list_all_project_test_cases などのツールと正しい startAt の処理を確実に利用するには:
- このディレクトリで
npm install && npm run buildを実行します。 cursor-mcp.example.jsonをユーザー用 Cursor 設定~/.cursor/mcp.jsonに統合します(Windows:%USERPROFILE%\.cursor\mcp.json)。argsのパスを絶対パスのdist/index.jsに変更します。npm run list-toolsを実行し、ツール数が想定どおりであることを確認します。- Cursor を再起動するか、MCP サーバーをオフ/オンに切り替えます。
Cursor ワークスペースのツール記述子
エージェント向けのヒントとして Cursor のワークスペース mcps/<server>/tools/*.json を使用する場合は、それらの JSON スキーマを src/tools.ts と同期させてください(Zod 定義と同じパラメーター名を使用)。ツールを変更した後は、MCP を再ビルドして再起動してください。
セットアップ
前提条件
- Node.js 20+
- QTM4J Open API キー(Jira の「QMetry」>「Configuration」>「Open API」から生成)
Cursor での使用
~/.cursor/mcp.json に追加します。
{
"mcpServers": {
"qtm4j": {
"command": "npx",
"args": ["-y", "@denis-platonov/qtm4j-mcp-server"],
"env": {
"QTM4J_API_KEY": "your-api-key",
"QTM4J_BASE_URL": "https://qtmcloud.qmetry.com/rest/api/latest",
"QTM4J_PROJECT_ID": "10800"
}
}
}
}
JetBrains IDE での使用
JetBrains AI Assistant で「Tools > AI Assistant > Model Context Protocol (MCP)」を開き、次を追加します。
{
"mcpServers": {
"qtm4j": {
"command": "npx",
"args": ["-y", "@denis-platonov/qtm4j-mcp-server"],
"env": {
"QTM4J_API_KEY": "your-api-key",
"QTM4J_BASE_URL": "https://qtmcloud.qmetry.com/rest/api/latest",
"QTM4J_PROJECT_ID": "10800"
}
}
}
}
設定を保存した後、AI Assistant を再起動します。
VS Code での使用
ユーザーまたはワークスペースの MCP 設定ファイル(通常は .vscode/mcp.json またはプロファイルレベルの mcp.json)に、次を追加します。
{
"servers": {
"qtm4j": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@denis-platonov/qtm4j-mcp-server"],
"env": {
"QTM4J_API_KEY": "your-api-key",
"QTM4J_BASE_URL": "https://qtmcloud.qmetry.com/rest/api/latest",
"QTM4J_PROJECT_ID": "10800"
}
}
}
}
Antigravity での使用
Antigravity で「Manage MCP Servers」を開き、次に「View raw config」を開いて、mcp_config.json に次を追加します。
{
"mcpServers": {
"qtm4j": {
"command": "npx",
"args": ["-y", "@denis-platonov/qtm4j-mcp-server"],
"env": {
"QTM4J_API_KEY": "your-api-key",
"QTM4J_BASE_URL": "https://qtmcloud.qmetry.com/rest/api/latest",
"QTM4J_PROJECT_ID": "10800"
}
}
}
}
ビルド
npm install
npm run build
テスト
密閉型テストスイートを実行します。
npm test
ウォッチモードを使わずに一度だけ実行します。
npm run test:run
カバレッジレポートを生成します。
npm run test:coverage
実際の QTM4J 環境に対して、オプトイン方式のライブ統合テストを実行します。
npm run test:live
必要な環境が整っていない場合、ライブテストはスキップされます。現在、ライブテストスイートは次に対応しています。
QTM4J_API_KEY、QTM4J_BASE_URL、QTM4J_PROJECT_IDを使用した読み取り中心のチェックQTM4J_LIVE_TEST_CASE_KEYによる検索のカバレッジQTM4J_LIVE_TEST_CYCLE_IDによるサイクル一覧のカバレッジQTM4J_LIVE_TEST_EXECUTION_IDによる添付ファイル URL のカバレッジ- オプションの変更チェックは
QTM4J_LIVE_ENABLE_MUTATIONS=1の場合のみ実行
例:
QTM4J_API_KEY=your-api-key \
QTM4J_PROJECT_ID=10800 \
QTM4J_LIVE_TEST_CASE_KEY=PE26-TC-2 \
QTM4J_LIVE_TEST_CYCLE_ID=PE26-R1 \
QTM4J_LIVE_TEST_EXECUTION_ID=12345 \
npm run test:live
ローカル開発
cursor-mcp.example.json を ~/.cursor/mcp.json にコピーし(既存の mcpServers とマージします)、args に dist/index.js の絶対パスを設定します。たとえば Windows の場合:
"args": ["C:/Users/you/projects/qa-all-in-one/tools/qtm4j-mcp-server/dist/index.js"]
オプション:自己署名 TLS を使用する必要がある場合に限り、env に NODE_TLS_REJECT_UNAUTHORIZED": "0" を設定します。
公開
このリポジトリでは、タグをトリガーとする GitHub Actions のリリースワークフローを使用します。
package.jsonとserver.jsonのリリースバージョンを一致させます。- ローカルでビルドして検証します。
npm run build
npm run test:run
- リリース準備の変更をコミットします。
- リリースタグを作成してプッシュします。
git tag v1.1.0
git push origin sync/desktop-qtm4j-source
git push origin v1.1.0
- GitHub Actions がタグと
package.jsonおよびserver.jsonのバージョンが一致することを検証し、npm パッケージを公開した後、server.jsonを MCP Registry に公開します。
その後、次を実行して検出を確認できます。
curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.denis-platonov/qtm4j"
GitHub Actions
このリポジトリには次の 2 つのワークフローが含まれています。
CI:mainへのプッシュ時とプルリクエスト時に、npm run build、npm run test:run、npm run test:coverageを実行しますRelease:v*に一致するタグで実行され、タグとpackage.jsonおよびserver.jsonのバージョンが一致することを検証してから、npm に公開し、その後server.jsonを MCP Registry に公開します
リリースワークフローを使用するには、次のリポジトリシークレットを追加します。
NPM_TOKEN:@denis-platonov/qtm4j-mcp-serverの公開権限を持つ npm アクセストークン
次のようにリリースを作成します。
git tag v1.1.0
git push origin v1.1.0
環境変数
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
QTM4J_API_KEY | はい | — | QTM4J Open API キー |
QTM4J_BASE_URL | いいえ | https://qtmcloud.qmetry.com/rest/api/latest | API ベース URL |
QTM4J_PROJECT_ID | いいえ | — | デフォルトのプロジェクト ID(毎回の呼び出しで指定する必要がなくなります) |
NODE_TLS_REJECT_UNAUTHORIZED | いいえ | — | 自己署名証明書の場合は 0 に設定 |
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。