Skip to main content
Glama

rf-log-mcp

MCP-сервер для проверки файлов результатов Robot Framework, предоставляющий LLM краткое представление данных.

Обзор функций

Поддерживаемые форматы ввода:

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

  • output.json: Robot / Rebot 7.2+

Предоставляемые возможности MCP:

  • Инструменты (Tools)

    • parse_result

    • get_view

    • search_messages

  • Ресурсы (Resources)

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

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

Поддерживаемые представления:

  • summary

  • failure_path

  • step_window

Важные примечания

  • Этот проект является MCP stdio server

  • LLM не вызывает wheel напрямую

  • Правильный способ: хост MCP запускает процесс rf-log-mcp, а затем вызывает инструменты и ресурсы через stdio

Дизайн идентификаторов

  • Внешний run_id: целочисленный первичный ключ

  • Внутренний content_hash: хеш содержимого файла, используется только для дедупликации внутри сервиса

Рекомендуемый подход:

  1. Сначала вызовите parse_result(path)

  2. Сохраните возвращенный целочисленный run_id

  3. В дальнейшем используйте этот run_id для всех операций


Быстрый старт

1. Установка зависимостей

uv sync

2. Запуск из исходного кода

uv run python -m rf_log_mcp

3. Пример конфигурации 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.whl

  • dist/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 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