mcpField
R
ReportPortal MCP Server

ReportPortal MCP Server

ローカル
hub.docker.com開発ツール247 週間前に更新

ReportPortal MCP Server について

ReportPortal MCP Server は ReportPortal インスタンスと AI チャットアシスタントを橋渡しし、テスト実行結果を自然言語で照会できるようにします。対象は QA テスターやマネージャーです。2.x ではテストケース管理システム(TMS)にも対応しています。

主な機能

  1. 01テスト実行と失敗情報の自然言語による照会
  2. 02TMS のテストケース・フォルダ・マイルストーンの参照と管理
  3. 03stdio と HTTP の両方のトランスポートモードに対応
  4. 04Docker と事前ビルド済みバイナリによるインストール

活用シーン

  1. 01チャットで直近のテスト実行の失敗を確認
  2. 02AI アシスタントから Smoke フォルダーのテストケースを参照
  3. 03現在のスプリントのマイルストーン向けテスト計画の作成

MCP 対応

本プロジェクトは MCP サーバーであり、ReportPortal の実行データと TMS データをツールとして Claude Desktop、Cursor、GitHub Copilot などの MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"reportportal": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"RP_API_TOKEN",
"-e",
"RP_HOST",
"-e",
"RP_PROJECT",
"reportportal/mcp-server"
],
"env": {
"RP_API_TOKEN": "<RP_API_TOKEN>",
"RP_HOST": "<RP_HOST>",
"RP_PROJECT": "<RP_PROJECT>"
}
}
}
}
起動コマンドdocker run -i --rm -e RP_API_TOKEN -e RP_HOST -e RP_PROJECT reportportal/mcp-server
設定が必要な環境変数
RP_API_TOKENシークレット
RP_HOST
RP_PROJECT

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocireportportal/mcp-server

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Build Status Go Report Card License

ReportPortal MCP サーバー

ドキュメントに関する注意: この README は現在の開発ブランチの内容を反映しています。利用可能なツールと機能の最新リストについては、main ブランチの README をご確認ください。

ReportPortal MCP サーバーとは?

ReportPortal MCP サーバーは、お使いの ReportPortal インスタンスと AI チャットアシスタント(Claude Desktop、GitHub Copilot、Cursor など)をつなぐブリッジです。簡単に言えば、テスト実行について自然な英語で質問すると、ReportPortal から直接回答を得られます。公式の MCP ガイドラインに準拠しています。

バージョン 2.x 以降、このサーバーは ReportPortal テストケース管理システム(TMS)(テストケース、フォルダー、マイルストーン、テスト計画)とも連携し、同じチャットインターフェースからテスト設計データを参照、管理できるようになりました。

たとえば、ReportPortal の UI にログインする代わりに、AI アシスタントに「直近の実行で失敗したテストは何ですか?」や「最新のテスト実行を 5 件一覧表示して」と尋ねると、ReportPortal から情報を取得してくれます。
TMS に対応しているため、「Smoke フォルダー内のテストケースを一覧表示して」や「現在のスプリントのマイルストーンに対するテスト計画を作成して」といった質問もできます。これにより、QA テスターやマネージャーは自然言語を使ってテストケースを管理し、テスト結果やテスト資産を照会できるため、計画、分析、レポート作成を効率化できます。

使用するメリット

  • テスト状況をすばやく把握:コードを書いたり UI を操作したりすることなく、テスト実行の概要、失敗件数、エラーの詳細をすぐに取得できます。
  • チャットから TMS を操作:AI アシスタントから離れずに、ReportPortal TMS のテストケース、フォルダー、マイルストーン、テスト計画を参照、作成、更新できます。
  • チャットベースの照会:お好みの AI アシスタント(Claude、Cursor など)を使って ReportPortal のデータとやり取りできます。チャットウィンドウに、便利なテストレポート担当者がいるようなものです。
  • 柔軟な連携:MCP 対応の AI ツールであれば、どれでも使用できます。ツールの接続先としてこのサーバーを指定するだけで、ReportPortal へのクエリを内部で実行できます。
  • カスタムスクリプト不要:実行の一覧表示、失敗の取得、分析、TMS の検索といった一般的なクエリが、チャットから呼び出せる簡単な「コマンド」として組み込まれています。

前提条件

MCP サーバーをセットアップする前に、お使いの ReportPortal インスタンスから以下の情報を用意してください。

ReportPortal ホスト URL(RP_HOST)

ReportPortal インスタンスの URL です。

  • 例:https://reportportal.example.com
  • ローカル環境の場合:http://localhost:8080
プロジェクトキー(RP_PROJECT)— 任意

この値は任意です。設定すると、すべてのリクエストで使用するデフォルトのプロジェクトキーになります。projectKey ツール引数は、コンテキストからプロジェクトを取得できない場合(stdio モードでは RP_PROJECT 環境変数、HTTP モードでは X-Project HTTP ヘッダー)に限り、フォールバックとして使用されます。

プロジェクトキーは、ReportPortal インスタンス内でプロジェクトを一意に識別する値です。プロジェクトキーとしてプロジェクトの表示名を使用しないでください。ReportPortal の一般設定ページで確認できます。

https://your-rp-instance.com/ui/#organizations/{your-organization}/projects/{your_project}/settings/general
API トークン(RP_API_TOKEN)

API トークンは ReportPortal のプロフィールから取得するか、新たに生成できます。 セキュリティに関する注意: トークンをバージョン管理システムにコミットしたり、公開したりしないでください。

サーバーモード(MCP_MODE)

MCP_MODE は、MCP サーバーのトランスポートモードを制御するシステム環境変数です。

値説明
stdio(デフォルト) 標準入出力 — ローカルの AI ツールとの統合で使用します(Claude Desktop、Cursor、VS Code Copilot など)。
httpHTTP/SSE ストリーミング — リモートアクセスまたは複数クライアントからのアクセス用に HTTP エンドポイントを公開します。

この変数が必要なのは、サーバーを HTTP モードで実行する場合のみです。ローカルの AI ツールとの統合では、デフォルトの stdio モードが使用されるため、追加の設定は必要ありません。

重要: http モードは、サーバーのデプロイ用です。AI ツールがリモート接続するには、その前に MCP_MODE=http を設定して MCP サーバーをデプロイし、実行しておく必要があります。デプロイ手順については、開発者向けセクションを参照してください。

インストール

ReportPortal MCP サーバーへの接続方法は 2 つあります。

  1. ローカル — Docker(推奨)またはビルド済みバイナリを使用します。
  2. リモート MCP サーバーへの接続(サーバーがすでにデプロイされている場合)

いずれの方法も、すべての LLM プロバイダーで利用できます。

