omni-tester
⚡ Omni-Tester: MCP-Testagent ohne Halluzinationen
Omni-Tester ist ein Model Context Protocol (MCP)-Server, der KI-Agenten (Claude, Cursor, Windsurf und andere) mit einer beweisbasierten Anti-Halluzinations-Validierungsengine ausstattet. Lassen Sie Ihr LLM nicht länger „raten", ob ein Endpunkt funktioniert — verlangen Sie programmatischen Beweis.
Der Agent kommuniziert direkt mit Backend-Servern, prüft HTTP-Statuscodes, Antwort-Header und JSON-Payloads und erzeugt so deterministische, maschinell verifizierte Ergebnisse.
✅ Aktuell implementiert (deterministischer Beweis)
Diese Ebenen laufen heute und liefern maschinell verifizierte Belege — ohne LLM-Bewertung:
Layer 1 — Protokoll- & Statusverifizierung: Sendet die Anfrage und verifiziert, dass der zurückgegebene HTTP-Statuscode Ihrer expliziten Erwartung entspricht (z. B.
200 OK,201 Created); meldet Abweichungen und5xx-Abstürze.Layer 2 — Schema- & Payload-Integrität: Prüft den
Content-Type-Header aufapplication/json, parst den Body als JSON und gibt eine Payload-Momentaufnahme zurück. Wenn Sie ein optionalesexpected_schemaübergeben, erzwingt er außerdem das Vorhandensein und den Typ jedes Felds deterministisch — auf oberster Ebene ("id"), über Punktpfade verschachtelt ("address.geo.lat") und Listenindizes ("items.0.id"). Unterstützte Typen:int,float/number,str/string,bool,list/array,dict/object,null. (JSONtrue/falsewird nicht alsintakzeptiert.)
Beide Ebenen laufen immer — ein Statuscode-Fehler unterdrückt die Payload-Diagnose nicht, sodass Sie den Fehler-Body einer fehlgeschlagenen 4xx/5xx-Antwort weiterhin sehen.
Beispiel mit Schema-Erzwingung:
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"},
)Es gibt außerdem ein experimentelles run_ui_dom_checklist-Tool (Playwright), das eine Seite in einem Headless-Browser lädt und Formularanzahlen, Bilder ohne alt-Attribute sowie Konsolenfehler meldet.
Related MCP server: QA Testing MCP Server
🗺️ Roadmap (noch nicht implementiert)
Die folgenden Punkte sind geplant, aber derzeit nicht im Code enthalten. Sie werden hier aus Transparenzgründen dokumentiert, nicht als verfügbare Funktionen:
Layer 3 — Funktionale Geschäftslogik: Einsatz des LLM, um zu prüfen, ob die zurückgegebenen Daten logisch zum Szenario passen. (Hinweis: Diese Ebene basiert auf LLM-Bewertung, nicht auf deterministischem Beweis.)
Layer 4 — Sicherheits- & Grenzwert-Stresstests: Injizieren bösartiger Payloads (SQL-Injection-Strings, fehlerhafte Header, abgelaufene Auth-Tokens), um zu verifizieren, dass die API sicher ausfällt.
Tiefergehender Layer 2 (verschachtelte Typprüfungen): ✅ Erledigt — oberste Ebene, verschachtelte Punktepfade und Listenindizes werden alle erzwungen. Verbleibende Ideen: Validierung pro Element über ein gesamtes Array (z. B. „jedes Element hat eine
int-ID") sowie Enum-/Format-Einschränkungen.Souveräner API-Agent: Ein autonomer Testingenieur, der Szenarien plant, Python-Testcode generiert und sich selbst repariert, wenn sich Schemas ändern.
API-Explorer-Agent: Fuzzt und verkettet Aktionen dynamisch (z. B. einen Token aus einem
GETziehen und in einenPUTinjizieren).Audit-Trails: Strukturierte Ausgabe in
specs/api_plan.md,tests/api/unddata/reports/api_report_*.html.
📦 Installation
Mit uv (empfohlen):
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv sync # Install dependencies from pyproject.tomlFür das UI-Checklisten-Tool installieren Sie den Playwright-Browser einmalig:
uv run playwright install chromiumÜberprüfen Sie, dass der Server startet (er spricht MCP über stdio und wartet auf einen Client):
uv run omni-tester🔌 Mit MCP-Clients verbinden
Der Server wird mit uv run omni-tester gestartet. Fügen Sie ihn unten zu dem Client Ihrer Wahl hinzu. Falls sich uv nicht im PATH Ihres Clients befindet, verwenden Sie im Feld command den absoluten Pfad zur uv-Binärdatei.
Claude Code (CLI)
Fügen Sie ihn mit einem Befehl hinzu:
claude mcp add --transport stdio omni-tester -- uv run omni-testerOder fügen Sie ihn manuell zu einer projektspezifischen .mcp.json hinzu:
{
"mcpServers": {
"omni-tester": {
"type": "stdio",
"command": "uv",
"args": ["run", "omni-tester"],
"env": {}
}
}
}Claude Desktop
Bearbeiten Sie claude_desktop_config.json (Settings → Developer → Edit Config):
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": {}
}
}
}Starten Sie Claude Desktop nach dem Speichern neu.
Cursor
Bearbeiten Sie .cursor/mcp.json (projektspezifisch) oder ~/.cursor/mcp.json (global):
{
"mcpServers": {
"omni-tester": {
"type": "stdio",
"command": "uv",
"args": ["run", "omni-tester"],
"env": {}
}
}
}Windsurf (Cascade)
Bearbeiten Sie mcp_config.json (Settings → Manage MCP Servers → View raw config):
macOS/Linux:
~/.codeium/windsurf/mcp_config.jsonWindows:
%APPDATA%\Codeium\Windsurf\mcp_config.json
{
"mcpServers": {
"omni-tester": {
"command": "uv",
"args": ["run", "omni-tester"],
"env": {}
}
}
}Starten Sie Windsurf nach dem Speichern neu.
🛠️ Tools
Tool | Status | Zweck |
| ✅ Layer 1–2 | Verifiziert HTTP-Status, |
| 🧪 Experimentell | Playwright-DOM-Checkliste (Formulare, alt-Attribute, Konsolenfehler) |
Hinweis zur Namensgebung: Das Tool heißt aus Gründen der Vorwärtskompatibilität
run_api_4_layer_validation, aber heute sind nur Layer 1–2 implementiert (siehe Roadmap).
🧪 Beispiel
Validierung eines Live-Endpunkts mit erwartetem 200:
run_api_4_layer_validation(
endpoint_url="https://jsonplaceholder.typicode.com/users/1",
expected_status=200,
method="GET",
)Erzeugt:
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