Skip to main content
Glama

⚡ 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 und 5xx-Abstürze.

  • Layer 2 — Schema- & Payload-Integrität: Prüft den Content-Type-Header auf application/json, parst den Body als JSON und gibt eine Payload-Momentaufnahme zurück. Wenn Sie ein optionales expected_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. (JSON true/false wird nicht als int akzeptiert.)

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 GET ziehen und in einen PUT injizieren).

  • Audit-Trails: Strukturierte Ausgabe in specs/api_plan.md, tests/api/ und data/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.toml

Fü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-tester

Oder 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.json

  • Windows: %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.json

  • Windows: %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

run_api_4_layer_validation

✅ Layer 1–2

Verifiziert HTTP-Status, Content-Type, JSON-Gültigkeit und optional Typ/Schema pro Feld (verschachtelt + Listenpfade)

run_ui_dom_checklist

🧪 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', ...}
A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

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/Seerrriiii/omni-tester-skill'

If you have feedback or need assistance with the MCP directory API, please join our Discord server