ローカルインストール

以下の設定では、デフォルトの stdio モード(MCP_MODE=stdio)を使用します。これは、すべてのローカル AI ツールとの統合に適した選択肢です。代わりにサーバーを HTTP モードで実行するには、env ブロックに MCP_MODE=http を追加してください(詳しくは開発者向けセクションを参照してください)。

Docker を使用する(推奨)

MCP サーバーは、ReportPortal 公式の DockerHub から入手できます。

設定:

{
  "reportportal": {
    "command": "docker",
    "args": [
      "run",
      "-i",
      "--rm",
      "-e",
      "RP_API_TOKEN",
      "-e",
      "RP_HOST",
      "-e",
      "RP_PROJECT",
      "reportportal/mcp-server"
    ],
    "env": {
      "RP_API_TOKEN": "your-api-token",
      "RP_HOST": "https://your-reportportal-instance.com",
      "RP_PROJECT": "YourProjectKeyFromReportPortal"
    }
  }
}
ビルド済みバイナリを使用する

OS 用のビルド済みバイナリは、GitHub の公式リリースからダウンロードできます。

設定:

{
  "reportportal": {
    "command": "/path/to/reportportal-mcp-server-binary",
    "args": ["stdio"],
    "env": {
      "RP_API_TOKEN": "your-api-token",
      "RP_HOST": "https://your-reportportal-instance.com",
      "RP_PROJECT": "YourProjectKeyFromReportPortal"
    }
  }
}
リモート MCP サーバーへの接続

ReportPortal MCP サーバーがすでにデプロイ済みで、HTTP 経由でアクセスできる場合は、ローカルで実行せずにリモート接続できます。サーバーが集中管理された環境や共有環境でホストされている場合に便利です。

注: AI ツールが接続するには、その前にリモートサーバーを HTTP モード(システム環境変数 MCP_MODE=http)でデプロイし、実行しておく必要があります。デプロイと設定の詳細については、開発者向けセクションを参照してください。

リモートサーバーの設定:

{
  "reportportal": {
    "url": "http://your-mcp-server-host:port/mcp",
    "headers": {
      "Authorization": "Bearer ${RP_API_TOKEN}",
      "X-Project": "YourProjectKeyFromReportPortal"
    }
  }
}

設定パラメーター:

  • url:リモート MCP サーバーの HTTP エンドポイント URL(/mcp または /api/mcp を使用)
  • headers.Authorization:認証用の Bearer トークン(必須)
  • headers.X-Project:ReportPortal のプロジェクトキー — 表示名ではなく、一意のプロジェクト識別子です(任意)

AI ツールのセットアップ

接続する AI ツールを選択してください。

Cursor(AI コードエディター)

クリックするだけです。

MCP サーバーをインストール

または、以下の手順に従ってください。

  1. Cursor で Settings から Tools & MCP に移動し、Add Custom MCP をクリックします。
  2. mcp.json ファイルが開きます。ここに、ReportPortal MCP サーバーを実行する新しい MCP サーバーエントリーを追加します。

ローカルインストール(Docker またはバイナリ)の場合:

インストールセクションから希望する設定を選び、reportportal ブロック内に貼り付けてください。

{
  "mcpServers": {
    "reportportal": {
      // paste your chosen configuration here
    }
  }
}

リモートサーバーの場合:

注: 接続する前に、リモートサーバーを HTTP モードでデプロイし、実行しておく必要があります。

{
  "mcpServers": {
    "reportportal": {
      "url": "http://your-mcp-server-host:port/mcp/",
      "headers": {
        "Authorization": "Bearer ${RP_API_TOKEN}",
        "X-Project": "YourProjectKeyFromReportPortal"
      }
    }
  }
}

ドキュメント:Cursor MCP。

GitHub Copilot(VS Code および JetBrains IDE)
VS Code
  1. GitHub Copilot プラグインをインストールまたは更新します。
  2. Ctrl+P を押し、検索バーに >mcp と入力して、MCP: Open User Configuration を選択します。
  3. ReportPortal MCP Server を実行する新しい MCP サーバーエントリを追加する mcp.json ファイルが開きます。

ローカルインストール(Docker またはバイナリ)の場合:

インストールのセクションから希望する構成を選び、reportportal ブロック内に貼り付けてください。

{
  "servers": {
    "reportportal": {
      // paste your chosen configuration here
    }
  }
}

リモートサーバーの場合:

注: 接続する前に、リモートサーバーを HTTP モードでデプロイして実行中にしておく必要があります。

{
  "servers": {
    "reportportal": {
      "url": "http://your-mcp-server-host:port/mcp/",
      "requestInit": {
        "headers": {
          "Authorization": "Bearer ${RP_API_TOKEN}",
          "X-Project": "YourProjectKeyFromReportPortal"
        }
      }
    }
  }
}

ドキュメント:VS Code Copilot ガイド。

JetBrains IDEs
  1. GitHub Copilot プラグインをインストールまたは更新します。
  2. ステータスバーの GitHub Copilot アイコン → Edit Settings → Model Context Protocol → Configure をクリックします。
  3. 構成を追加します。

ローカルインストール(Docker またはバイナリ)の場合:

インストールのセクションから希望する構成を選び、reportportal ブロック内に貼り付けてください。

{
  "servers": {
    "reportportal": {
      // paste your chosen configuration here
    }
  }
}

リモートサーバーの場合:

注: 接続する前に、リモートサーバーを HTTP モードでデプロイして実行中にしておく必要があります。

{
  "servers": {
    "reportportal": {
      "url": "http://your-mcp-server-host:port/mcp/",
      "requestInit": {
        "headers": {
          "Authorization": "Bearer ${RP_API_TOKEN}",
          "X-Project": "YourProjectKeyFromReportPortal"
        }
      }
    }
  }
}
  1. Ctrl + S または Command + S を押して保存するか、mcp.json ファイルを閉じます。構成はすぐに反映され、定義されているすべての MCP サーバーが再起動します。必要に応じて IDE を再起動してください。

ドキュメント:JetBrains Copilot ガイド。

Claude Desktop
  1. Claude Desktop を開き、Settings → Developer → Edit Config に移動します。
  2. ReportPortal MCP Server を実行する新しい MCP サーバーエントリを追加します。

ローカルインストール(Docker またはバイナリ)の場合:

インストールのセクションから希望する構成を選び、reportportal ブロック内に貼り付けてください。

{
  "mcpServers": {
    "reportportal": {
      // paste your chosen configuration here
    }
  }
}
  1. 保存して Claude Desktop を再起動します。

リモートサーバーの場合:

