性能测试分析工具

Sitespeed-MCP Server是一个即插即用的性能测试分析工具,支持从MCP兼容客户端运行性能测试并分析Chrome跟踪数据。

  • by myanees284
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 myanees284/sitespeed-mcp-server

使用说明

Sitespeed-MCP 服务器

即插即用 Sitespeed.io 模型上下文协议(MCP) 使用(某种技术/语言/框架等)构建的服务器 FastMCP.
它允许您直接从MCP兼容的客户端(如……)运行性能测试并分析Chrome追踪数据
VS Code(GitHub Copilot MCP), 克林(Cline,人名,根据具体语境可译为“克林”或其他对应中文名字,此处保留音译形式),或者 Claude Desktop(可译为“Claude桌面版”或保持原样,根据上下文决定是否需要具体翻译)。


特点/功能

工具 描述
run_sitespeed 为给定的URL运行Sitespeed.io性能测试
read_sitespeed_data 从测试运行中读取并解析JSON指标
analyze_trace 从Chrome追踪中提取长时间任务(>50毫秒)
analyze_network 汇总所有网络请求(总计+唯一)
analyze_rendering 分析绘制/布局/合成事件
analyze_memory 从跟踪数据中提取GC(垃圾回收)和内存事件

项目结构

.
├── app
│   ├── __init__.py
│   ├── main.py
│   └── services
│       └── runner.py
├── Dockerfile
├── requirements.txt
└── sitespeed-results

使用Docker构建和运行

构建镜像

docker build -t sitespeed-mcp-server .

运行容器

docker run --rm -i \
  -v $(pwd)/sitespeed-results:/app/sitespeed-results \
  sitespeed-mcp-server

所有输出都将存储在 ./sitespeed-results 取决于你的主机。


环境变量

变量 默认值 用途
SITESPEED_OUTPUT /app/sitespeed-results 测试结果输出目录
PYTHONPATH /app FastMCP 导入的 Python 模块路径

与MCP客户端的集成

GitHub Copilot(在VS Code中的MCP代理模式)

  1. 开放 命令面板 → “MCP:添加服务器”
  2. 使用此配置:
{
  "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-v",
                "./sitespeed-results:/app/sitespeed-results",
                "sitespeed-mcp-server"
            ],
            "env": {}
}
  1. 保存并重新加载 VS Code。
    Copilot Agent 将检测并列出所有工具。

克劳德桌面版 / 克莱恩

编辑你的MCP配置(例如 ~/.config/Cline/config.json):

{
  "servers": {
        "sitespeed-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-v",
        "/<your local path>/sitespeed-results:/app/sitespeed-results",
        "sitespeed-mcp-server"
      ]
    }
}

示例用法

进行测试:

/run_sitespeed https://www.amazon.com/

阅读结果:

/read_sitespeed_data run-20251007-163744

分析轨迹/分析追踪:

/analyze_trace run-20251007-163744

开发说明/开发备注

  • 基础镜像 → sitespeedio/sitespeed.io:38.3.0
  • Python 运行时 → 包含 fastmcp
  • 入口点 → fastmcp run ./app/main.py
  • 通信 → 标准I/O(无需端口)
  • 日志 → 通过MCP客户端流式传输的Sitespeed输出

故障排除

问题 原因 解决方法
File not found: /app/app.main 错误的ENTRYPOINT 使用 ./app/main.py
Data folder not found: /app/sitespeed-results/sitespeed-results/... 重复路径连接 使用 os.path.join(BASE_DIR, run_id, "data")
Mounts denied (macOS) Docker 路径未共享 在 Docker Desktop → 资源 → 文件共享 中添加该路径

发布到Docker Hub

打标签并推送

docker tag sitespeed-mcp-server <your repository name>/sitespeed-mcp-server:<your tag>
docker push <your repository name>/sitespeed-mcp-server:<your tag>

拉起跑

docker run --rm -i \
  -v $(pwd)/sitespeed-results:/app/sitespeed-results \
  <your repository name>/sitespeed-mcp-server

许可证

麻省理工学院(MIT)许可证 © 2025 — 阿尼斯·穆罕默德