Back to MCP directory
publicPublicdnsLocal runtime

blazemeter-mcp-server

BlazeMeter MCP服务器项目,提供与BlazeMeter API集成的模型上下文提供者服务,支持程序化访问性能测试数据和管理功能。

article

README

🚀 BlazeMeter MCP Server

本项目提供了一个模型上下文提供器(MCP)服务器,用于与 BlazeMeter 的 API 集成,实现对性能测试数据的编程式访问和管理功能。该服务器提供了一组工具,供与 MCP 兼容的客户端(如 Claude Desktop 和 Cursor)与 BlazeMeter 资源进行交互。

🚀 快速开始

⚙️ 前提条件

在开始之前,请确保你具备以下条件:

⚠️ 重要提示

如果你使用较低版本的 Node.js 运行,将无法使用 fetch。工具使用 fetch 进行 HTTP 调用。若要解决此问题,你可以将工具修改为使用 node-fetch。确保将 node-fetch 作为依赖项安装,然后在每个工具文件中以 fetch 的形式导入。

📥 安装与设置

1. 安装依赖项 在项目的根目录下运行以下命令:

npm install
  • 在 Linux/macOS (sh) 系统上,使用以下命令检查 Node.js 的路径:
    which node
    
  • 在 Windows (PowerShell) 系统上,使用以下命令检查 Node.js 的路径:
    Get-Command node | Select-Object -ExpandProperty Source
    

若要检查 Node.js 的版本,可运行以下命令:

node --version

若要获取 mcpServer.js 的绝对路径,可按以下操作:

  • 在 Linux/macOS (sh) 系统上
    realpath mcpServer.js
    
  • 在 Windows (PowerShell) 系统上
    Resolve-Path mcpServer.js | Select-Object -ExpandProperty Path
    

👩‍💻 将 MCP 服务器连接到 Claude Desktop 或 Cursor

你可以将 MCP 服务器连接到任何 MCP 客户端。以下是将其连接到 Claude Desktop 和 Cursor 的说明。

Claude Desktop

步骤 1:记录上一步中 Node.js 和 mcpServer.js 的完整路径。 步骤 2:打开 Claude Desktop → 设置开发者编辑配置,添加一个新的 MCP 服务器:

{
  "mcpServers": {
    "<服务器名称>": {
      "command": "<Node.js 的绝对路径>",
      "args": ["<mcpServer.js 的绝对路径>"]
    }
  }
}

重启 Claude Desktop 以使更改生效。确保新的 MCP 已开启,并且旁边有一个绿色圆圈。如果是这样,你就可以开始使用已连接工具的聊天会话了。

Cursor

步骤 1:记录上一步中 Node.js 和 mcpServer.js 的完整路径。 步骤 2:在 Cursor 中,打开命令面板,搜索 "MCP: Add Server",或者前往设置 → MCP 服务器。 步骤 3:添加一个新的 MCP 服务器,配置如下:

  • 命令<Node.js 的绝对路径>
  • 参数<mcpServer.js 的绝对路径> 步骤 4:保存并启用服务器。Cursor 会显示 MCP 服务器可用,你可以直接从 Cursor 界面使用 BlazeMeter 工具。

⚠️ 重要提示

对于这两个客户端,请确保使用 Node.js v18 及以上版本的绝对路径。

如果你没有提供 Node.js v18 及以上版本的绝对路径,客户端可能会回退到系统上的其他旧版本。在这种情况下,fetch API 将不可用,工具调用将无法正常工作。如果发生这种情况,你可以 a) 安装较新版本的 Node.js,并在命令中指向它;或者 b) 将 node-fetch 作为 fetch 导入到每个工具中,并确保在 package.json 中添加 node-fetch 依赖项。

附加选项

🐳 Docker 部署(生产环境)

对于生产环境部署,你可以使用 Docker: 1. 构建 Docker 镜像

docker build -t <你的服务器名称> .

2. 客户端集成 将 Docker 服务器配置添加到你的 MCP 客户端(Claude Desktop 或 Cursor):

{
  "mcpServers": {
    "<你的服务器名称>": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "--env-file=.env", "<你的服务器名称>"]
    }
  }
}

请将环境变量(API 密钥等)添加到 .env 文件中。

该项目附带了以下最小化的 Docker 设置:

FROM node:22.12-alpine AS builder

WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install

COPY . .

ENTRYPOINT ["node", "mcpServer.js"]

🌐 服务器发送事件(SSE)

若要运行支持服务器发送事件(SSE)的服务器,请使用 --sse 标志:

node mcpServer.js --sse

🛠️ 其他 CLI 命令

列出工具

使用以下命令列出所有生成工具的描述和参数:

node index.js tools

示例:

可用工具:

工作区:acme-workspace
  集合:useful-api
    list_all_customers
      描述:检索有用事物的列表。
      参数:
        - magic:所需的魔法力量
        - limit:返回结果的数量
        [...其他参数...]

🔥 BlazeMeter API 工具

本项目包含与 BlazeMeter API 交互的工具。你必须在 .env 文件中设置以下环境变量:

示例 .env 文件

BASE_URL=https://a.blazemeter.com
BZM_USERNAME=你的 BlazeMeter API 密钥
BZM_PASSWORD=你的 BlazeMeter API 密钥密码
BZM_ACCOUNT_ID=你的 BlazeMeter 账户 ID   # (可选,用于工作区列表)
BZM_WORKSPACE_ID=你的 BlazeMeter 工作区 ID # (可选,用于项目列表)
  • 对于参数可选的工具,如果未提供值,将从 .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
时间线关键绩效指标报告 | masterId |

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client