Claude Desktop は、主にローカルの標準入出力(stdio)を介した通信を前提に設計されているため、リモートの Model Context Protocol(MCP)サーバーへの Server-Sent Events(SSE)トランスポートを標準では直接サポートしていません。リモートの SSE サーバーに接続するには、stdio を SSE にブリッジするローカルラッパースクリプトまたはブリッジツール(例:mcp-remote、npx)を claude_desktop_config.json で使用する必要があります。

Claude Code CLI
  1. ターミナルを開きます。
  2. 次のいずれかのコマンドを実行します。

ローカルインストール(Docker)の場合:

claude mcp add-json reportportal '{"command": "docker", "args": ["run", "-i", "--rm", "-e", "RP_API_TOKEN", "-e", "RP_HOST", "-e", "RP_PROJECT", "reportportal/mcp-server"], "env": {"RP_API_TOKEN": "${RP_API_TOKEN}", "RP_HOST": "https://your-reportportal-instance.com", "RP_PROJECT": "YourProjectKeyFromReportPortal"}}'

リモートサーバーの場合:

注: 接続する前に、リモートサーバーを HTTP モードでデプロイして実行中にしておく必要があります。

claude mcp add-json reportportal '{"url": "http://your-mcp-server-host:port/mcp/", "headers": {"Authorization": "Bearer ${RP_API_TOKEN}", "X-Project": "YourProjectKeyFromReportPortal"}}'

構成オプション:

  • -s user を使用すると、ユーザー構成にサーバーを追加できます(すべてのプロジェクトで利用可能です)。
  • -s project を使用すると、プロジェクト固有の構成にサーバーを追加できます(.mcp.json を介して共有されます)。
  • デフォルトのスコープは local です(現在のプロジェクトで自分だけが利用できます)。

ドキュメント:Claude Code ガイド。

その他のコーディングエージェント

ReportPortal MCP Server は、MCP に対応するすべてのコーディングエージェントと互換性があります。正確な構成形式は異なる場合がありますが、ほとんどのエージェントは次のいずれかをサポートしています。

ローカルインストール(stdio モード):

{
  "reportportal": {
    "command": "docker",
    "args": ["run", "-i", "--rm", "-e", "RP_API_TOKEN", "-e", "RP_HOST", "-e", "RP_PROJECT", "reportportal/mcp-server"],
    "env": {
      "RP_API_TOKEN": "your-api-token",
      "RP_HOST": "https://your-reportportal-instance.com",
      "RP_PROJECT": "YourProjectKeyFromReportPortal"
    }
  }
}

リモートサーバー(HTTP モード):

注: 接続する前に、リモートサーバーを HTTP モードでデプロイして実行中にしておく必要があります。

{
  "reportportal": {
    "url": "http://your-mcp-server-host:port/mcp/",
    "headers": {
      "Authorization": "Bearer your-api-token",
      "X-Project": "YourProjectKeyFromReportPortal"
    }
  }
}

正確な構成形式と構成ファイルの配置場所については、お使いのコーディングエージェントのドキュメントを参照してください。

接続すると、AI アシスタントに ReportPortal 関連の呼び出し可能な「ツール」が一覧表示されます。その後、チャットで質問すると、アシスタントが代わりにそれらのツールを呼び出します。

注: セットアップが完了したら、構成のテスト方法についてセットアップの確認セクションを参照してください。

ReportPortal との互換性

最新バージョンの ReportPortal を使用することを強くおすすめします。

この MCP サーバーのバージョン 1.x は、25.1 以降の ReportPortal 製品バージョン(API サービスのバージョンが 5.14.0 以上)をサポートしています。
それ以前のバージョンとの互換性はテストされておらず、MCP サーバーが正しく動作しない可能性があります。

バージョン 2.x(現在開発中)では ReportPortal TMS ツールが追加され、Test Case Management API が利用可能な ReportPortal 製品バージョン 26.1+ が必要です。

機能

ReportPortal MCP サーバーは、ReportPortal と連携するための包括的な機能を提供します。

起動管理
  • 起動(テスト実行)を取得およびフィルタリングします(ページネーション対応)
  • 名前または ID で起動の詳細を取得します
  • 実行中の起動を強制終了します
  • 起動を削除します
  • 起動に対して自動分析(自動分析、一意エラー分析、品質ゲート)を実行します
  • ReportPortal インポートプラグインを使用してファイルから起動をインポートします(対応形式は ReportPortal インスタンスにインストールされているプラグインによって異なり、通常は XML レポートや ZIP アーカイブです。例:JUnit XML、Allure ZIP)
テスト項目の分析
  • 起動または保存済みフィルターでテスト項目を取得します。オプションのフィルター(不具合/問題の種類を含む)を指定できます
  • 各テスト項目の詳細情報を取得します
  • テスト実行の統計情報と失敗を確認します
  • テストログと添付ファイルを取得します
  • テスト項目の不具合タイプを更新して、テスト結果を判定します
  • 起動をまたいだテスト項目の過去の実行データを取得します
レポート生成
  • 起動を分析して、テスト実行に関する詳細な分析情報を取得します
  • 統計情報と失敗分析を含む構造化レポートを生成します
テストケース管理(TMS)

MCP サーバーのバージョン 2.x から利用できます(ReportPortal 26.1+ が必要です)。

  • オプションのフィルターと limit/offset ページネーションを使用して、マイルストーン、テストフォルダー、テストケースを参照します
  • ID を指定して特定のテスト計画を取得します
  • テストフォルダーを作成して整理します(入れ子のサブフォルダーを含む)
  • 対応している次のいずれかの形式で、手動テストケースを作成、更新、削除します:text シナリオ(手順と期待結果)または steps シナリオ(順序付きの手順リスト)
  • マイルストーンとテスト計画を作成し、テストケースをテスト計画に割り当てたり、テスト計画から削除したりします
  • オプションの limit/offset ページネーションを使用して、特定のテスト計画に関連付けられたテストケースを取得します
  • テスト計画のテストケースを含む手動起動を一度に作成します
  • ページネーションを使用して、フィルター(名前、項目のステータス、完了状態、期間、テスト計画、属性)に一致する手動起動を一覧表示します
  • ページネーションを使用して、フィルター(名前、優先度、タグ)に一致する手動起動のテストケース実行を一覧表示します
  • 既存の手動起動にテストケースを一括追加します
  • 手動起動内のテストケース実行のステータスとコメントを更新します

注: TMS の書き込みツール(create_*、update_*、delete_*、add_test_cases_to_test_plan、delete_test_cases_from_test_plan、add_test_cases_to_manual_launch、update_manual_launch_execution)は、ReportPortal のデータを変更します。本番プロジェクトでは慎重に使用してください。

