Skip to content

raksul/qase-mcp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Qase MCP Server

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": []
    }
  }
}

利用可能なツール

get_projects

プロジェクト一覧を取得します。

入力パラメータ: なし

使用例:

{
  "name": "get_projects"
}

get_test_cases

指定したプロジェクトのテストケース一覧を取得します。

入力パラメータ:

  • project_code: プロジェクトコード(必須)
  • suite_id: スイートID(オプション)- 指定したスイートに属するテストケースのみを取得

使用例:

{
  "name": "get_test_cases",
  "arguments": {
    "project_code": "DEMO",
    "suite_id": 123
  }
}

create_test_case

テストケースを作成します。

入力パラメータ:

  • 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": "ログインフォームが表示される"
      }
    ]
  }
}

create_suite

テストスイートを作成します。

入力パラメータ:

  • project_code: プロジェクトコード(必須)
  • title: テストスイートのタイトル(必須)
  • description: テストスイートの説明(オプション)
  • preconditions: テストスイートの前提条件(オプション)
  • parent_id: 親スイートのID(オプション)

使用例:

{
  "name": "create_suite",
  "arguments": {
    "project_code": "DEMO",
    "title": "認証機能テストスイート",
    "description": "認証に関連する全てのテストケース",
    "preconditions": "テスト用のデータベースが初期化されていること"
  }
}

create_test_run

テスト実行を作成します。

入力パラメータ:

  • project_code: プロジェクトコード(必須)
  • title: テスト実行のタイトル(必須)
  • description: テスト実行の説明(オプション)
  • cases: テスト実行に含めるテストケースのID一覧(オプション)

使用例:

{
  "name": "create_test_run",
  "arguments": {
    "project_code": "DEMO",
    "title": "リグレッションテスト実行",
    "description": "v1.2.0リリース前の確認テスト",
    "cases": [1, 2, 3]
  }
}

create_test_cases_in_bulk

複数のテストケースを一括で作成します。

入力パラメータ:

  • 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
      }
    ]
  }
}

update_test_case

既存のテストケースを更新します。

入力パラメータ:

  • 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

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •