Qaseのテスト管理プラットフォームと連携するためのModel Context Protocol (MCP) サーバーです。 テストケースの作成、取得、テスト実行の管理などの機能を提供します。
- Node.js v23.5.0
- Qase APIトークン
- TypeScript
# パッケージのインストール
npm install
# ビルド
npm run build
MCPの設定ファイル(cline_mcp_settings.json
)に以下の設定を追加します:
{
"mcpServers": {
"qase": {
"command": "node",
"args": ["path/to/qase-mcp-server/build/index.js"],
"env": {
"QASE_API_TOKEN": "your-api-token"
},
"disabled": false,
"autoApprove": []
}
}
}
プロジェクト一覧を取得します。
入力パラメータ: なし
使用例:
{
"name": "get_projects"
}
指定したプロジェクトのテストケース一覧を取得します。
入力パラメータ:
project_code
: プロジェクトコード(必須)suite_id
: スイートID(オプション)- 指定したスイートに属するテストケースのみを取得
使用例:
{
"name": "get_test_cases",
"arguments": {
"project_code": "DEMO",
"suite_id": 123
}
}
テストケースを作成します。
入力パラメータ:
project_code
: プロジェクトコード(必須)title
: テストケースのタイトル(必須)description
: テストケースの説明(オプション)preconditions
: 前提条件(オプション)postconditions
: 事後条件(オプション)suite_id
: 所属するスイートのID(オプション)steps
: テストステップ(オプション)
使用例:
{
"name": "create_test_case",
"arguments": {
"project_code": "DEMO",
"title": "ログイン機能のテスト",
"description": "ユーザーログイン機能の動作確認",
"preconditions": "テストユーザーアカウントが作成済みであること",
"steps": [
{
"action": "ログインページにアクセス",
"expected_result": "ログインフォームが表示される"
}
]
}
}
テストスイートを作成します。
入力パラメータ:
project_code
: プロジェクトコード(必須)title
: テストスイートのタイトル(必須)description
: テストスイートの説明(オプション)preconditions
: テストスイートの前提条件(オプション)parent_id
: 親スイートのID(オプション)
使用例:
{
"name": "create_suite",
"arguments": {
"project_code": "DEMO",
"title": "認証機能テストスイート",
"description": "認証に関連する全てのテストケース",
"preconditions": "テスト用のデータベースが初期化されていること"
}
}
テスト実行を作成します。
入力パラメータ:
project_code
: プロジェクトコード(必須)title
: テスト実行のタイトル(必須)description
: テスト実行の説明(オプション)cases
: テスト実行に含めるテストケースのID一覧(オプション)
使用例:
{
"name": "create_test_run",
"arguments": {
"project_code": "DEMO",
"title": "リグレッションテスト実行",
"description": "v1.2.0リリース前の確認テスト",
"cases": [1, 2, 3]
}
}
複数のテストケースを一括で作成します。
入力パラメータ:
project_code
: プロジェクトコード(必須)cases
: 作成するテストケースの配列(必須)title
: テストケースのタイトル(必須)description
: テストケースの説明(オプション)steps
: テストケースの手順(オプション)action
: 手順のアクション(必須)
suite_id
: 所属するスイートのID(オプション)
使用例:
{
"name": "create_test_cases_in_bulk",
"arguments": {
"project_code": "DEMO",
"cases": [
{
"title": "ログイン成功パターン",
"description": "正しい認証情報での確認",
"steps": [
{
"action": "ログインページにアクセス"
},
{
"action": "正しいユーザー名とパスワードを入力"
}
],
"suite_id": 123
},
{
"title": "ログイン失敗パターン",
"description": "不正な認証情報での確認",
"suite_id": 123
}
]
}
}
既存のテストケースを更新します。
入力パラメータ:
project_code
: プロジェクトコード(必須)case_id
: テストケースのID(必須)title
: テストケースの新しいタイトル(オプション)description
: テストケースの新しい説明(オプション)preconditions
: 前提条件(オプション)postconditions
: 事後条件(オプション)severity
: 重要度 (0-6)(オプション)priority
: 優先度 (0-3)(オプション)type
: テストタイプ(オプション)layer
: テストレイヤー(オプション)is_flaky
: 不安定なテストかどうか (0 or 1)(オプション)suite_id
: 所属するスイートのID(オプション)steps
: テストステップ(オプション)action
: 実行するアクション(必須)expected_result
: 期待される結果(オプション)data
: テストデータ(オプション)
使用例:
{
"name": "update_test_case",
"arguments": {
"project_code": "DEMO",
"case_id": 456,
"title": "更新されたログイン機能のテスト",
"description": "ユーザーログイン機能の詳細な動作確認",
"severity": 2,
"priority": 1,
"steps": [
{
"action": "ログインページにアクセスする",
"expected_result": "ログインフォームが表示される"
},
{
"action": "有効な認証情報を入力してログインボタンをクリック",
"expected_result": "ダッシュボードページにリダイレクトされる"
}
]
}
}
各ツールは以下のようなエラーを返す可能性があります:
- 認証エラー: APIトークンが無効または未設定
- パラメータエラー: 必須パラメータの不足や不正な値
- APIエラー: Qase APIからのエラーレスポンス
エラーメッセージには具体的な問題と対処方法が含まれます。
# 開発モードで実行(ファイル変更の監視)
npm run dev
# テストの実行
npm test
ISC