SuperAPI AI 工具集

mcp-internet-speed-test

mcp-internet-speed-test 是一个基于 Model Context Protocol(MCP)的服务器实现,让 AI 模型与智能体能够通过标准化接口测量、分析并报告网络性能指标。它支持下载与上传带宽测量、延迟(ping)、抖动(jitter)分析,并能检测 Fastly、Cloudflare 与 AWS CloudFront 多 CDN 服务信息,将 POP 代码映射到 50 多个全球物理位置,同时可读取缓存状态与 CDN 响应头。该项目采用基于 SpeedOf.Me 的智能增量测试方法,以 8 秒阈值为准,从 128KB 到 128MB 的测试文件按 2 的幂次逐步增大,以获得更贴近真实浏览体验的测速结果。它同时提供单一综合测试函数,可一次性输出全部指标与服务器元数据。项目以 Python 开发,要求 Python 3.12 及以上版本,已发布至 PyPI,可通过 pip 或 uv 安装,也支持 Docker 与本地开发安装。

访问官网

工具介绍

用途

mcp-internet-speed-test 是一个专门的 Model Context Protocol(MCP)服务器实现,用于互联网速度测试。它让 AI 模型和智能体能够通过标准化接口测量、分析和报告网络性能指标。MCP 被描述为“AI 应用的 USB-C”,即为大语言模型(LLM)提供与外部工具和数据源交互的通用接口。

主要能力

  • 智能增量测试:采用 SpeedOf.Me 方法论,以 8 秒阈值为准,追求最佳准确性。
  • 下载速度测试:使用来自 GitHub 仓库(Git LFS)的 128KB 至 128MB 文件测量带宽。
  • 上传速度测试:使用 128KB 至 128MB 的流式数据测试上传带宽。
  • 延迟测试:使用多个样本测量网络延迟,并报告最小值。
  • 抖动分析:通过多个延迟样本(默认 5 个)计算网络稳定性。
  • 多 CDN 支持:检测并提供 Fastly、Cloudflare 和 AWS CloudFront 的信息。
  • 地理位置:将 POP 代码映射到物理位置(全球 50 多个位置)。
  • 缓存分析:检测 HIT/MISS 状态和缓存头。
  • 服务器元数据:提取详细 CDN 头,包括 x-served-by、via、x-cache。
  • 综合测试:通过单一函数运行所有测试并获取完整指标。

使用方式

环境要求为 Python 3.12 或更高版本(异步支持所需),以及 pip 或 uv 包管理器。安装方式包括:从 PyPI 使用 pip 安装(推荐)、从 PyPI 使用 uv 安装、使用 Docker,或用于贡献/修改代码的开发/本地安装。

该 MCP 服务器提供以下工具:

测试函数:

  • measure_download_speed:测量下载带宽(Mbps),包含服务器位置信息。
  • measure_upload_speed:测量上传带宽(Mbps),包含服务器位置信息。
  • measure_latency:使用样本测量网络延迟(ms),报告最小值。
  • measure_jitter:通过分析延迟变化测量网络抖动,包含服务器信息。
  • get_server_info:无需运行速度测试即可获取任意 URL 的详细 CDN 服务器信息。
  • run_complete_test:包含全部指标和服务器元数据的综合测试。

要在 Claude Desktop 或其他 MCP 客户端中使用此 MCP 服务器,需将其添加到 MCP 配置文件中(例如编辑 Claude Desktop 的 MCP 配置文件)。

项目中包含的具体安装命令、配置示例与代码片段请参见项目页面原文。

适用场景

  • 网络诊断:了解实际为测试提供服务的服务器。
  • 性能分析:将速度结果与服务器地理距离相关联。
  • CDN 优化:识别 ISP 的路由是否最优。
  • 地理感知:了解测试是否在预期的区域运行。
  • 故障排查:识别路由问题和 CDN 配置错误。

限制与技术细节

  • 测试时长阈值:8.0 秒(样本超过此值时停止)。
  • 最大文件大小:可配置(默认 128MB)。
  • 延迟样本:10 次测量,报告最小值(可配置)。
  • 抖动样本:5 次测量(可配置)。
  • sustain_time:1-8 秒(可配置,默认 8)。

技术实现上采用增量方法:从 128KB 小文件开始,按 2 的幂次逐步增大;使用基于时间的阈值(可配置 sustain_time 1-8 秒,默认 8),当某样本超过阈值时停止;最终测量速度取自耗时 ≥ 8 秒的最后一个样本。CDN 提供商检测包括 Fastly、Cloudflare 和 AWS CloudFront,通过解析 x-served-by、via、x-cache 及自定义 CDN 头进行分析。测试端点包括 Cloudflare Workers (httpi.dev) 作为最高优先级,以及 HTTPBin (httpbin.org) 作为基于 AWS 的次选端点。

常见问题排查提示:确保 MCP 配置中使用绝对路径;验证项目目录的读/执行权限;需要 Python 3.12+ 及异步支持;安装 mcp[cli] 和 httpx;确保 GitHub 仓库 inventer-dev/speed-test-files 可访问;检查企业防火墙/代理是否拦截测试端点;部分 ISP 到 CDN 的路由可能不同;抖动测试需要稳定连接;大文件(>50MB)在慢速连接上可能超时;主上传端点失败时会自动回退;POP 检测依赖 CDN 头的一致性。

该项目为实验性项目,采用 MIT 许可证。