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代理模式)
- 开放 命令面板 → “MCP:添加服务器”
- 使用此配置:
{
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"./sitespeed-results:/app/sitespeed-results",
"sitespeed-mcp-server"
],
"env": {}
}- 保存并重新加载 VS Code。\
Copilot Agent 将检测并列出所有工具。
______________________________________________________________________
克劳德桌面版 / 克莱恩
编辑你的MCP配置(例如 ~/.config/Cline/config.json):
{
"servers": {
"sitespeed-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"//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 /sitespeed-mcp-server:
docker push /sitespeed-mcp-server:拉起跑
docker run --rm -i \
-v $(pwd)/sitespeed-results:/app/sitespeed-results \
/sitespeed-mcp-server______________________________________________________________________
许可证
麻省理工学院(MIT)许可证 © 2025 — 阿尼斯·穆罕默德
