性能测试服务器

MCP性能测试服务器,用于测试和基准测试Discovery Intech MCP客户端应用程序的性能,提供响应时间、令牌使用、成本和系统性能的全面分析工具。

  • by RayenMalouche
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 rayenmalouche/ai-agents-performance-testing-mcp-typescript-server

使用说明

MCP性能测试服务器

一种模型上下文协议(MCP)服务器,旨在对Discovery Intech MCP客户端应用程序进行性能测试和基准测试。此服务器提供了全面的测试工具,用于分析各种负载条件下的响应时间、令牌使用、成本和系统性能。

特性

  • 单项性能测试:执行单个查询并衡量详细指标
  • 负载测试:使用可配置的请求模式模拟多个并发用户
  • 成本监控:通过预测跟踪API成本和代币使用情况
  • 基准情景:为Discovery Intech解决方案运行预定义的测试场景
  • 结果分析:生成详细的性能分析和报告
  • 导出功能:以JSON、CSV或HTML格式导出结果

安装

先决条件

  • Node.js(版本18或更高)
  • TypeScript
  • 访问Discovery Intech MCP客户端(默认:http://localhost:8072)

设置

  1. 克隆或下载项目文件
  2. 安装依赖项:
    npm install
    
  3. 构建TypeScript代码:
    npm run build
    
  4. 启动服务器:
    npm start
    

项目结构

├── src/
│   └── index.ts          # Main server implementation
├── build/                # Compiled JavaScript output
├── package.json          # Project dependencies and scripts
├── tsconfig.json         # TypeScript configuration
└── README.md            # This file

可用工具

1. run_performance_test

对Discovery Intech客户端执行单个性能测试。

参数:

  • query (必填):要测试的查询字符串
  • targetUrl (可选):目标发现客户端URL(默认值:http://localhost:8072)
  • testId (可选):唯一测试标识符

退货:

  • 测试ID、响应时间、令牌使用情况、成本估算、数据集大小、MCP调用计数和获取的URL

2. run_load_test

模拟多个并发用户执行测试。

参数:

  • queries (必需):要测试的查询字符串数组
  • concurrentUsers (可选):并发用户数(默认值:5)
  • requestsPerUser (可选):每个用户的请求数(默认值:2)
  • targetUrl (可选):目标发现客户端URL

退货:

  • 包含汇总指标的负载测试摘要

3. analyze_test_results

分析和总结收集到的测试结果。

参数:

  • testIds (可选):要分析的特定测试ID
  • generateReport (可选):生成详细的HTML报告(默认值:false)

退货:

  • 全面分析,包括性能指标、成本和成功率

4. monitor_costs

监控API成本和使用模式。

参数:

  • timeframe (可选):分析周期-“小时”、“天”或“周”(默认值:“天”)
  • modelName (可选):用于成本计算的AI模型(默认:“llama-3.1-8b-instant”)

退货:

  • 带有预测和使用模式的成本分析

5. benchmark_scenarios

为Discovery Intech解决方案运行预定义的基准场景。

参数:

  • scenarios (可选):要运行的场景数组(默认值:[“all”])
    • 可用场景:“sage”、“qad”、“microsoft”、“sap”、“sectors”、“services”、“company”和“all”
  • targetUrl (可选):目标发现客户端URL

退货:

  • 使用性能指标对每个场景的结果进行基准测试

6. export_results

将测试结果导出为各种格式。

参数:

  • format (可选):导出格式-“json”、“csv”或“html”(默认:“json”)
  • filepath (必填):输出文件路径
  • includeDetails (可选):包括详细的测试数据(默认值:true)

退货:

  • 出口成功确认

使用示例

基本性能测试

# Test a single query
{
  "tool": "run_performance_test",
  "arguments": {
    "query": "Créez un dataset sur les solutions SAP de Discovery Intech",
    "testId": "sap_test_001"
  }
}

负载测试

# Simulate 10 concurrent users with 3 requests each
{
  "tool": "run_load_test",
  "arguments": {
    "queries": [
      "Générez un dataset sur les solutions Sage",
      "Créez un dataset sur les secteurs d'activité",
      "Produisez un dataset sur l'équipe Discovery Intech"
    ],
    "concurrentUsers": 10,
    "requestsPerUser": 3
  }
}

对所有场景进行基准测试

{
  "tool": "benchmark_scenarios",
  "arguments": {
    "scenarios": ["all"]
  }
}

导出结果

{
  "tool": "export_results",
  "arguments": {
    "format": "html",
    "filepath": "./test_results.html",
    "includeDetails": true
  }
}

收集的指标

服务器跟踪每个测试的综合指标:

  • 响应时间:从请求到响应完成的总时间
  • 令牌使用情况:估计消耗的代币(输入+输出)
  • 成本估算:根据羊驼的Groq定价计算成本-3.1-8b-instant
  • 数据集大小:响应中的数据集元素数
  • MCP呼叫:MCP工具调用计数
  • 已获取URL:访问的唯一发现互联网URL
  • 成功率:测试完成状态

成本计算

成本使用羊驼的Groq定价计算-3.1-8b-instant:

  • 输入代币:每1000个代币0.05美元
  • 输出代币:每1000个代币0.08美元
  • 令牌估计:每个令牌约4个字符

配置

目标URL配置

默认情况下,服务器的目标 http://localhost:8072。您可以在任何工具调用中覆盖此内容:

{
  "targetUrl": "https://your-discovery-client.com"
}

超时设置

所有请求都有5分钟的超时时间(300000ms),以适应可能需要大量数据集生成的复杂查询。

错误处理

服务器包括全面的错误处理:

  • 网络超时和连接错误
  • 目标客户端的响应无效
  • 导出操作期间的文件系统错误
  • 无效的工具参数

发展

建筑

npm run build

项目依赖项

  • @模型上下文协议/sdk:MCP框架
  • 轴:API请求的HTTP客户端
  • 打字稿:TypeScript编译器和类型定义

添加新的测试场景

要添加新的基准场景,请修改 predefinedScenarios 对象在 benchmarkScenarios 方法:

const predefinedScenarios = {
  // existing scenarios...
  newScenario: 'Your new test query here',
};

故障排除

常见问题

  1. 连接被拒绝:确保Discovery Intech客户端正在指定的URL上运行
  2. 超时错误:大型数据集查询可能需要几分钟才能完成
  3. 权限错误:确保导出文件路径的写入权限

调试模式

服务器记录到stderr进行调试。监控控制台输出以获取详细的执行信息。

许可证

ISC许可证

贡献

这是Discovery Intech MCP客户端的专用测试工具。确保任何修改都与MCP协议规范保持兼容性。

支持

关于以下问题:

  • MCP协议:检查模型上下文协议文档
  • Discovery Intech客户端:联系Discovery Intech开发团队
  • 服务器功能:查看中的源代码 src/index.ts