Skip to main content
Glama

rf-log-mcp

Un servidor MCP para inspeccionar archivos de resultados de Robot Framework, que proporciona a los LLM vistas de evidencia concisas.

Resumen de funciones

Entradas admitidas:

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

  • output.json: Robot / Rebot 7.2+

Capacidades MCP expuestas:

  • Herramientas

    • parse_result

    • get_view

    • search_messages

  • Recursos

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

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

Vistas admitidas:

  • summary

  • failure_path

  • step_window

Notas clave

  • Este proyecto es un servidor MCP stdio

  • El LLM no llamará directamente al wheel

  • La forma correcta es: el host MCP inicia el proceso rf-log-mcp y luego llama a las herramientas y recursos a través de stdio

Diseño de identificadores

  • run_id externo: clave primaria entera

  • content_hash interno: hash del contenido del archivo, utilizado solo para la deduplicación interna del servicio

Práctica recomendada:

  1. Primero llame a parse_result(path)

  2. Guarde el run_id entero devuelto

  3. Utilice este run_id de forma consistente en adelante


Inicio rápido

1. Instalar dependencias

uv sync

2. Iniciar directamente desde el código fuente

uv run python -m rf_log_mcp

3. Ejemplo de configuración de MCP

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

Empaquetado e instalación

Construcción

uv build

Tras la construcción se generan:

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

  • dist/rf_log_mcp-0.1.0.tar.gz

Instalar wheel

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

Tras la instalación se puede iniciar directamente:

rf-log-mcp

Ejemplo de configuración de MCP para paquetes instalados

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

Ejemplo de ruta explícita en Windows

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

Flujo de llamada típico

Paso 1: Analizar el archivo de resultados

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

Retorno típico:

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

Paso 2: Obtener resumen

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

Paso 3: Obtener ruta de fallo o buscar mensajes

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

Variables de entorno

RF_LOG_MCP_DB

Se utiliza para sobrescribir la ruta predeterminada de la base de datos SQLite.

Ejemplo en PowerShell:

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

Ejemplo de configuración de MCP:

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

Depuración local

Si solo desea comprobar la salida del servicio sin iniciar la transmisión stdio, puede usar:

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

Preguntas frecuentes

1. ¿Por qué no puedo pasar el wheel directamente al LLM?

Porque el LLM llama al proceso del servidor MCP, no al archivo del paquete de Python en sí.

2. ¿Por qué se recomienda usar un run_id entero?

Porque es más corto y más adecuado para LLMs, conversaciones de múltiples turnos y resolución de problemas manual; el hash largo solo se conserva internamente para la deduplicación.

3. ¿Pueden get_view / search_messages recibir rutas de archivo?

Sí. Si el archivo ya ha sido analizado, el servicio convertirá primero la ruta al run_id correspondiente antes de consultar. Sin embargo, se recomienda seguir utilizando preferentemente el run_id entero devuelto por parse_result().

4. ¿En qué casos no se puede utilizar este proyecto directamente?

Si su plataforma LLM:

  • No admite MCP

  • O no admite el inicio de procesos locales

Entonces no se puede conectar directamente y se requiere una capa de integración adicional.


Verificación de desarrollo

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