🚀 BlazeMeter MCP Server
このプロジェクトは、BlazeMeterのAPIと統合するためのモデルコンテキストプロバイダ(MCP)サーバーを提供します。これにより、プログラムからパフォーマンステストデータにアクセスし、管理機能を利用することができます。サーバーは、MCP互換のクライアント(Claude DesktopやCursorなど)がBlazeMeterのリソースとやり取りするために使用できる一連のツールを公開しています。
では、セットアップを始めましょう!
🚀 クイックスタート
⚙️ 前提条件
始める前に、以下のものがインストールされていることを確認してください。
⚠️ 重要提示
Nodeのバージョンが低い場合、fetch が使用できません。ツールはHTTP呼び出しに fetch を使用しています。この問題を回避するには、ツールを修正して node-fetch を代わりに使用することができます。node-fetch を依存関係としてインストールし、各ツールファイルで fetch としてインポートしてください。
📦 インストール
1. 依存関係のインストール
プロジェクトのルートディレクトリから以下のコマンドを実行します。
npm install
2. Nodeのパスを確認する
3. Nodeのバージョンを確認する
node --version
4. mcpServer.js の絶対パスを取得する
💻 MCPサーバーをClaude DesktopまたはCursorに接続する
MCPサーバーを任意のMCPクライアントに接続することができます。以下は、Claude DesktopとCursorに接続する手順です。
Claude Desktop
ステップ1: 前の手順で確認したNodeの完全パスと mcpServer.js のパスをメモします。
ステップ2: Claude Desktopを開き、Settings → Developers → Edit Config を選択し、新しいMCPサーバーを追加します。
{
"mcpServers": {
"<server_name>": {
"command": "<absolute/path/to/node>",
"args": ["<absolute/path/to/mcpServer.js>"]
}
}
}
Claude Desktopを再起動して変更を有効にします。新しいMCPがオンになっていて、横に緑色の丸が表示されていることを確認してください。その場合、接続したツールを使用できるチャットセッションを開始する準備ができています。
Cursor
ステップ1: 前の手順で確認したNodeの完全パスと mcpServer.js のパスをメモします。
ステップ2: Cursorでコマンドパレットを開き、「MCP: Add Server」を検索するか、Settings → MCP Serversに移動します。
ステップ3: 以下の設定で新しいMCPサーバーを追加します。
- Command:
<absolute/path/to/node>
- Arguments:
<absolute/path/to/mcpServer.js>
ステップ4: サーバーを保存して有効にします。CursorはMCPサーバーが利用可能であることを表示し、Cursorのインターフェースから直接BlazeMeterツールを使用できます。
💡 使用建议
両方のクライアントで、絶対パスを使用し、Node.js v18以上を使用することを確認してください。node のバージョンがv18以上の絶対パスを指定しない場合、クライアントはシステム上の以前のバージョンの node にフォールバックする可能性があります。この場合、fetch APIが使用できず、ツール呼び出しが機能しません。その場合は、a) 新しいバージョンのNodeをインストールし、コマンドでそれを指すか、b) 各ツールに node-fetch を fetch としてインポートし、node-fetch の依存関係を package.json に追加してください。
追加オプション
🐳 Dockerデプロイメント(本番環境)
本番環境でのデプロイメントには、Dockerを使用できます。
1. Dockerイメージのビルド
docker build -t <your_server_name> .
2. クライアント統合
MCPクライアント(Claude DesktopまたはCursor)にDockerサーバーの設定を追加します。
{
"mcpServers": {
"<your_server_name>": {
"command": "docker",
"args": ["run", "-i", "--rm", "--env-file=.env", "<your_server_name>"]
}
}
}
.env ファイルに環境変数(APIキーなど)を追加してください。
このプロジェクトには、以下の最小限のDocker設定が同梱されています。
FROM node:22.12-alpine AS builder
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
ENTRYPOINT ["node", "mcpServer.js"]
🌐 Server-Sent Events (SSE)
Server-Sent Events (SSE) をサポートしてサーバーを実行するには、--sse フラグを使用します。
node mcpServer.js --sse
🛠️ 追加のCLIコマンド
ツールの一覧表示
生成されたすべてのツールの説明とパラメータを一覧表示するには、以下のコマンドを使用します。
node index.js tools
例:
Available Tools:
Workspace: acme-workspace
Collection: useful-api
list_all_customers
Description: Retrieve a list of useful things.
Parameters:
- magic: The required magic power
- limit: Number of results returned
[...additional parameters...]
🔥 BlazeMeter APIツール
このプロジェクトには、BlazeMeter APIとやり取りするためのツールが含まれています。.env ファイルに以下の環境変数を設定する必要があります。
例 .env
BASE_URL=https://a.blazemeter.com
BZM_USERNAME=your_blazemeter_api_key
BZM_PASSWORD=your_blazemeter_api_secret
BZM_ACCOUNT_ID=your_blazemeter_account_id # (オプション、workspace-listで使用)
BZM_WORKSPACE_ID=your_blazemeter_workspace_id # (オプション、project-listで使用)
- パラメータがオプションのツールの場合、指定されない場合は
.env から値が読み取られます。
- パラメータが必須のツールの場合、リクエストでそれを指定する必要があります。
サポートされているBlazeMeterエンドポイント
| ツール名 |
エンドポイントと説明 |
必須パラメータ |
| get_workspaces |
/api/v4/workspaces?accountId=... アカウントのワークスペースを一覧表示する |
(オプション) accountId |
| get_projects |
/api/v4/projects?workspaceId=... ワークスペースのプロジェクトを一覧表示する |
(オプション) workspaceId |
| get_test_runs |
/api/v4/masters?testId=... テストのテスト実行(マスター)を一覧表示する |
testId |
| get_test_run_summary |
/api/v4/masters/{masterId}/reports/default/summary テスト実行の概要を取得する |
masterId |
| get_test_run_aggregate_data |
/api/v4/masters/{masterId}/reports/aggregatereport/data 集計レポートデータを取得する |
masterId |
| get_test_run_errors_data |
/api/v4/masters/{masterId}/reports/errorsreport/data エラーレポートデータを取得する |
masterId |
| get_test_run_thresholds |
/api/v4/masters/{masterId}/reports/thresholds しきい値レポートを取得する |
masterId |
| get_test_run_timeline_kpis |
/api/v4/masters/{masterId}/reports/timeline/kpis タイムラインのKPIレポートを取得する |
masterId |