利用可能なツール(コマンド)
ツール。テスト結果
ツール名説明パラメーター
フィルターによる起動の取得フィルターを使って ReportPortal の起動をページネーション付きで一覧表示しますname、description、owner、number、start_time、end_time、attributes、sort、page、page-size(すべて省略可能)
名前による最新の起動の取得名前を指定して最新の起動を取得しますlaunch(必須)
ID による起動の取得ID を直接指定して特定の起動を取得しますproject(省略可能、文字列)、launch_id(必須、文字列)
品質ゲートの実行起動に対して品質ゲート分析を実行しますlaunch_id(必須)、project(省略可能)
自動分析の実行起動に対して自動分析を実行しますlaunch_id(必須)、analyzer_mode(省略可能)、analyzer_type(省略可能)、analyzer_item_modes(省略可能)
一意エラー分析の実行起動に対して一意エラー分析を実行しますlaunch_id(必須)、remove_numbers(省略可能)
起動の更新起動の説明および/または属性を更新しますlaunch_id(必須)、description(省略可能、既存の値を置き換えます)、attributes(省略可能、{key, value} オブジェクトの配列 — 既存の属性をすべて置き換えます)
起動の強制終了起動を強制終了しますlaunch_id(必須)
起動の削除特定の起動を削除しますlaunch_id(必須)
ファイルから起動をインポートReportPortal のインポートプラグインを使ってファイルから起動をインポートします。サポートされるファイル形式は、サーバーにインストールされているプラグインによって異なります(例:JUnit XML、Allure ZIP)。使用可能なプラグインと受け付ける MIME タイプは、GET /api/v1/plugin(groupType: "IMPORT" でフィルター)を使って確認できます。ハンドラーでは、デコード後のアップロードサイズの上限がデフォルトで最大 50 MiB に設定されており、選択したプラグインがより小さい details.maxFileSize を提示している場合は、それより低い上限が適用されることがあります。base64 でエンコードされたアップロードは、デコード後にサイズが計測されます。有効な上限を超えるインポートは拒否されます。ファイルを分割するか、アップロード前に圧縮してください。plugin_name(必須)、file_name(必須、例:results.xml)、file_content(必須、テキスト形式ではプレーンテキスト、バイナリ形式では base64)、content_encoding(省略可能、"none"(デフォルト)または "base64")、project(省略可能)
フィルターによるスイートの取得特定の起動のテストスイートを一覧表示しますlaunch-id(必須)、name、description、start_time_from、start_time_to、attributes、parent_id、sort、page、page-size(すべて省略可能)
フィルターによるテスト項目の取得特定の起動または保存済みフィルターのテスト項目を一覧表示しますlaunch-id または filter-name(いずれか一方が必須)、include-before-after-hooks、name、description、status、has_retries、start_time_from、start_time_to、attributes、parent_id、defect_comment、auto_analyzed、ignored_in_aa、pattern_name、ticket_id、filter-eq-defect-type(get_project_defect_types の省略可能な不具合/課題タイプロケーター)、sort、page、page-size(すべて省略可能)
フィルターによるログの取得特定のテスト項目またはネストされたステップのログを一覧表示しますparent-item-id(必須)、log_level、log_content、logs_with_attachments、status、sort、page、page-size(すべて省略可能)
ID による添付ファイルの取得ID を指定して添付ファイルのバイナリデータを取得しますattachment-content-id(必須)
ID によるテスト項目の取得特定のテスト項目の詳細を取得しますtest_item_id(必須)
プロジェクトの不具合タイプの取得特定のプロジェクトで使用可能な不具合タイプを取得しますなし
項目 ID による不具合タイプの更新複数のテスト項目の不具合タイプを更新しますtest_items_ids(必須)、defect_type_id(必須)、defect_type_comment(省略可能)
テスト項目の履歴の取得特定の起動または親スイートにおけるテスト項目の実行履歴を取得しますfilter-eq-launchId または filter-eq-parentId(いずれか一方が必須)、historyDepth、type、name、description、status、start_time_from、start_time_to、attributes、has_retries、defect_comment、auto_analyzed、ignored_in_aa、ticket_id、pattern_name、page、page-size、page-sort(すべて省略可能)
ツール。テストケース管理

MCP サーバーのバージョン 2.x から利用できます。TMS を有効にした ReportPortal 26.1 以降が必要です。

