rf-log-mcp
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.xoutput.json: Robot / Rebot 7.2+
Capacidades MCP expuestas:
Herramientas
parse_resultget_viewsearch_messages
Recursos
rf://runs/{run_id}/summaryrf://runs/{run_id}/tests/{test_id}
Vistas admitidas:
summaryfailure_pathstep_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-mcpy luego llama a las herramientas y recursos a través de stdio
Diseño de identificadores
run_idexterno: clave primaria enteracontent_hashinterno: hash del contenido del archivo, utilizado solo para la deduplicación interna del servicio
Práctica recomendada:
Primero llame a
parse_result(path)Guarde el
run_identero devueltoUtilice este
run_idde forma consistente en adelante
Inicio rápido
1. Instalar dependencias
uv sync2. Iniciar directamente desde el código fuente
uv run python -m rf_log_mcp3. 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 buildTras la construcción se generan:
dist/rf_log_mcp-0.1.0-py3-none-any.whldist/rf_log_mcp-0.1.0.tar.gz
Instalar wheel
uv pip install dist/rf_log_mcp-0.1.0-py3-none-any.whlTras la instalación se puede iniciar directamente:
rf-log-mcpEjemplo 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-mcpEjemplo 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 2Preguntas 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 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