omni-tester
⚡ Omni-Tester: MCP-агент тестирования без галлюцинаций
Omni-Tester — это сервер Model Context Protocol (MCP), который оснащает AI-агентов (Claude, Cursor, Windsurf и других) основанным на доказательствах антигаллюцинационным движком валидации. Перестаньте позволять вашей LLM «угадывать», работает ли эндпоинт, — требуйте программных доказательств.
Агент взаимодействует напрямую с бэкенд-серверами, проверяя HTTP-статусы, заголовки ответов и JSON-полезные нагрузки, и выдаёт детерминированные, машинно проверенные результаты.
✅ Уже реализовано (детерминированное доказательство)
Эти уровни работают уже сегодня и возвращают машинно проверенные доказательства — без участия суждений LLM:
Слой 1 — проверка протокола и статуса: отправляет запрос и проверяет, что возвращённый HTTP-статус соответствует вашему явному ожиданию (например,
200 OK,201 Created), помечая несовпадения и сбои5xx.Слой 2 — целостность схемы и полезной нагрузки: проверяет, что заголовок
Content-Typeравенapplication/json, разбирает тело как JSON и возвращает снимок полезной нагрузки. Если передать необязательныйexpected_schema, он также детерминированно обеспечивает наличие и тип каждого поля — верхнего уровня ("id"), вложенных через точечные пути ("address.geo.lat") и элементов списков по индексам ("items.0.id"). Поддерживаемые типы:int,float/number,str/string,bool,list/array,dict/object,null. (JSONtrue/falseне принимается какint.)
Оба слоя выполняются всегда — сбой по статус-коду не подавляет диагностику полезной нагрузки, поэтому вы по-прежнему видите тело ошибки ответа 4xx/5xx.
Пример с контролем схемы:
run_api_4_layer_validation(
endpoint_url="https://jsonplaceholder.typicode.com/users/1",
expected_status=200,
method="GET",
expected_schema={"id": "int", "email": "str", "address.geo.lat": "str"},
)Также есть экспериментальный инструмент run_ui_dom_checklist (Playwright), который загружает страницу в headless-браузере и сообщает количество форм, изображения без alt-тегов и ошибки консоли.
Related MCP server: QA Testing MCP Server
🗺️ Дорожная карта (ещё не реализовано)
Следующие возможности запланированы, но сейчас отсутствуют в коде. Они описаны здесь для прозрачности, а не как доступные функции:
Слой 3 — функциональная бизнес-логика: использование LLM для проверки того, что возвращённые данные логически соответствуют сценарию. (Примечание: это суждение на основе LLM, а не детерминированное доказательство.)
Слой 4 — проверка безопасности и граничных условий: внедрение вредоносных полезных нагрузок (строк SQL-инъекций, повреждённых заголовков, просроченных токенов аутентификации), чтобы убедиться, что API безопасно завершается сбоем.
Углублённый слой 2 (проверки вложенных типов): ✅ Готово — проверяются поля верхнего уровня, точечные вложенные пути и индексы списков. Оставшиеся идеи: поэлементная валидация по всему массиву (например, «у каждого элемента есть
intid») и ограничения enum/формата.Автономный API-агент: самостоятельный инженер по тестированию, который планирует сценарии, генерирует тестовый код на Python и самовосстанавливается при изменении схем.
API-агент-исследователь: динамически фаззит и связывает действия (например, извлекает токен из
GETи подставляет его вPUT).Журналы аудита: структурированный вывод в
specs/api_plan.md,tests/api/иdata/reports/api_report_*.html.
📦 Установка
С помощью uv (рекомендуется):
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv sync # Install dependencies from pyproject.tomlДля инструмента UI-чеклиста один раз установите браузер Playwright:
uv run playwright install chromiumПроверьте, что сервер запускается (он общается по MCP через stdio и будет ждать клиента):
uv run omni-tester🔌 Подключение к MCP-клиентам
Сервер запускается командой uv run omni-tester. Добавьте его в выбранный вами клиент ниже. Если uv отсутствует в PATH вашего клиента, укажите абсолютный путь к бинарному файлу uv в поле command.
Claude Code (CLI)
Добавьте его одной командой:
claude mcp add --transport stdio omni-tester -- uv run omni-testerИли добавьте его вручную в .mcp.json уровня проекта:
{
"mcpServers": {
"omni-tester": {
"type": "stdio",
"command": "uv",
"args": ["run", "omni-tester"],
"env": {}
}
}
}Claude Desktop
Отредактируйте claude_desktop_config.json (Настройки → Разработчик → Изменить конфигурацию):
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"omni-tester": {
"command": "uv",
"args": ["run", "omni-tester"],
"env": {}
}
}
}Перезапустите Claude Desktop после сохранения.
Cursor
Отредактируйте .cursor/mcp.json (для проекта) или ~/.cursor/mcp.json (глобально):
{
"mcpServers": {
"omni-tester": {
"type": "stdio",
"command": "uv",
"args": ["run", "omni-tester"],
"env": {}
}
}
}Windsurf (Cascade)
Отредактируйте mcp_config.json (Настройки → Управление MCP-серверами → Просмотр конфигурации):
macOS/Linux:
~/.codeium/windsurf/mcp_config.jsonWindows:
%APPDATA%\Codeium\Windsurf\mcp_config.json
{
"mcpServers": {
"omni-tester": {
"command": "uv",
"args": ["run", "omni-tester"],
"env": {}
}
}
}Перезапустите Windsurf после сохранения.
🛠️ Инструменты
Инструмент | Статус | Назначение |
| ✅ Слои 1–2 | Проверяет HTTP-статус, |
| 🧪 Экспериментальный | Playwright DOM-чеклист (формы, |
Примечание о названии: инструмент называется
run_api_4_layer_validationдля совместимости с будущими версиями, но сегодня реализованы только слои 1–2 (см. «Дорожная карта»).
🧪 Пример
Проверка живого эндпоинта с ожиданием 200:
run_api_4_layer_validation(
endpoint_url="https://jsonplaceholder.typicode.com/users/1",
expected_status=200,
method="GET",
)Результат:
Backend 4-Layer Validation Complete:
✅ Layer 1 PASS: Expected 200, received 200.
✅ Layer 2 PASS: Valid JSON payload returned.
Payload Snapshot: {'id': 1, 'name': 'Leanne Graham', ...}This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceGives AI coding assistants live, structured access to running apps' state and UI elements, enabling real-time verification and interaction across web, mobile, and desktop.36
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to perform comprehensive web application testing including visual, functional, performance, accessibility, and SEO analysis using browser automation without requiring API keys.
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to autonomously debug UIs by delegating high-level stories to a small agent that drives browsers or desktop apps and reports structured pass/fail findings with evidence.1492MIT
- FlicenseNot gradedqualityCmaintenanceVerifies AI agent actions by exercising public web surfaces and returning evidence-based pass/fail verdicts on real outcomes, rather than trusting self-reported success messages.
Related MCP Connectors
Deterministic validation for AI-generated artifacts: JSON Schema, OpenAPI response, SQL syntax.
Deterministic fact verification for AI agents — checksums & curated data, not guesses.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Seerrriiii/omni-tester-skill'
If you have feedback or need assistance with the MCP directory API, please join our Discord server