ツール名説明パラメーター
フィルターによるマイルストーンの取得プロジェクトの TMS マイルストーンを一覧表示します。名前または ID で絞り込むこともできます。limit/offset によるページネーションに対応しています。filter-cnt-name(任意)、filter-id(任意)、limit(任意、整数 ≥ 1、デフォルト 50)、offset(任意、整数 ≥ 0、デフォルト 0)
ID によるテスト計画の取得ID で TMS テスト計画を取得しますid(必須)
テスト計画のテストケースの取得TMS テスト計画に割り当てられたテストケースを一覧表示します。limit/offset によるページネーションに対応しています。test-plan-id(必須)、limit(任意、整数 ≥ 1、デフォルト 50)、offset(任意、整数 ≥ 0、デフォルト 0)
フィルターによるテストフォルダーの取得プロジェクトの TMS テストフォルダーを一覧表示します。すべてのフィルターとページネーションパラメーターは任意です。filter-eq-id(任意、整数 ≥ 1)、filter-eq-parentId(任意、整数 ≥ 1)、filter-cnt-name(任意)、limit(任意、整数 ≥ 1、デフォルト 50)、offset(任意、整数 ≥ 0、デフォルト 0)
フィルターによるテストケースの取得プロジェクトの TMS テストケースを一覧表示します。すべてのフィルターとページネーションパラメーターは任意です。filter-eq-id(任意、整数 ≥ 1)、filter-eq-testFolderId(任意、整数 ≥ 1)、filter-cnt-name(任意)、filter-has-attributeKey(任意、絞り込みに使用するタグキーのカンマ区切りリスト。例:smoke,regression,login)、filter-in-priority(任意、列挙配列:BLOCKER | CRITICAL | HIGH | LOW | MEDIUM | UNSPECIFIED)、limit(任意、整数 ≥ 1、デフォルト 50)、offset(任意、整数 ≥ 0、デフォルト 0)
フォルダーの作成TMS に新しいテストフォルダー(またはサブフォルダー)を作成します。TMS データを変更します。name(必須)、description(任意)、parent-test-folder-id(任意、整数 ≥ 1)
フォルダーの削除ID で TMS からテストフォルダーを削除します。TMS データを変更します。元に戻せません。folderId(必須、整数 ≥ 1)
テストケースの作成新しいテストケースを作成します。test-case-type で手動シナリオの形式を選択します。添付ファイル({ id, fileName, fileType, fileSize, content }。Update Manual Launch Execution の添付ファイルと同じ形式です。事前にアップロードした id またはインラインの base64 content のいずれかを指定すると、自動的にアップロードされます)は、text の場合はシナリオ全体に、steps の場合は各ステップおよび前提条件にリンクできます。TMS データを変更します。name(必須)、test-folder-id(必須、整数 ≥ 1 — テストケースを配置するフォルダーの ID)、description(任意)、priority(任意、列挙値:LOW | MEDIUM | HIGH | CRITICAL | BLOCKER | UNSPECIFIED)、test-case-type(任意、列挙値:text(デフォルト) | steps)、instructions(任意、text タイプ用)、expected-result(任意、text タイプ用)、steps(任意、{ instructions, expected-result, attachments } の配列。steps タイプ用。各ステップの attachments はそのステップのみに添付されます)、preconditions(任意)、preconditions-attachments(任意、前提条件用の添付ファイル配列。test-case-type が steps で、preconditions が指定されている場合のみ有効です)、requirements(任意、値文字列の配列。各項目に一意の ID が自動生成されます)、attachments(任意、シナリオ全体用の添付ファイル配列。test-case-type が text の場合のみ有効です)、attributes(任意、{ key } オブジェクトの配列 — 添付するタグです。キーに一致する既存のプロジェクト属性は再利用され、一致するものがない場合は自動作成されます)
テストケースの更新既存のテストケースを更新します。指定されたフィールドのみが変更されます。TMS データを変更します。testCaseId(必須、整数 ≥ 1)、name(任意)、description(任意)、priority(任意、列挙値:LOW | MEDIUM | HIGH | CRITICAL | BLOCKER | UNSPECIFIED)、test-folder-id(任意、整数 ≥ 1)、test-case-type(任意、列挙値:text | steps。instructions、expected-result、preconditions、requirements、steps、attachments、preconditions-attachments のいずれかを指定する場合は必須です)、instructions(任意、text タイプ用)、expected-result(任意、text タイプ用)、steps(任意、{ instructions, expected-result, attachments } の配列。steps タイプ用)、preconditions(任意)、preconditions-attachments(任意、前提条件用の添付ファイル配列。test-case-type が steps で、preconditions が指定されている場合のみ有効です)、requirements(任意、値文字列の配列。各項目に一意の ID が自動生成されます)、attachments(任意、シナリオ全体用の添付ファイル配列。test-case-type が text の場合のみ有効です)、attributes(任意、{ key } オブジェクトの配列 — 添付するタグです。既存のタグをすべて削除するには [] を渡します。変更しない場合は省略します)
テストケースの削除ID で TMS からテストケースを削除します。TMS データを変更します。元に戻せません。testCaseId(必須、整数 ≥ 1)
マイルストーンの作成TMS に新しいマイルストーンを作成します。**TMS データを変更します。**日付は RFC3339 形式で指定してください(例:2026-01-01T00:00:00Z)。end-date は start-date より前にできません。name(必須)、type(必須、列挙値:RELEASE | SPRINT | PLAN | FEATURE | OTHER)、start-date(必須、RFC3339)、end-date(必須、RFC3339)、status(任意、列挙値:SCHEDULED | TESTING | COMPLETED)
テスト計画の作成既存のマイルストーンに紐づく新しいテスト計画を作成します。TMS データを変更します。name(必須)、milestone-id(必須、整数 ≥ 1)、description(任意)
テスト計画へのテストケースの追加既存の TMS テスト計画に 1 つ以上のテストケースを追加します。TMS データを変更します。test-plan-id(必須、整数 ≥ 1)、test-case-ids(必須、整数 ≥ 1 の空でない配列)
テスト計画からのテストケースの削除既存の TMS テスト計画から 1 つ以上のテストケースを削除します。TMS データを変更します。test-plan-id(必須、整数 ≥ 1)、test-case-ids(必須、整数 ≥ 1 の空でない配列)
手動ローンチの作成TMS に新しい手動ローンチを作成し、テスト計画のテストケースを追加します。TMS データを変更します。name(必須)、startTime(必須、ISO-8601。例:2026-07-29T11:59:04.221Z)、test-plan-id(必須、整数 ≥ 1)、test-case-ids(必須、整数 ≥ 1 の空でない配列)、description(任意)、attributes(任意、{ key, value } オブジェクトの配列 — 各属性に value が必要です)
手動ローンチの取得TMS からプロジェクトの手動ローンチを一覧表示します。名前、実行ステータス、完了状態、時間範囲、テスト計画、または属性で絞り込めます。limit/offset によるページネーションに対応しています。filter-cnt-name(任意)、filter-in-itemStatus(任意、配列:PASSED | FAILED | SKIPPED | IN_PROGRESS)、filter-eq-completion(任意、列挙値:has_not_executed | done。すべてを対象とする場合は省略)、filter-gt-startTime(任意、RFC3339 または Unix エポック)、filter-lt-endTime(任意、RFC3339 または Unix エポック)、filter-eq-testPlanId(任意、整数 ≥ 1)、filter-has-compositeAttribute(任意、形式:key1:value1,key2:value2)、limit(任意、整数 ≥ 1)、offset(任意、整数 ≥ 0)
手動ローンチのテストケース実行の取得TMS から特定の手動ローンチのテストケース実行を一覧表示します。すべてのフィルターとページネーションパラメーターは任意です。launchId(必須、整数 ≥ 1)、filter-cnt-name(任意)、filter-in-priority(任意、配列:BLOCKER | CRITICAL | HIGH | LOW | MEDIUM | UNSPECIFIED)、filter-in-attributeKey(任意、形式:tag1,tag2,tag3)、limit(任意、整数 ≥ 1)、offset(任意、整数 ≥ 0)
手動ローンチへのテストケースの追加既存の TMS 手動ローンチに 1 つ以上のテストケースを追加します。TMS データを変更します。launchId(必須、整数 ≥ 1)、test-case-ids(必須、整数 ≥ 1 の空でない配列)
手動ローンチ実行の更新TMS 手動ローンチ内のテストケース実行のステータスを更新します(任意で添付ファイル付きコメントを追加できます)。各添付ファイルでは、POST /project/{projectKey}/tms/attachment/upload でアップロード済みのファイルを参照する(id/fileName/fileType/fileSize を指定)か、ファイルの生データを base64 としてインラインで指定(fileName + content)できます。後者の場合、ツールが自動的にエンドポイントへアップロードし、生成された添付ファイルを実行にリンクします。ハンドラーはインライン添付ファイルごとに、デコード後のアップロード上限を 52,428,800 バイト(50 MiB)に制限します。base64 エンコードされたコンテンツのサイズはデコード後に計測されます。この上限を超える添付ファイルは拒否されます。TMS データを変更します。launchId(必須、整数 ≥ 1)、testCaseExecutionId(必須、整数 ≥ 1)、status(必須、列挙値:IN_PROGRESS | PASSED | FAILED | SKIPPED)、executionComment(任意、オブジェクト:comment(任意、文字列)、attachments(任意、{ id, fileName, fileType, fileSize, content } の配列 — id(アップロード済みの添付ファイル。fileType/fileSize が必須)または content(自動アップロードする base64 エンコード済みバイト列。fileType/fileSize は任意で、自動判定されます)のいずれかを指定し、fileName は常に必須です)
利用可能なプロンプト
起動を分析

ReportPortal の起動を分析し、テスト結果、失敗、統計情報について詳しく説明します。

パラメーター:

  • launch_id:分析する起動の ID

独自のプロンプトを作成する際は、参考としてプロンプトのテキストと構成を参照できます。

クエリの例(自然言語)

セットアップ後に AI に尋ねられる、実際のユースケースの例をいくつか紹介します(アシスタントの回答は ReportPortal のデータに基づきます)。

  • 「直近のテスト起動を5件一覧表示して。」 – 名前とステータスを含む、最近のテスト実行のページ分割されたリストを返します。
  • 「最新の実行で失敗したテストは?」 – 最新の起動で失敗したテスト項目を表示します。
  • 「ID 119000 の起動の詳細を表示して。」 – ページ分割せず、ID を指定して特定の起動を取得します。
  • 「番号 1234 の起動の詳細を表示して。」 – その起動の情報(ID、名前、説明、統計情報)を取得します。
  • 「起動 12345 で品質ゲートを実行して。」 – 品質ゲート分析を実行し、起動が定義済みの品質基準を満たしているか確認します。
  • 「起動 ABC を分析して。」 – ReportPortal の自動分析を実行し、起動「ABC」の結果と失敗を要約します。
  • 「ID 4321 の実行中の起動を終了して。」 – 現在実行中のテスト起動を強制的に停止します。
  • 「過去1時間の500レベルエラーの上位5件を表示して。」 - 最近のテスト結果から、該当するエラーの上位5件を一覧表示します。
  • 「junit プラグインを使って、この JUnit XML レポートをプロジェクト 'my_project' にインポートして。」 – 提供されたレポートファイルを ReportPortal にアップロードし、新しい起動を作成します。

上記の各クエリは、MCP サーバーが提供する「ツール」に対応していますが、自然な言葉で尋ねるだけでかまいません。 AI は背後で適切なコマンドを呼び出します。 これらの機能により、シンプルなチャットでさまざまな方法でテストレポートを検索、管理できます。

開発者向け

前提条件
  • Go 1.24.4 以降
  • ReportPortal インスタンス
ソースからビルド
# Clone the repository
git clone https://github.com/reportportal/reportportal-mcp-server.git
cd reportportal-mcp-server

# Build the binary
go build -o reportportal-mcp-server ./cmd/reportportal-mcp-server

これにより、reportportal-mcp-server という名前の実行可能ファイルが作成されます。

設定

サーバーが ReportPortal の接続先と認証方法を把握できるようにする必要があります。シェルで次の環境変数を設定してください。

stdio モード(デフォルト)の場合:

変数説明必須
RP_HOSTReportPortal のインストール先 URL(例:https://myreportportal.example.com)はい
RP_PROJECTReportPortal のデフォルトのプロジェクトキー(ReportPortal インスタンス内で一意のプロジェクト識別子。例:myorganization_myproject)いいえ
RP_API_TOKENReportPortal API トークン(アクセス用)はい

HTTP モードの場合:

MCP_MODE=http を設定し、次の項目を構成します。

  • RP_HOST:必須 - ReportPortal の URL
  • RP_PROJECT:HTTP モードでは使用されません。設定されていても無視されます。リクエストごとに X-Project リクエストヘッダーで指定してください。
  • MCP_SERVER_PORT:任意 - HTTP サーバーのポート(デフォルト:8080)
  • MCP_SERVER_HOST:任意 - HTTP のバインド先ホスト(デフォルト:空)
  • 認証トークンは、リクエストごとに Authorization: Bearer <token> ヘッダーで渡す必要があります
  • RP_API_TOKEN 環境変数は HTTP モードでは使用されません

stdio モードの例:

export RP_HOST="https://your-reportportal-instance.com"
export RP_PROJECT="YourProjectKeyFromReportPortal"
export RP_API_TOKEN="your-api-token"
./reportportal-mcp-server

HTTP モードの例:

export MCP_MODE=http
export RP_HOST="https://your-reportportal-instance.com"
export MCP_SERVER_PORT=8080
./reportportal-mcp-server
# Tokens and project key are passed per-request via HTTP headers:
#   Authorization: Bearer <token>
#   X-Project: <projectKey>
HTTP API エンドポイント

HTTP モード(MCP_MODE=http)で実行すると、サーバーは次のエンドポイントを公開します。

MCP エンドポイント(ツール呼び出しおよび MCP プロトコル用)
  • POST /mcp - JSON-RPC リクエスト用のメイン MCP エンドポイント
  • POST /api/mcp - 代替 MCP エンドポイント(機能は同じ)
  • GET /mcp - MCP プロトコル用の SSE(Server-Sent Events)ストリームエンドポイント
  • GET /api/mcp - 代替 SSE ストリームエンドポイント

重要: POST リクエストはルートエンドポイント / ではなく、/mcp または /api/mcp に送信する必要があります。

リクエスト形式:

すべての MCP リクエストは、JSON-RPC 2.0 仕様に従う必要があります。

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_launches",
    "arguments": {
      "filter-cnt-name": "test",
      "page": 1,
      "page-size": 10
    }
  }
}

