rf-log-mcp
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.xoutput.json: Robot / Rebot 7.2+
Exponierte MCP-Fähigkeiten:
Tools
parse_resultget_viewsearch_messages
Ressourcen
rf://runs/{run_id}/summaryrf://runs/{run_id}/tests/{test_id}
Unterstützte Ansichten:
summaryfailure_pathstep_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üsselInterner
content_hash: Hash des Dateiinhalts, nur zur internen Deduplizierung des Dienstes
Empfohlene Vorgehensweise:
Zuerst
parse_result(path)aufrufenDie zurückgegebene Ganzzahl
run_idspeichernIm weiteren Verlauf einheitlich diese
run_idverwenden
Schnellstart
1. Abhängigkeiten installieren
uv sync2. Direkt aus dem Quellcode starten
uv run python -m rf_log_mcp3. Beispiel für MCP-Konfiguration
{
"mcpServers": {
"rf-log-mcp": {
"command": "uv",
"args": ["run", "python", "-m", "rf_log_mcp"]
}
}
}Verpackung und Installation
Build
uv buildNach dem Build werden folgende Dateien generiert:
dist/rf_log_mcp-0.1.0-py3-none-any.whldist/rf_log_mcp-0.1.0.tar.gz
Wheel installieren
uv pip install dist/rf_log_mcp-0.1.0-py3-none-any.whlNach der Installation kann es direkt gestartet werden:
rf-log-mcpBeispiel 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-mcpBeispiel 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 2Hä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 pytestResources
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