Skip to main content
Glama
BlazeMeter MCP Server

BlazeMeter MCP Server

by pbandreddy

BlazeMeter MCP Server

This project provides a Model Context Provider (MCP) server for integrating with BlazeMeter's API, enabling programmatic access to performance test data and management features. The server exposes a set of tools that can be used by MCP-compatible clients (such as Claude Desktop and Cursor) to interact with BlazeMeter resources.

Let's set things up!

🚦 Getting Started

⚙️ Prerequisites

Before starting, please ensure you have:

Warning: if you run with a lower version of Node, fetch won't be present. Tools use fetch to make HTTP calls. To work around this, you can modify the tools to use node-fetch instead. Make sure that node-fetch is installed as a dependency and then import it as fetch into each tool file.

📥 Installation & Setup

1. Install dependencies

Run from your project's root directory:

npm install
  • On Linux/macOS (sh):

    which node
  • On Windows (PowerShell):

    Get-Command node | Select-Object -ExpandProperty Source

To check the node version, run:

node --version

To get the absolute path to mcpServer.js, run:

  • On Linux/macOS (sh):

    realpath mcpServer.js
  • On Windows (PowerShell):

    Resolve-Path mcpServer.js | Select-Object -ExpandProperty Path

Related MCP server: JMeter MCP Server

👩‍💻 Connect the MCP Server to Claude Desktop or Cursor

You can connect your MCP server to any MCP client. Below are instructions for connecting it to Claude Desktop and Cursor.

Claude Desktop

Step 1: Note the full path to node and the mcpServer.js from the previous step.

Step 2. Open Claude Desktop → Settings → Developers → Edit Config and add a new MCP server:

{
  "mcpServers": {
    "<server_name>": {
      "command": "<absolute/path/to/node>",
      "args": ["<absolute/path/to/mcpServer.js>"]
    }
  }
}

Restart Claude Desktop to activate this change. Make sure the new MCP is turned on and has a green circle next to it. If so, you're ready to begin a chat session that can use the tools you've connected.

Cursor

Step 1: Note the full path to node and the mcpServer.js from the previous step.

Step 2. In Cursor, open the Command Palette and search for "MCP: Add Server" or go to Settings → MCP Servers.

Step 3. Add a new MCP server with the following configuration:

  • Command: <absolute/path/to/node>

  • Arguments: <absolute/path/to/mcpServer.js>

Step 4. Save and enable the server. Cursor will show the MCP server as available, and you can use the BlazeMeter tools directly from the Cursor interface.

Note: For both clients, ensure you use the absolute paths and Node.js v18+.

Warning: If you don't supply an absolute path to a node version that is v18+, the client may fall back to another node version on the system of a previous version. In this case, the fetch API won't be present and tool calls will not work. If that happens, you can a) install a newer version of node and point to it in the command, or b) import node-fetch into each tool as fetch, making sure to also add the node-fetch dependency to your package.json.

Additional Options

🐳 Docker Deployment (Production)

For production deployments, you can use Docker:

1. Build Docker image

docker build -t <your_server_name> .

2. Client Integration

Add Docker server configuration to your MCP client (Claude Desktop or Cursor):

{
  "mcpServers": {
    "<your_server_name>": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "--env-file=.env", "<your_server_name>"]
    }
  }
}

Add your environment variables (API keys, etc.) inside the .env file.

The project comes bundled with the following minimal Docker setup:

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)

To run the server with Server-Sent Events (SSE) support, use the --sse flag:

node mcpServer.js --sse

🛠️ Additional CLI commands

List tools

List descriptions and parameters from all generated tools with:

node index.js tools

Example:

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 Tools

This project includes tools for interacting with the BlazeMeter API. You must set the following environment variables in your .env file:

Example .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   # (optional, used by workspace-list)
BZM_WORKSPACE_ID=your_blazemeter_workspace_id # (optional, used by project-list)
  • For tools where the parameter is optional, the value will be read from .env if not provided.

  • For tools where the parameter is required, you must provide it in the request.

Supported BlazeMeter Endpoints

Tool Name

Endpoint & Description

Required Parameter(s)

get_workspaces

/api/v4/workspaces?accountId=...List workspaces for an account

(optional) accountId

get_projects

/api/v4/projects?workspaceId=...List projects for a workspace

(optional) workspaceId

get_test_runs

/api/v4/masters?testId=...List test runs (masters) for a test

testId

get_test_run_summary

/api/v4/masters/{masterId}/reports/default/summaryGet summary for a test run

masterId

get_test_run_aggregate_data

/api/v4/masters/{masterId}/reports/aggregatereport/dataAggregate report data

masterId

get_test_run_errors_data

/api/v4/masters/{masterId}/reports/errorsreport/dataErrors report data

masterId

get_test_run_thresholds

/api/v4/masters/{masterId}/reports/thresholdsThresholds report

masterId

get_test_run_timeline_kpis

/api/v4/masters/{masterId}/reports/timeline/kpisTimeline KPIs report

masterId

Available Tools

8 tools
get_projectsC

Get projects from a specified workspace.

Inputs: workspaceId.

get_test_run_aggregate_dataC

Get the aggregate report data for a specified test run (master).

Inputs: masterId (required).

get_test_run_errors_dataC

Get the errors report data for a specified test run (master).

Inputs: masterId (required).

get_test_runsC

Get test runs (masters) for a specified test.

Inputs: testId (required).

get_test_run_summaryC

Get the summary report for a specified test run (master).

Inputs: masterId (required).

get_test_run_thresholdsC

Get the thresholds report for a specified test run (master).

Inputs: masterId (required).

get_test_run_timeline_kpisB

Get the timeline KPIs report for a specified test run (master).

Inputs: masterId (required).

get_workspacesC

Get workspaces from a specified account.

Inputs: accountId.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 8 tools

    Disambiguation5/5

    Every tool has a clearly distinct purpose targeting specific resources and report types. The six test run report tools (aggregate_data, errors_data, summary, thresholds, timeline_kpis) each retrieve different data slices without overlap, while get_projects and get_workspaces handle distinct workspace and account-level operations.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with 'get_' prefix and snake_case naming. The naming structure is perfectly predictable: get_[resource]_[optional_specific_data] (e.g., get_test_run_aggregate_data, get_workspaces).

    Tool Count4/5

    Eight tools is reasonable for a performance testing domain, though slightly thin for complete lifecycle coverage. The tools focus heavily on retrieval operations for test runs and workspaces, which fits the server's apparent monitoring/reporting purpose but might benefit from additional test execution or configuration management tools.

    Completeness3/5

    The surface provides excellent read-only coverage for test run reports and workspace/project retrieval, but has notable gaps in test creation, execution, and management operations. Agents can query existing data but cannot initiate tests, modify configurations, or perform other essential performance testing workflow actions.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to programmatically create, execute, and analyze Apache JMeter performance tests. It supports automated bottleneck detection, report generation, and distributed testing management through natural language.
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      Enables the execution and analysis of JMeter performance tests through MCP-compatible clients. It provides tools for running tests in non-GUI mode, identifying performance bottlenecks, and generating comprehensive insights and visualizations from result files.
      6
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides AI assistants with seamless access to SmartBear's suite of testing and monitoring tools, enabling querying testing data, analyzing performance metrics, and managing test automation through natural language.
      15,612 npm
      MIT