リクエストの例:

curl -X POST http://localhost:8080/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-reportportal-token" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "id": 1,
    "params": {
      "name": "get_launches",
      "arguments": {
        "page": 1,
        "page-size": 10
      }
    }
  }'
情報エンドポイント(GET のみ)
  • GET / - ルートエンドポイント。サーバー情報と利用可能なエンドポイントを返します
  • GET /health - ヘルスチェックエンドポイント
  • GET /info - サーバー情報と設定
  • GET /api/status - サーバーのステータス(/info と同じ)
  • GET /metrics - 分析メトリクス(分析が有効な場合)

注: ルートエンドポイント / は GET リクエストのみを受け付けます。/ への POST リクエストは 404 エラーを返します。MCP プロトコルのリクエストには /mcp または /api/mcp を使用してください。

サーバーの起動

サーバーは、MCP_MODE 環境変数で指定されたモード(デフォルト:stdio)で起動します。

起動すると、MCP サーバーは AI ツールからのクエリを受け付ける準備が整います。

開発

開発環境をセットアップする、またはプロジェクトに貢献するには、以下を実行してください。

Task ツール

Go Task v3 をインストールします。

go install github.com/go-task/task/v3/cmd/task@latest
依存関係

task deps を実行して Go の依存関係をインストールします。

