Skip to main content
Glama

rf-log-mcp

Ein MCP-Server zur Überprüfung von Robot Framework-Ergebnisdateien, der LLMs eine prägnante Sicht auf die Beweise bietet.

Funktionsübersicht

Unterstützte Eingaben:

  • output.xml: Robot / Rebot 6.0.x / 6.1+ / 7.x

  • output.json: Robot / Rebot 7.2+

Exponierte MCP-Fähigkeiten:

  • Tools

    • parse_result

    • get_view

    • search_messages

  • Ressourcen

    • rf://runs/{run_id}/summary

    • rf://runs/{run_id}/tests/{test_id}

Unterstützte Ansichten:

  • summary

  • failure_path

  • step_window

Wichtige Hinweise

  • Dieses Projekt ist ein MCP stdio server

  • LLMs rufen das Wheel nicht direkt auf

  • Der korrekte Weg ist: Der MCP-Host startet den rf-log-mcp-Prozess und ruft dann über stdio die Werkzeuge und Ressourcen auf.

Identifikationsdesign

  • Externer run_id: Ganzzahliger Primärschlüssel

  • Interner content_hash: Hash des Dateiinhalts, nur zur internen Deduplizierung des Dienstes

Empfohlene Vorgehensweise:

  1. Zuerst parse_result(path) aufrufen

  2. Die zurückgegebene Ganzzahl run_id speichern

  3. Im weiteren Verlauf einheitlich diese run_id verwenden


Schnellstart

1. Abhängigkeiten installieren

uv sync

2. Direkt aus dem Quellcode starten

uv run python -m rf_log_mcp

3. Beispiel für MCP-Konfiguration

{
  "mcpServers": {
    "rf-log-mcp": {
      "command": "uv",
      "args": ["run", "python", "-m", "rf_log_mcp"]
    }
  }
}

Verpackung und Installation

Build

uv build

Nach dem Build werden folgende Dateien generiert:

  • dist/rf_log_mcp-0.1.0-py3-none-any.whl

  • dist/rf_log_mcp-0.1.0.tar.gz

Wheel installieren

uv pip install dist/rf_log_mcp-0.1.0-py3-none-any.whl

Nach der Installation kann es direkt gestartet werden:

rf-log-mcp

Beispiel für MCP-Konfiguration bei installiertem Paket

{
  "mcpServers": {
    "rf-log-mcp": {
      "command": "rf-log-mcp",
      "args": []
    }
  }
}

Beispiel für expliziten Pfad unter Windows

{
  "mcpServers": {
    "rf-log-mcp": {
      "command": "D:\\project\\rf_log_mcp\\.venv\\Scripts\\rf-log-mcp.exe",
      "args": []
    }
  }
}

Typischer Ablauf eines Aufrufs

Schritt 1: Ergebnisdatei parsen

parse_result(path="tests/fixtures/single_failure_611.xml")

Typische Rückgabe:

{
  "ok": true,
  "run_id": 1,
  "source_format": "xml"
}

Schritt 2: Zusammenfassung abrufen

get_view(run_id=1, view="summary")

Schritt 3: Fehlerpfad abrufen oder Nachrichten durchsuchen

get_view(run_id=1, view="failure_path")
search_messages(run_id=1, query="timeout")

Umgebungsvariablen

RF_LOG_MCP_DB

Wird verwendet, um den Standardpfad der SQLite-Datenbank zu überschreiben.

PowerShell-Beispiel:

$env:RF_LOG_MCP_DB="D:\data\rf-log-mcp\store.sqlite3"
rf-log-mcp

Beispiel für MCP-Konfiguration:

{
  "mcpServers": {
    "rf-log-mcp": {
      "command": "rf-log-mcp",
      "args": [],
      "env": {
        "RF_LOG_MCP_DB": "D:\\data\\rf-log-mcp\\store.sqlite3"
      }
    }
  }
}

Lokales Debugging

Wenn Sie nur die Dienstausgabe überprüfen möchten, ohne den stdio-Transport zu starten, können Sie Folgendes verwenden:

uv run python debug_service.py --fixture tests/fixtures/single_failure_611.xml --action summary
uv run python debug_service.py --fixture tests/fixtures/single_failure_72.json --action failure_path --selector s1-t2
uv run python debug_service.py --fixture tests/fixtures/errors_and_long_72.json --action search --query "collected line" --limit 2

Häufig gestellte Fragen

1. Warum kann das Wheel nicht direkt an das LLM übergeben werden?

Weil das LLM den MCP-Server-Prozess aufruft, nicht die Python-Paketdatei selbst.

2. Warum wird die Verwendung der Ganzzahl run_id empfohlen?

Weil sie kürzer ist und sich besser für LLMs, mehrstufige Dialoge und manuelle Fehlerbehebung eignet; der lange Hash wird nur intern zur Deduplizierung beibehalten.

3. Können get_view / search_messages Dateipfade entgegennehmen?

Ja. Wenn die Datei bereits geparst wurde, wandelt der Dienst den Pfad in die entsprechende run_id um, bevor er die Abfrage durchführt. Es wird jedoch weiterhin empfohlen, vorrangig die von parse_result() zurückgegebene Ganzzahl run_id zu verwenden.

4. In welchen Fällen kann dieses Projekt nicht direkt verwendet werden?

Wenn Ihre LLM-Plattform:

  • kein MCP unterstützt

  • oder das Starten lokaler Prozesse nicht unterstützt

Dann kann keine direkte Anbindung erfolgen, und es ist eine zusätzliche Integrationsschicht erforderlich.


Entwicklungsprüfung

uv run ruff check .
uv run pytest
Install Server
A
security – no known vulnerabilities
F
license - not found
B
quality - B tier

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/cceniam/rf_log_mcp'

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