README
🚀 LRC-MCP 服务器
本项目提供了一个模型上下文提供程序(MCP)服务器,用于与 LoadRunner Cloud(LRC)API 集成。它支持以自动化、程序化的方式访问 LRC 资源和测试数据,便于构建性能工程工作流、仪表盘和 AI 集成。
🚀 快速开始
前提条件
- Node.js(需要 v18 及以上版本,推荐 v20 及以上版本)
- npm(随 Node.js 一同安装)
安装步骤
- 克隆此仓库并进入项目目录。
- 安装依赖项:
npm install - 复制示例环境文件,并使用真实凭证进行编辑:
cp .env.example .env # 然后编辑 .env 文件,填写你的 LRC_TENANT_ID、LRC_CLIENT_ID 和 LRC_CLIENT_SECRET.env.example文件为所需的环境变量提供了模板。你必须按照上述步骤创建.env文件,并提供实际凭证,服务器才能正常运行。
启动服务器
启动 MCP 服务器:
node mcpServer.js
你也可以启动支持服务器发送事件(SSE)的服务器:
node mcpServer.js --sse
✨ 主要特性
LRC - MCP 服务器提供了一组与 LoadRunner Cloud 交互的工具,包括:
- 获取项目、负载测试、脚本和测试运行信息
- 获取测试运行的事务详细信息、摘要和 HTTP 响应
- 自动化性能数据收集和报告
该服务器与任何 MCP 客户端(如 Claude Desktop 或 Cursor)兼容,并可根据需要扩展以支持更多 LRC API。
📦 可用工具
以下是可用于与 LoadRunner Cloud 交互的工具:
- get_projects:检索租户中的所有项目。
- test_runs_getActiveTestRuns:从 LoadRunner Cloud 获取活动的测试运行。
- test_runs_getTestRunTransactions:列出测试运行中的所有事务信息。
- test_runs_getTestRunSummary:获取测试运行的摘要。
- test_runs_getHttpResponses:获取测试运行的 HTTP 响应。
- projects_getLoadTests:检索项目中的负载测试。
- projects_getLoadTestScripts:检索项目中负载测试的脚本。
- projects_getLoadTestRuns:检索项目中负载测试的运行信息。
💻 使用示例
基础用法
你可以从任何兼容 MCP 的客户端调用这些工具。以下是 JavaScript 示例:
// 获取所有项目
await get_projects();
// 获取项目的负载测试
await projects_getLoadTests({ projectId: '10' });
// 获取项目中负载测试的脚本
await projects_getLoadTestScripts({ projectId: '10', loadTestId: '2159' });
// 获取项目中负载测试的运行信息
await projects_getLoadTestRuns({ projectId: '10', loadTestId: '2159' });
// 获取测试运行的 HTTP 响应
await test_runs_getHttpResponses({ runId: '16287' });
📚 详细文档
获取绝对路径(Shell 和 Windows)
要获取 node 的完整路径:
- 在 Unix/Linux/macOS 系统上,运行:
which node - 在 Windows PowerShell 中,运行:
Get-Command node | Select-Object Source
要检查 node 版本,运行:
node --version
要获取 mcpServer.js 的绝对路径,运行:
- 在 Unix/Linux/macOS 系统上:
realpath mcpServer.js - 在 Windows PowerShell 中(从项目目录运行):
Resolve-Path mcpServer.js
MCP 客户端配置
你可以将 MCP 服务器连接到任何 MCP 客户端。以下是针对 Claude Desktop 和 Cursor 的配置说明。
Claude Desktop
- 记录上一步中 node 和
mcpServer.js的完整路径。 - 打开 Claude Desktop → 设置 → 开发者 → 编辑配置,并添加一个新的 MCP 服务器:
{ "mcpServers": { "<服务器名称>": { "command": "<node 的绝对路径>", "args": ["<mcpServer.js 的绝对路径>"] } } } - 重启 Claude Desktop 以激活更改。确保新的 MCP 已开启,并且旁边有一个绿色圆圈。
⚠️ 重要提示
如果你没有为
node提供 v18 及以上版本的绝对路径,Claude(以及其他 MCP 客户端)可能会回退到系统中其他旧版本的node。在这种情况下,fetchAPI 将不可用,工具调用将无法正常工作。如果发生这种情况,你可以 a) 安装较新版本的 node 并在命令中指向它,或者 b) 将node-fetch作为fetch导入到每个工具中,并确保在package.json中添加node-fetch依赖项。
Cursor
- 如上述步骤记录 node 和
mcpServer.js的完整路径。 - 在 Cursor 中,转到 设置 → AI 工具 → MCP 服务器(或类似的 MCP 集成部分)。
- 添加新的 MCP 服务器配置:
{ "command": "<node 的绝对路径>", "args": ["<mcpServer.js 的绝对路径>"] } - 保存并启用服务器。确保服务器正在运行,并且可在 Cursor 中进行工具调用。
Docker 部署
对于生产环境部署,你可以使用 Docker:
docker build -t lrc-mcp-server .
🔧 技术细节
模型上下文提供程序(MCP)是一种向 AI 和自动化客户端公开程序化工具的协议。此服务器实现了用于 LoadRunner Cloud API 的 MCP 协议。
更多信息请参阅源代码和工具文档。
微信扫一扫