task deps
ビルド
task build
テスト
task test
Docker を使用したビルド
task docker:build
MCP Inspector を使用したデバッグ

modelcontextprotocol/inspector ツールは、MCP サーバーをローカルでテストおよびデバッグする際に便利です。

npx @modelcontextprotocol/inspector docker run -i --rm -e "RP_API_TOKEN=$RP_API_TOKEN" -e "RP_PROJECT=$RP_PROJECT" -e "RP_HOST=$RP_HOST" reportportal-mcp-server

または、Task コマンドを使用できます。

# Run inspector against your local server
task inspector
コード品質
# Lint
task lint

# Format
task fmt
プロジェクトドキュメント

この README で説明している内容をさらに詳しく知りたい場合は、docs/ のドキュメントを参照してください。

サーバーの拡張
新しいツールの追加

新しいツールを追加するには、適切なリソースファイルにメソッドを追加し、NewServer 関数でそのツールをサーバーに登録します。

// In your resource file (e.g., launches.go)
func (lr *LaunchResources) toolNewFeature() (tool mcp.Tool, handler server.ToolHandlerFunc) {
    // Implement your tool
}

// In server.go
func NewServer(...) *server.MCPServer {
    // ...
    s.AddTool(launches.toolNewFeature())
    // ...
}
新しいプロンプトの追加

新しいプロンプトを追加するには、プロンプトを記述した YAML ファイルを作成し、プロジェクトルートの prompts フォルダーに配置するだけです。サーバーは起動時に、このディレクトリからすべてのプロンプトを自動的に読み込んで初期化するため、コードの変更は必要ありません。

例:

  1. prompts フォルダーにある既存のファイルを使用するか、my_custom_prompt.yaml などの新しいファイルを作成します。
  2. プロンプトのロジックとパラメーターを YAML 形式で定義します。
  3. サーバーを再ビルドして、新しいプロンプトを読み込みます。

この方法を使うと、コードベースを変更せずに、カスタムプロンプトでサーバーの機能をすばやく拡張できます。

セットアップの確認

1. ReportPortal にアクセスできることを確認する

MCP サーバーをテストする前に、ReportPortal のインスタンスにアクセスできることを確認してください。

ブラウザーを使用する場合:

  1. Web ブラウザーで ReportPortal の URL(RP_HOST)を開きます
  2. ReportPortal のログインページまたはダッシュボードが表示されることを確認します
  3. 認証情報を使ってログインできることを確認します

コマンドラインを使用する場合(curl):

# Test basic connectivity
curl -I https://your-reportportal-instance.com

# Test API access with your token
curl -H "Authorization: Bearer your-api-token" \
     https://your-reportportal-instance.com/api/v1/YourProjectKey/launch

PowerShell を使用する場合:

# Test basic connectivity
Invoke-WebRequest -Uri "https://your-reportportal-instance.com" -Method Head

# Test API access
$headers = @{
    "Authorization" = "Bearer your-api-token"
}
Invoke-RestMethod -Uri "https://your-reportportal-instance.com/api/v1/YourProjectKey/launch" -Headers $headers

期待される結果:

  • HTTP 200 OK の応答
  • 起動データを含む有効な JSON 応答(プロジェクトに起動データがある場合)
  • 認証エラー(401)やアクセス拒否エラー(403)がないこと
2. リモート MCP サーバーを確認する(リモートデプロイを使用している場合)

リモート MCP サーバーに接続する場合は、アクセスできることを確認してください。

ブラウザー経由:

http://your-mcp-server-host:port/

サーバー情報と利用可能なエンドポイントが返されます。

curl 経由(GET リクエスト):

# Check server health
curl http://your-mcp-server-host:port/health

# Check server info
curl http://your-mcp-server-host:port/info

curl 経由(MCP プロトコルのテスト):

# Test MCP endpoint with JSON-RPC request
curl -X POST http://your-mcp-server-host:port/mcp \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer your-api-token" \
  -H "X-Project: YourProjectKey" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/list",
    "id": 1
  }'

PowerShell 経由:

# Check server health
Invoke-RestMethod -Uri "http://your-mcp-server-host:port/health"

# Test MCP endpoint
$headers = @{
    "Content-Type" = "application/json"
    "Authorization" = "Bearer your-api-token"
    "X-Project" = "YourProjectKey"
}
$body = @{
    jsonrpc = "2.0"
    method = "tools/list"
    id = 1
} | ConvertTo-Json

Invoke-RestMethod -Uri "http://your-mcp-server-host:port/mcp" -Method Post -Headers $headers -Body $body

ping 経由(ネットワーク接続のみ):

ping your-mcp-server-host

期待される結果:

  • サーバーがヘルスチェックに応答する
  • /info がサーバー設定を返す
  • MCP エンドポイントが利用可能なツールの一覧を返す
  • 接続拒否やタイムアウトのエラーが発生しない
3. MCP サーバーの統合を確認する

設定後、AI アシスタントが MCP サーバーと通信できることを確認してください。

ステップ 1:利用可能なツールを確認する

AI アシスタントに次のように尋ねます。

"What ReportPortal tools are available?"

期待される応答:launch、test item、analysis tool、TMS tool など、37 個のツールの一覧。

ステップ 2:基本的なクエリをテストする

簡単なクエリを試します。

"List the 5 most recent test launches"

期待される応答:最近の launch について、名前、ステータス、タイムスタンプを含む整形された一覧。

ステップ 3:サーバーログを確認する

リクエストが処理されていることを確認するため、ログを監視します。

Docker:

# View logs
docker logs <container-name>

# Follow logs in real-time
docker logs -f <container-name>

# View last 50 lines
docker logs --tail 50 <container-name>

バイナリ(stdio モード): サーバーを実行しているターミナルの出力を確認します。各リクエストのログエントリが表示されます。

バイナリ(HTTP モード):

# If redirecting to file
./reportportal-mcp-server > server.log 2>&1

# Then view logs
tail -f server.log

期待されるログ出力:

