rf-log-mcp
rf-log-mcp is an MCP server for parsing and analyzing Robot Framework test result files, providing structured views and search capabilities primarily for LLM consumption.
Parse Result Files (
parse_result): Load and index a Robot Frameworkoutput.xml(RF 6.0+/7.x) oroutput.json(RF 7.2+) file into a SQLite store, returning arun_id. Supportsforce_rebuildto re-index an already-parsed file.Get Views (
get_view): Retrieve a specific view of a parsed run byrun_idor file path. Supported views:summary– high-level overview of test run statisticsfailure_path– trace/call chain of failed test stepsstep_window– windowed detail view of test stepsSupports pagination via
cursor, a tokenbudgetlimit, and an optionalselector.
Search Messages (
search_messages): Full-text search over indexed log messages within a parsed run, filterable by loglevel(e.g., ERROR, WARN), with a configurablelimitandcursorfor pagination.Resources: Exposes MCP resources at
rf://runs/{run_id}/summaryandrf://runs/{run_id}/tests/{test_id}for direct access by MCP hosts.Customizable storage: The default SQLite database path can be overridden via the
RF_LOG_MCP_DBenvironment variable.
Provides tools for parsing and analyzing Robot Framework test result files (output.xml and output.json), enabling AI agents to retrieve test summaries, failure paths, step windows, and search through test messages.
Supports parsing and analysis of Robot Framework test results in XML format (output.xml files from Robot/Rebot 6.0.x/6.1+/7.x), providing structured data access to test execution details.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rf-log-mcpparse_result tests/output.xml"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
rf-log-mcp
An MCP server for inspecting Robot Framework result files, providing LLMs with concise evidence views.
Feature Overview
Supported inputs:
output.xml: Robot / Rebot 6.0.x / 6.1+ / 7.xoutput.json: Robot / Rebot 7.2+
Exposed MCP capabilities:
Tools
parse_resultget_viewsearch_messages
Resources
rf://runs/{run_id}/summaryrf://runs/{run_id}/tests/{test_id}
Supported views:
summaryfailure_pathstep_window
Related MCP server: RobotMCP
Key Notes
This project is an MCP stdio server
The correct usage is: The MCP host starts the
rf-log-mcpprocess and then calls tools and resources via stdio
Quick Start
1. Install dependencies
uv sync2. Recommended MCP configuration example
{
"mcpServers": {
"rf-log-mcp": {
"command": "uv",
"args": [
"run",
"python",
"-m",
"rf_log_mcp"
]
}
}
}Packaging and Installation
Build
uv buildGenerated after build:
dist/rf_log_mcp-0.1.0-py3-none-any.whldist/rf_log_mcp-0.1.0.tar.gz
Install wheel
uv pip install dist/rf_log_mcp-0.1.0-py3-none-any.whlAfter installation, you can start it directly:
rf-log-mcpMCP configuration example for installed package
{
"mcpServers": {
"rf-log-mcp": {
"command": "rf-log-mcp",
"args": []
}
}
}Windows explicit path example
{
"mcpServers": {
"rf-log-mcp": {
"command": "D:\\project\\rf_log_mcp\\.venv\\Scripts\\rf-log-mcp.exe",
"args": []
}
}
}Typical Call Flow
Step 1: Parse result file
parse_result(path="tests/fixtures/single_failure_611.xml")Typical return:
{
"ok": true,
"run_id": 1,
"source_format": "xml"
}Step 2: Get summary
get_view(run_id=1, view="summary")Step 3: Get failure path or search messages
get_view(run_id=1, view="failure_path")
search_messages(run_id=1, query="timeout")Environment Variables
RF_LOG_MCP_DB
Used to override the default SQLite database path.
PowerShell example:
$env:RF_LOG_MCP_DB="D:\data\rf-log-mcp\store.sqlite3"
rf-log-mcpMCP configuration example:
{
"mcpServers": {
"rf-log-mcp": {
"command": "rf-log-mcp",
"args": [],
"env": {
"RF_LOG_MCP_DB": "D:\\data\\rf-log-mcp\\store.sqlite3"
}
}
}
}FAQ
1. Why use uv?
Local environment dependencies may conflict with MCP, requiring venv to isolate dependency conflicts (conda is too slow, uv is fast)
2. Can get_view / search_messages accept file paths?
Yes.
If the file has already been parsed, the service will convert the path to the corresponding run_id before querying.
However, it is still recommended to prioritize using the integer run_id returned by parse_result().
5. Under what circumstances can this project not be used directly?
If your LLM platform:
Does not support MCP
Or does not support starting local processes
Then it cannot be integrated directly and requires an additional integration layer.
Development Checks
uv run ruff check .
uv run pytestMaintenance
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
- AlicenseAqualityDmaintenanceMCP server for log file analysis. Gives LLMs the ability to efficiently analyze large log files without loading them into context.798MIT
- AlicenseAqualityAmaintenanceRobotMCP is a comprehensive Model Context Protocol (MCP) server that bridges the gap between human language and Robot Framework automation. It enables AI agents to understand test intentions, execute steps interactively, and generate complete test suites from successful executions.19112Apache 2.0
- Alicense-qualityCmaintenanceMCP server that helps resolve Robocop static code analysis errors and warnings via LLM, providing tools to get reports and run format.11MIT
- Alicense-qualityAmaintenanceA local MCP server that parses Robot Framework output.xml files, scores and groups failures, and exposes structured triage data to Claude Desktop and Claude Code.MIT
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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