关于 Squidler.io
Squidler.io 的 MCP 服务让编码 Agent 使用其平台,通过自然语言创建和运行 Web 应用测试、查看结果,并跟踪无障碍、质量和易用性问题。它提供测试后验证工作流指导,以及站点测试和独立测试用例工具。
主要功能
- 01创建和管理测试用例
- 02运行测试并查看结果
- 03查看执行事件和截图
- 04跟踪并处理站点问题
- 05运行 persona 用户体验评审
- 06支持独立 Markdown 测试
适用场景
- 01验证新构建的 Web 功能
- 02调查测试失败和用户操作阻碍
- 03按功能标签整理回归测试
MCP 相关
服务通过 HTTP 和 Bearer 令牌将 MCP 客户端连接到 Squidler,并提供用于站点测试和问题管理的工具、资源、提示词及内置 Agent 指导。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.squidler.ioclaude mcp add --transport http squidlerio https://mcp.squidler.io{"mcpServers":{"squidlerio":{"type":"http","url":"https://mcp.squidler.io"}}}在 Cursor 中打开{"servers":{"squidlerio":{"type":"http","url":"https://mcp.squidler.io"}}}在 VS Code 中打开{"mcpServers":{"squidlerio":{"type":"http","url":"https://mcp.squidler.io"}}}{"mcpServers":{"squidlerio":{"serverUrl":"https://mcp.squidler.io"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.squidler.io需要授权工具
详细介绍
Squidler MCP 服务
Squidler.io
AI 编码 Agent 擅长 Web 应用的构建阶段,但在验证阶段表现不佳。Squidler 旨在根据自然语言用例,像人类一样验证你的 Web 应用,同时避免编写脆弱且依赖 DOM 的测试。
Squidler 不只是一款测试工具;它还能让你的编码 Agent 脱离实现细节,从用户视角分析自己的工作。Squidler 闭合了自主的构建 → 验证 → 修复循环,让你真正成为有人参与的流程中的人类,管理最终结果,而非输出内容。
Squidler MCP 服务
使用 Squidler MCP 服务,你可以让 Cursor、Claude Code、Replit、Lovable 等 AI 编码 Agent 使用 Squidler。这意味着你可以让编码 Agent 构建一项功能,用自然语言向 Squidler 描述用例,请求 Squidler 对其进行测试,并获取测试运行情况的详细信息,以及使用你的 Web 应用时发现的所有问题或阻碍的详情。
下面介绍了如何通过 MCP 开始使用 Squidler,并提供了示例。如有任何问题,请随时联系 [email protected]。
配置
将以下内容添加到你的 MCP 客户端配置中:
{
"mcpServers": {
"squidler": {
"transport": "http",
"url": "https://mcp.squidler.io",
"headers": {
"Authorization": "Bearer YOUR_SQUIDLER_API_TOKEN"
}
}
}
}
从 squidler.io/integrations/api-keys 获取你的 API 令牌。
内置 Agent 指引
MCP 服务包含内置指令,可指导你的 AI Agent 使用功能完成后进行测试的工作流。连接后,Agent 会自动了解如何使用 Squidler,无需你进行说明。工作流如下:
- 运行现有测试 — 确认新功能没有破坏任何内容。
- 调查失败情况 — 利用测试运行结果和事件了解失败原因。如果是 Bug,就修复代码;如果测试已过时,就更新或删除测试。
- 为功能添加标签 — 为已完成的功能创建标签(例如“用户登录”“结账流程”),以整理测试目录。
- 覆盖新功能 — 通过引导式对话(
test_case_create)为新行为创建测试用例,为其添加功能标签,并运行测试以确认通过。- 对于没有可点击链接的页面(隐藏端点、深层链接),请将步骤写为:“直接导航到 /path”
- 确认全部通过 — 反复运行测试,直到全部通过,然后再处理下一个功能。
随着时间推移,这会建立一个按功能整理、不断扩充的测试目录,既能防止回归,也能记录系统预期的工作方式。
资源
| 资源 URI | 描述 |
|---|---|
squidler://help | 服务文档和可用功能 |
squidler://sites | 所有可用站点的列表 |
工具
站点
| 工具 | 描述 |
|---|---|
sites_list | 列出所有可用站点 |
site_details | 获取站点信息(所有者、URL、名称、前端链接) |
site_create | 创建新站点 |
问题
| 工具 | 描述 |
|---|---|
problems_summary | 问题概览(按类型统计总数) |
problems_list | 分页并筛选列出问题 |
problem_get | 获取特定问题的详细信息 |
problem_resolve | 将问题标记为已解决 |
problem_dismiss | 将问题标记为误报 |
测试用例创建
| 工具 | 描述 |
|---|---|
test_case_create | 开始引导式对话,创建存储在 Squidler 上的高质量测试用例。利用网站页面知识、现有测试覆盖情况和测试最佳实践。返回一个 conversationId — 使用 test_case_create_respond 继续对话。 |
test_case_create_respond | 继续进行中的测试用例创建对话 — 回答问题、审阅草稿或确认创建。适用于 test_case_create 和 test_case_create_standalone。 |
测试用例
| 工具 | 描述 |
|---|---|
test_cases_list | 列出所有测试用例 |
test_case_get | 获取测试用例详情 |
test_cases_list_by_label | 列出带有特定标签的测试用例 |
validate_test_case | 验证测试用例的质量、可行性和最佳实践 |
test_case_update | 更新现有测试用例(包含自动验证反馈) |
test_case_delete | 删除测试用例 |
test_case_run | 运行单个测试用例 |
test_cases_run_all | 运行所有测试用例 |
test_cases_run_by_label | 运行带有特定标签的测试用例 |
存储在代码仓库中的 / 独立测试用例
适用于在自己的代码仓库中以 Markdown 文件管理测试用例的 Agent(不使用 Squidler 存储)。涵盖创建 → 验证 → 运行 → 提升的完整流程。对于本地开发迭代尤其有用:将 test_case_run_standalone 与 @squidlerio/squidler-mcp npx 代理搭配使用,可通过本地 Chrome 将运行请求路由至 http://localhost:<port>。
| 工具 | 描述 |
|---|---|
test_case_create_standalone | 通过引导式对话生成独立的 Markdown 文本(不使用 Squidler 存储)。由于没有网站上下文,架构师会比网站关联流程提出更多澄清问题。最终结果为 {filename, markdown},由 Agent 写入本地代码仓库。使用 test_case_create_respond 继续对话。 |
validate_test_case_text | 验证 System B 测试用例文件的 Markdown,无需运行测试。返回 frontmatter、schema 和正文问题的类型化错误,并在可用时附上文件行号。可在写入生成的文件之前、手动编辑之后或 CI 挂钩中使用。 |
test_case_run_standalone | 针对自定义 baseUrl(通常是 localhost 开发服务器或预览部署)运行以行内 Markdown 提供的测试用例。步骤优化 / 固定操作会自动利用同一 (org, contentHash) 的先前运行结果。返回一个 checkId。 |
test_case_runs_standalone_list | 按指定标识符列出调用方组织过去的独立运行记录,按时间从近到远排列。它是 test_runs_list 的独立版本 — 可通过内容哈希在重新运行前进行去重。 |
test_case_promote | 将存储在代码仓库中的 Markdown 文件提升为 Squidler 上与网站关联的测试用例。对 (siteId, identifier) 具有幂等性:根据与最新修订版本的内容哈希比较,结果为 UNCHANGED、UPDATED 或 CREATED。 |
测试运行
| 工具 | 描述 |
|---|---|
test_runs_list | 列出测试用例的执行历史 |
test_case_poll | 长轮询测试执行状态更新和事件 |
test_run_outcome | 获取测试运行的通过/失败结果和目标结果 |
test_run_events | 获取详细的执行事件和屏幕截图 |
test_run_stop | 停止当前正在运行的测试 |
pending_checks_list | 列出网站排队等待启动的检查,以及每项检查受阻于哪些当前正在运行的检查。在 test_case_run 返回 queued: true 时使用。 |
标签
| 工具 | 描述 |
|---|---|
labels_list | 列出所有标签 |
label_get | 获取标签详情 |
label_create | 创建新标签 |
label_update | 更新标签 |
label_delete | 删除标签 |
test_case_labels_add | 为测试用例添加标签 |
test_case_label_remove | 从测试用例移除标签 |
标头
| 工具 | 描述 |
|---|---|
headers_list | 列出网站的自定义标头 |
header_add | 添加或更新自定义标头 |
header_delete | 移除自定义标头 |
凭据
| 工具 | 描述 |
|---|---|
credentials_list | 列出可用的登录凭据 |
credentials_create_userpass | 使用明确指定的电子邮件/用户名和密码创建凭据 |
credentials_create_email | 创建用于验证测试的凭据,并自动生成 @squidlermail.io 电子邮件 |
credentials_create_oidc | 为使用 OpenID Connect 的网站创建 OIDC 凭据 |
Persona 评审(UX 反馈)
| 工具 | 描述 |
|---|---|
personas_list | 列出所有可用于 UX 评审的 Persona |
persona_review_run | 对已验证的测试用例运行 Persona 评审 |
persona_review_findings | 获取已完成的 Persona 评审的详细发现 |
persona_findings_list | 按状态筛选,列出网站和 Persona 的发现 |
persona_finding_triage | 更新发现状态(RESOLVED、DISMISSED、IN_PROGRESS、OPEN) |
账户管理
| 工具 | 描述 |
|---|---|
account_status | 查看当前方案、剩余测试配额和可用升级 |
account_upgrade_url | 生成一个短时有效的 URL,用于升级方案 |
提示词
| 提示词 | 描述 |
|---|---|
create-test-case | 引导创建测试用例,包括目标、步骤和失败策略 |
site-health-check | 快速概览网站质量状况,并提供可执行的建议 |
run-test-suite | 运行所有测试或带标签的测试,并监控结果 |
get-started-with-squidler | 完整入门流程:创建网站、生成初始测试并运行 |
suggest-initial-tests | 分析代码库,推荐 2-4 个初始测试用例 |
enhance-tests-from-runs | 分析测试运行事件,找出并修复测试弱点 |
identify-ux-improvements | 根据 AI 测试员的受阻模式发现可用性问题 |
correlate-accessibility-and-ux | 交叉对照无障碍问题与测试执行受阻情况 |
run-persona-review | 对已验证的测试用例进行角色评审,以发现 UX 问题 |
migrate-legacy-tests | 将旧版测试用例迁移到当前格式 |
提示词示例
| 你可以这样说 | 功能 |
|---|---|
| “为 https://myapp.com 创建一个名为‘My App’的网站” | 在 Squidler 中注册你的网站,以开始监控和测试 |
| “分析代码库,并为关键用户流程创建测试用例” | 通过引导式对话创建全面的测试用例,涵盖顺利流程、边缘情况和负面测试 |
| “运行我的所有测试用例” | 在真实浏览器中执行测试用例,并验证目标、检测问题 |
| “显示我最近测试运行的结果” | 查看哪些目标通过或失败,并了解执行期间发生了什么 |
| “获取测试用例 #1 的详细测试事件并分析 UX” | 查看执行日志,以找出 UX 阻碍和可用性问题 |
| “修复导致测试用例 #1 无法通过的问题” | 分析测试失败情况并修复潜在的代码问题 |
| “获取问题 #42 并帮我修复” | 解决特定的无障碍、功能或内容问题 |
| “修复我网站上的所有无障碍问题” | 遍历各项问题,批量修复 WCAG 合规性问题 |
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。