INFO: MCP server started
INFO: Received request: tools/list
INFO: Processing tool call: get_launches
DEBUG: Calling ReportPortal API: /api/v1/projectKey/launch
4. よくある確認時の問題
問題原因解決策
AI に ReportPortal のツールが表示されないMCP サーバーに接続されていない設定ファイルの構文を確認し、AI アシスタントを再起動してください
「Connection refused」エラーサーバーが起動していないか、ポートが間違っているサーバーが実行中であることを確認してください:docker ps を実行するか、プロセスを確認します
「401 Unauthorized」API トークンが無効ReportPortal のプロフィールでトークンを再生成してください
「403 Forbidden」トークンは有効だが、プロジェクトへのアクセス権がないRP_PROJECT キーを確認してください(表示名ではなく、Project KEY と一致する必要があります)。ユーザーにアクセス権があることも確認してください
「404 Not Found」エンドポイント URL が間違っているリモート URL の末尾が /mcp/ になっていることを確認してください
クエリの結果が空ReportPortal にデータがないデータを登録するため、先にテストを実行してください
タイムアウトエラーネットワークの問題、または ReportPortal の応答が遅いネットワーク接続と ReportPortal のパフォーマンスを確認してください

トラブルシューティング

接続の問題

問題:ReportPortal に接続できない

症状:

  • 「Connection refused」エラー
  • 「Could not resolve host」エラー
  • タイムアウトエラー

解決策:

  1. RP_HOST が正しく、プロトコル(https:// または http://)を含んでいることを確認します
  2. ネットワーク接続を確認します:ping your-reportportal-host
  3. ReportPortal が実行中で、アクセス可能であることを確認します
  4. ファイアウォールのルールで ReportPortal への接続が許可されていることを確認します
  5. HTTPS の場合は、SSL 証明書が有効であることを確認します

問題:リモート MCP サーバーに接続できない

症状:

  • MCP サーバーで「Connection refused」
  • 「No route to host」エラー

解決策:

  1. MCP サーバーが実行中であることを確認します:curl http://host:port/health で確認してください
  2. サーバーで MCP_MODE=http が設定されていることを確認します
  3. ポートが正しいことを確認します(デフォルト:8080)
  4. ファイアウォール/セキュリティグループでポートへのアクセスが許可されていることを確認します
  5. サーバーが正しいネットワークインターフェース(MCP_SERVER_HOST)にバインドされていることを確認します
認証に関する問題

問題:401 Unauthorized エラー

解決方法:

  1. API トークンが正しく、有効期限が切れていないことを確認します
  2. ReportPortal でトークンを再生成します:Profile → API Keys → Generate New Token
  3. 環境変数または設定にトークンが正しく設定されていることを確認します
  4. リモートサーバーの場合、Authorization: Bearer <token> ヘッダーが送信されていることを確認します
  5. トークン値の前後に余分な空白や引用符がないことを確認します

問題:403 Forbidden エラー

解決方法:

  1. ユーザーが指定されたプロジェクトにアクセスできることを確認します
  2. プロジェクトキー(RP_PROJECT)が完全に一致していることを確認します(大文字と小文字を区別します。表示名ではなく、Project Key を指定する必要があります)
  3. ユーザーロールに十分な権限があることを確認します
  4. リモートサーバーの場合、X-Project ヘッダーが正しく設定されていることを確認します
Docker に関する問題

問題:Docker コンテナがすぐに終了する

解決方法:

  1. コンテナのログを確認します:docker logs <container-name>
  2. 必要な環境変数がすべて設定されていることを確認します
  3. 環境変数の値に構文エラーがないことを確認します
  4. Docker にネットワークへのアクセス権限があることを確認します

問題:「docker: command not found」

解決方法:

  1. 使用している OS 用の Docker Desktop をインストールします
  2. Docker が実行中であることを確認します:docker --version
  3. Linux の場合、ユーザーを docker グループに追加します:sudo usermod -aG docker $USER
AI アシスタントとの統合に関する問題

問題:AI アシスタントが MCP サーバーを認識しない

解決方法:

  1. 設定ファイルの構文が有効な JSON であることを確認します
  2. 設定ファイルが正しい場所にあることを確認します
  3. 設定を変更した後、AI アシスタントを再起動します
  4. Cursor/VS Code の場合、MCP 拡張機能がインストールされ、有効になっていることを確認します
  5. AI アシスタントのログでエラーメッセージを確認します

問題:ツールの一覧が空

解決方法:

  1. MCP サーバーが実行中で、アクセス可能であることを確認します
  2. サーバーのログで起動時のエラーを確認します
  3. サーバーモードがクライアントの設定と一致していることを確認します(stdio と HTTP)
  4. リモートサーバーの場合、URL が /mcp/ で終わっていることを確認します
パフォーマンスに関する問題

問題:応答が遅い、またはタイムアウトする

解決方法:

  1. ReportPortal API のパフォーマンスを確認します(curl でテストします)
  2. クエリのページサイズ(page-size パラメーター)を小さくします
  3. フィルターを使用してデータ取得を制限します
  4. サーバーと ReportPortal 間のネットワーク遅延を確認します
  5. サーバーのリソース(CPU、メモリ)を監視します

問題:メモリ使用量が多い

解決方法:

  1. 同時リクエスト数を減らします
  2. ページネーションで結果セットのサイズを制限します
  3. MCP サーバーを定期的に再起動します
  4. ログでメモリリークがないか確認します
設定に関する問題

問題:「Environment variable not set」

解決方法:

  1. 変数名が正しいことを確認します:RP_HOST、RP_PROJECT、RP_API_TOKEN
  2. Docker の場合、-e フラグが正しく指定されていることを確認します
  3. バイナリの場合、同じシェルセッションで変数をエクスポートします
  4. echo $VAR_NAME(Linux/Mac)または $env:VAR_NAME(PowerShell)を使用して確認します

問題:「Invalid JSON」設定エラー

解決方法:

  1. JSON バリデーターを使用して JSON 構文を検証します
  2. JSON オブジェクト内の末尾のカンマを削除します
  3. すべての文字列が正しく引用符で囲まれていることを確認します
  4. コメントがないことを確認します(JSON はコメントをサポートしていません)
  5. パスのエスケープ文字を確認します(Windows のパスでは \\ を使用します)
ヘルプの利用

引き続き問題が発生する場合:

  1. ログを確認:デバッグログを有効にし、詳細なエラーメッセージを確認します
  2. コンポーネントをテスト:各コンポーネントを個別に確認します(ReportPortal → MCP サーバー → AI アシスタント)
  3. GitHub の Issue:reportportal-mcp-server で検索するか、Issue を作成します
  4. ドキュメント:MCP 仕様と ReportPortal API ドキュメントを確認します
  5. コミュニティ:サポートを受けるには、ReportPortal コミュニティに参加します

ライセンス

このプロジェクトは、Apache 2.0 License に基づいてライセンスされています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。