Assert
@assert-click/mcp
MCP-сервер для Assert — позволяет вашему AI-агенту создавать, запускать и проверять E2E-тесты, не покидая чат.
Опишите пользовательский сценарий на обычном английском языке. Assert генерирует тест Playwright, выполняет его в реальном браузере и возвращает пошаговые результаты и скриншоты ошибок — всё это с помощью одного вызова инструмента в Cursor, Claude, Windsurf или любом другом MCP-совместимом агенте.
Зарегистрируйтесь бесплатно на assert.click, чтобы получить API-ключ и ID проекта перед использованием этого пакета.
Что может делать ваш агент
Генерация — опишите сценарий, получите Markdown-описание, готовое к сохранению и запуску
Запуск — выполните сохраненный сценарий или произвольный Markdown в реальном браузере Chromium
Проверка — получите пошаговые результаты (успех/ошибка), сообщения об ошибках и URL-адреса скриншотов при сбоях
Список — просмотрите сохраненные сценарии для проекта
Требования
Node.js
>=18.17Ключ Assert с областью действия проекта — получите его на assert.click
Настройка
1. Создайте assert.config.json в вашем репозитории:
{
"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.
Переменные окружения
ASSERT_API_KEY: API-ключ (альтернатива хранению вassert.config.json)ASSERT_PROJECT_ID: необязательный ID проекта по умолчаниюASSERT_CONFIG: необязательный путь к файлу конфигурации или директории
Файлы конфигурации
MCP-сервер будет искать эти файлы, начиная с текущей директории и выше:
assert.config.jsonassert.config.local.json
assert.config.local.json объединяется с assert.config.json (с приоритетом первого).
Если вы предпочитаете использовать секреты на основе переменных окружения вместо фиксации ключа в репозитории:
{
"projectApiKeyEnv": "ASSERT_API_KEY",
"projectId": "project_123"
}Инструменты
assert_generate
Генерация Markdown-сценария на основе описания на обычном английском языке.
Входные данные:
description: string— что пользователь должен иметь возможность сделатьurl: string— начальный URLproject_id?: stringsave?: boolean— сохранить в проекте (по умолчанию: true)
Возвращает:
{
"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
Список сохраненных сценариев для проекта.
Входные данные:
project_id?: stringcursor?: stringlimit?: number
Возвращает:
{
"scenarios": [
{
"id": "scenario_123",
"name": "Login flow",
"project_id": "project_123",
"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
Лицензия
MIT
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pixel-Funnel/assert-click-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server