npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

blazemeter-mcp

v1.0.0

Published

Blazemeter Tools for MCP

Readme

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.

🚦 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

Install from npm:

npm install -g blazemeter-mcp

Or clone the repository and install dependencies:

git clone https://github.com/pbandreddy/blazemeter-mcp-server.git
cd blazemeter-mcp-server
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

👩‍💻 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 → SettingsDevelopersEdit 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 blazemeter-mcp-server .

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 |