rf-log-mcp
rf-log-mcp
MCP-сервер для проверки файлов результатов Robot Framework, предоставляющий LLM краткое представление данных.
Обзор функций
Поддерживаемые форматы ввода:
output.xml: Robot / Rebot 6.0.x / 6.1+ / 7.xoutput.json: Robot / Rebot 7.2+
Предоставляемые возможности MCP:
Инструменты (Tools)
parse_resultget_viewsearch_messages
Ресурсы (Resources)
rf://runs/{run_id}/summaryrf://runs/{run_id}/tests/{test_id}
Поддерживаемые представления:
summaryfailure_pathstep_window
Важные примечания
Этот проект является MCP stdio server
LLM не вызывает wheel напрямую
Правильный способ: хост MCP запускает процесс
rf-log-mcp, а затем вызывает инструменты и ресурсы через stdio
Дизайн идентификаторов
Внешний
run_id: целочисленный первичный ключВнутренний
content_hash: хеш содержимого файла, используется только для дедупликации внутри сервиса
Рекомендуемый подход:
Сначала вызовите
parse_result(path)Сохраните возвращенный целочисленный
run_idВ дальнейшем используйте этот
run_idдля всех операций
Быстрый старт
1. Установка зависимостей
uv sync2. Запуск из исходного кода
uv run python -m rf_log_mcp3. Пример конфигурации MCP
{
"mcpServers": {
"rf-log-mcp": {
"command": "uv",
"args": ["run", "python", "-m", "rf_log_mcp"]
}
}
}Сборка и установка
Сборка
uv buildПосле сборки будут созданы:
dist/rf_log_mcp-0.1.0-py3-none-any.whldist/rf_log_mcp-0.1.0.tar.gz
Установка wheel
uv pip install dist/rf_log_mcp-0.1.0-py3-none-any.whlПосле установки можно запустить напрямую:
rf-log-mcpПример конфигурации MCP для установленного пакета
{
"mcpServers": {
"rf-log-mcp": {
"command": "rf-log-mcp",
"args": []
}
}
}Пример явного пути для Windows
{
"mcpServers": {
"rf-log-mcp": {
"command": "D:\\project\\rf_log_mcp\\.venv\\Scripts\\rf-log-mcp.exe",
"args": []
}
}
}Типовой процесс вызова
Шаг 1: Парсинг файла результатов
parse_result(path="tests/fixtures/single_failure_611.xml")Типовой ответ:
{
"ok": true,
"run_id": 1,
"source_format": "xml"
}Шаг 2: Получение сводки
get_view(run_id=1, view="summary")Шаг 3: Получение пути ошибки или поиск сообщений
get_view(run_id=1, view="failure_path")
search_messages(run_id=1, query="timeout")Переменные окружения
RF_LOG_MCP_DB
Используется для переопределения пути к базе данных SQLite по умолчанию.
Пример для PowerShell:
$env:RF_LOG_MCP_DB="D:\data\rf-log-mcp\store.sqlite3"
rf-log-mcpПример конфигурации MCP:
{
"mcpServers": {
"rf-log-mcp": {
"command": "rf-log-mcp",
"args": [],
"env": {
"RF_LOG_MCP_DB": "D:\\data\\rf-log-mcp\\store.sqlite3"
}
}
}
}Локальная отладка
Если вы хотите проверить вывод сервиса, не запуская передачу stdio, можно использовать:
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Часто задаваемые вопросы
1. Почему нельзя передать wheel напрямую в LLM?
Потому что LLM вызывает процесс MCP-сервера, а не сам файл пакета Python.
2. Почему рекомендуется использовать целочисленный run_id?
Потому что он короче и лучше подходит для LLM, многоходовых диалогов и ручной проверки; длинный хеш сохраняется только внутри для дедупликации.
3. Можно ли передавать путь к файлу в get_view / search_messages?
Да.
Если файл уже был проанализирован, сервис сначала преобразует путь в соответствующий run_id, а затем выполнит запрос.
Тем не менее, рекомендуется в первую очередь использовать целочисленный run_id, возвращаемый parse_result().
4. В каких случаях нельзя использовать этот проект напрямую?
Если ваша платформа LLM:
Не поддерживает MCP
Или не поддерживает запуск локальных процессов
В этом случае прямое подключение невозможно, потребуется дополнительный слой интеграции.
Проверка разработки
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