@断言click/mcp
MCP服务器 断言 --让您的AI编码代理在不离开聊天的情况下生成、运行和检查E2E测试。
用简单的英语描述用户流。Assert生成一个Playwright测试,在真实浏览器中执行它,并返回步骤级结果和失败截图——所有这些都来自Cursor、Claude、Windsurf或任何MCP兼容代理中的单个工具调用。
免费注册assert.click 以便在使用此软件包之前获取API密钥和项目ID。
你的代理人能做什么
- 生成 --描述一个流程,返回一个Markdown场景,准备保存并运行
- 跑 --在真正的Chromium浏览器上执行保存的场景或临时Markdown
- 检查 --获取步骤级通过/失败、错误消息和失败屏幕截图URL
- 列表 -浏览API键可见的已保存方案
需求
- Node.js
>=18.17 - 一个项目范围的Assert密钥——在 assert.click
设置
1.创建 assert.config.json 在您的repo中:
{
"projectApiKey": "assert_project_key_here",
"projectId": "project_123"
}2.将MCP服务器添加到您的代理配置中:
{
"mcpServers": {
"assert": {
"command": "npx",
"args": ["-y", "@assert-click/mcp"],
"env": {
"ASSERT_CONFIG": "/absolute/path/to/assert.config.json"
}
}
}
}就是这样。您的代理现在可以访问所有四个Assert工具。
私有URL
目标例如 localhost, 127.0.0.1,默认情况下会阻止LAN或VPN IP地址。
使用公共URL,除非执行Assert运行的计算机被有意配置为允许具有以下内容的私有目标:
ALLOW_PRIVATE_TARGETS=true在运行Assert的机器或进程上设置该值。不要放进去 assert.config.json.
环境变量
ASSERT_API_KEY:API密钥(代替将其存储在assert.config.json)ASSERT_PROJECT_ID:可选的默认项目IDASSERT_CONFIG:配置文件或目录的可选路径
配置文件
MCP服务器将从当前目录向上查找这些文件:
assert.config.jsonassert.config.local.json
assert.config.local.json 合并到顶部 assert.config.json.
如果你更喜欢基于env的secrets而不是提交密钥:
{
"projectApiKeyEnv": "ASSERT_API_KEY",
"projectId": "project_123"
}工具
assert_generate
从简单的英语描述生成Markdown场景。
输入:
description: string--用户应该能够做什么url: string--起始URLproject_id?: stringsave?: boolean--保存到项目(默认值:false)
退货:
{
"scenario_id": "scenario_123",
"markdown": "URL: https://example.com/login\nSCENARIO: Login\nPROCESS:\n - Fill \"email\" with \"user@example.com\"\nEXPECT: Dashboard",
"saved": true
}assert_run
在真实浏览器中执行已保存的场景或即席Markdown。
输入:
scenario_id?: stringmarkdown?: stringproject_id?: stringrequest_id?: string
正是其中之一 scenario_id 或 markdown 必须提供。
退货:
{
"run_id": "run_123",
"status": "queued",
"estimated_duration_seconds": null
}assert_status
获取运行的步骤级别结果。
输入:
run_id: string
退货:
{
"run_id": "run_123",
"status": "passed",
"duration_ms": 4200,
"steps": [
{
"description": "Fill email",
"status": "passed",
"error": null,
"screenshot_url": null
}
],
"failure_summary": null,
"full_log_url": null
}assert_list
列出API密钥可见的已保存方案。
输入:
project_id?: stringcursor?: stringlimit?: number
project_id 目前保留用于未来的过滤支持。当前API列出了API键可见的所有场景。
退货:
{
"scenarios": [
{
"id": "scenario_123",
"name": "Login flow",
"project_id": null,
"last_run_status": "passed",
"last_run_at": "2026-03-31T10:00:00.000Z",
"url": "https://example.com/login"
}
],
"next_cursor": null
}错误
错误以结构化JSON形式返回:
{
"error": {
"code": "INVALID_API_KEY",
"message": "The ASSERT_API_KEY is invalid or missing.",
"field": null
}
}常用代码:
INVALID_API_KEYSCENARIO_NOT_FOUNDRUN_NOT_FOUNDVALIDATION_ERRORUPSTREAM_ERROR
许可证
麻省理工学院
