Skip to main content
Glama

reptor-mcp: MCP-сервер для Reptor/SysReptor

Этот проект превращает CLI-инструмент reptor в MCP-сервер (Model-Context-Protocol), предоставляя его мощные функции отчетности и автоматизации тестирования на проникновение в виде программного сервиса.

Он позволяет другим инструментам, скриптам или ИИ-агентам программно взаимодействовать с SysReptor через протокол MCP, облегчая интеграцию в автоматизированные рабочие процессы.

WARNING

Альфа-версия: Базовый CLI-инструмент reptor находится в стадии альфа-тестирования. Его API может измениться, что потенциально приведет к поломке reptor-mcp.

CAUTION

Отсутствие аутентификации: Этот сервер не имеет аутентификации или авторизации. Он предназначен только для локального использования. НЕ ВЫСТАВЛЯЙТЕ ЕГО В ИНТЕРНЕТ ИЛИ НЕДОВЕРЕННЫЕ СЕТИ.

IMPORTANT

Конфиденциальность данных: Если вы работаете с конфиденциальными данными проектов, учитывайте последствия их отправки в LLM через этот сервер. Используйте REPTOR_MCP_EXCLUDE_FIELDS для удаления конфиденциальных полей до того, как они попадут в LLM.

Функции

  • Динамическая генерация инструментов: Автоматически создает MCP-инструменты из всех доступных плагинов reptor (nmap, nessus, burp, zap, sslyze и т. д.).

  • Инструменты прямого API: Предоставляет структурированные инструменты для CRUD-операций с находками, обнаружения схем и управления шаблонами, используя непосредственно Python API reptor.

  • Исключение полей: Удаляет конфиденциальные поля из данных перед возвратом их клиентам LLM (настраивается через переменную окружения).

  • Асинхронная безопасность: Неблокирующий цикл событий с потокобезопасным сериализованным выполнением плагинов.

Предварительные требования

  • Python 3.10+

  • uv (рекомендуется) или pip

  • Запущенный экземпляр SysReptor с API-токеном

Установка

git clone https://github.com/slvnlrt/reptor-mcp.git
cd reptor-mcp
uv venv && source .venv/bin/activate
uv pip install -e .

Это автоматически установит reptor и fastmcp из PyPI. Нет необходимости клонировать репозиторий reptor отдельно.

Если вам нужно работать с локальной копией reptor (например, для тестирования невыпущенных изменений):

uv pip install -e /path/to/reptor-source
uv pip install -e .

Альтернативно, установите REPTOR_MAIN_PATH=/path/to/reptor-source во время выполнения, чтобы внедрить его в sys.path.

Конфигурация

Сервер настраивается через переменные окружения:

Переменная

Обязательно

Описание

REPTOR_SERVER

Да

URL вашего экземпляра SysReptor

REPTOR_TOKEN

Да

Ваш API-токен SysReptor

REPTOR_PROJECT_ID

Нет

ID проекта по умолчанию для операций

REPTOR_MCP_INSECURE

Нет

Установите true для отключения проверки SSL

REQUESTS_CA_BUNDLE

Нет

Путь к пользовательскому файлу CA-сертификатов

REPTOR_MCP_EXCLUDE_FIELDS

Нет

Имена полей через запятую для удаления из ответов LLM (например, internal_notes,api_token)

REPTOR_MCP_DEBUG

Нет

Установите true для подробного отладочного логирования

Запуск сервера

fastmcp run mcp_server.py:mcp --transport streamable-http --port 8008

Сервер будет доступен по адресу http://localhost:8008/mcp/.

Подключение клиента

Подключите MCP-клиент, используя конфигурацию, подобную этой (например, в mcp_settings.json):

{
  "mcpServers": {
    "reptor-mcp": {
      "type": "streamable-http",
      "url": "http://localhost:8008/mcp/"
    }
  }
}

Доступные инструменты

Пользовательские инструменты (прямой API)

Эти инструменты используют Python API reptor напрямую для структурированных операций с учетом схемы:

Инструмент

Описание

list_findings

Выводит список находок с фильтрами (статус, критичность, заголовок).

get_finding_details

Получает полные сведения о находке по ID.

get_finding_schema

Обнаруживает доступные поля находок, типы и ограничения для проекта. Вызывайте перед create_finding или patch_finding.

create_finding

Создает новую находку из плоского словаря данных.

patch_finding

Обновляет одно поле в находке.

delete_finding

Удаляет находку по ID (требует явного подтверждения).

upload_template

Загружает шаблон находки из JSON или TOML.

Инструменты плагинов (динамические обертки)

Сервер динамически оборачивает все CLI-плагины reptor как инструменты MCP:

Категория

Инструменты

Импортеры уязвимостей

nessus, burp, nmap, openvas, zap, qualys, sslyze

Управление находками

finding, findingfromtemplate, deletefindings, exportfindings

Управление проектами

project, createproject, deleteprojects, pushproject

Шаблоны

template

Заметки и файлы

note, file

Перевод

translate (через DeepL)

Импорт/Экспорт

ghostwriter, defectdojo, importers, packarchive, unpackarchive

Точные аргументы для каждого инструмента можно просмотреть через подключенный MCP-клиент.

Отношение к нативному MCP-серверу reptor

Начиная с версии reptor v0.33, reptor включает собственный встроенный MCP-сервер (reptor mcp). Эти два сервера дополняют друг друга:

Возможность

reptor-mcp

Нативный reptor mcp

CRUD находок

:white_check_mark:

:white_check_mark:

Обнаружение схемы находок

:white_check_mark:

:white_check_mark:

CRUD разделов отчета

:x:

:white_check_mark:

Импортеры уязвимостей (nmap, nessus, burp и т. д.)

:white_check_mark:

:x:

Управление проектами (поиск, создание, экспорт, дублирование)

:white_check_mark:

:x:

Заметки, файлы, перевод

:white_check_mark:

:x:

Управление шаблонами

:white_check_mark:

:white_check_mark:

Исключение полей

:white_check_mark:

:white_check_mark:

Архитектура

mcp_server.py           # Server entry point, lifespan, configuration
├── tool_generator.py   # Dynamic MCP tool generation from plugin argparse definitions
│   ├── signature_utils.py  # argparse → Python function signature translation
│   └── wrapper_utils.py    # Plugin execution, stdin/stdout capture, config handling
├── custom_tools.py     # Direct API tools (findings CRUD, schema, templates)
└── tool_config.py      # Plugin exclusions, stdin consumers, config overwrite mappings

Ключевые проектные решения:

  • Обертки плагинов работают в потоках с блокировкой сериализации, сохраняя отзывчивость асинхронного цикла событий и защищая общее состояние.

  • Пользовательские инструменты используют asyncio.to_thread() для неблокирующих вызовов API.

  • Исключение полей рекурсивно удаляет указанные поля из всех вложенных структур данных перед возвратом клиенту.

Лицензия

Этот проект лицензирован по лицензии MIT — подробности см. в файле LICENSE.

Благодарности

Этот проект был бы невозможен без оригинального CLI-инструмента reptor, разработанного командой SysReptor и ее участниками. reptor-mcp опирается на их отличную работу, предоставляя интерфейс MCP.

-
security - not tested
A
license - permissive license
-
quality - not tested

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/slvnlrt/reptor-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server