关于 perf
面向使用 JavaScript、Node.js、代码包和 HTTP 服务的 AI Agent 的性能分析 MCP 服务,提供基准测试、内存趋势分析、经验性 Big O 估算、包检查和负载测试。
主要功能
- 01基准测试 JavaScript 执行
- 02分析 Node.js 内存趋势
- 03根据耗时数据估算 Big O
- 04检查 JavaScript 包
- 05对 HTTP 端点进行负载测试
适用场景
- 01比较两种代码实现
- 02调查内存随时间的增长
- 03根据测量结果估算算法复杂度
- 04查找包中的大型模块
- 05测量负载下端点的延迟和吞吐量
MCP 相关
向 MCP 客户端提供基准测试、内存、复杂度、代码包和 HTTP 负载测试工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
5收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 要进行基准测试的 JavaScript 代码 |
| labelA | string | 否 | 第一个实现的标签 |
| labelB | string | 否 | 第二个实现的标签 |
| iterations | integer | 否 | 运行次数 |
| compareCode | string | 否 | 用于比较的可选第二个实现 |
详细介绍
mcp-perf-tools
通过 Model Context Protocol(MCP) 向 AI Agent 提供的性能分析工具。
工具
benchmark
对 JavaScript 代码执行进行基准测试。运行代码片段 N 次,并测量最小值、最大值、平均值、中位数、p95、p99 延迟和每秒操作数。也可并排比较两种实现。
参数:
code(string)——要进行基准测试的 JavaScript 代码iterations(number,默认值 1000)——迭代次数compareCode(string,可选)——用于比较的第二种实现labelA/labelB(string)——比较结果的标签
memory_analyze
分析 Node.js 内存使用情况:已用/总堆内存、RSS、外部内存和数组缓冲区。随时间采集快照,并使用线性回归检测趋势和潜在内存泄漏。
参数:
action—"snapshot"|"analyze"|"clear"
big_o_estimate
根据经验计时数据估算 Big O 复杂度。使用 R 平方评分,将测量结果拟合到 O(1)、O(log n)、O(n)、O(n log n)、O(n^2)、O(n^3) 和 O(2^n)。包含 ASCII 增长曲线可视化。
参数:
inputSizes(number[])——输入大小数组executionTimesMs(number[])——对应的执行时间,单位为 ms
bundle_analyze
分析 JavaScript bundle 文件:原始大小、gzip 压缩大小估算、检测到的模块数量、最大的模块,以及 tree-shaking 机会(副作用、重复项)。
参数:
filePath(string)——bundle 文件的绝对路径
load_test
简单的 HTTP 负载测试工具。以指定的并发级别发送 N 个请求,并报告响应时间百分位数、错误率、吞吐量(req/sec)和状态码分布。
参数:
url(string)——目标 URLtotalRequests(number,默认值 100)——要发送的请求总数concurrency(number,默认值 10)——并发请求数method(string,默认值 "GET")——HTTP 方法headers(object,可选)——HTTP 请求头body(string,可选)——请求体timeoutMs(number,默认值 30000)——请求超时时间
设置
npm install
npm run build
在 Claude Desktop 中使用
添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"perf-tools": {
"command": "node",
"args": ["D:/products/mcp-servers/mcp-perf-tools/dist/index.js"]
}
}
}
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。