Skip to main content
Glama
Cgisclair29

Rapid7 Bulk Export MCP

by Cgisclair29

Rapid7 Bulk Export MCP

AI-анализ данных Rapid7 Command Platform с помощью MCP (Model Context Protocol) и AgentSkills.

Этот инструмент предоставляется на условиях "best effort" поддержки. Из-за уникального и постоянно меняющегося характера инструментов и рабочих процессов, которые могут использовать этот инструмент, мы не можем предоставить поддержку или руководство за пределами MCP Code и контента AgentSkill.

Что это?

Этот инструмент экспортирует данные из Rapid7 Command Platform через Rapid7 Bulk Export API и делает их доступными для запросов в GenAI и агентных рабочих процессах.

  • MCP-сервер: содержит инструменты для получения, обработки и запроса данных

  • Agent Skill / Kiro Power: предоставляет дополнительный контекст, знания о схеме и инструкции по использованию MCP-инструментов

  • База данных DuckDB: локальная файловая база данных для быстрых структурированных запросов

Возможности

  • ИИ-анализ: используйте с Kiro, Claude Desktop или любым ИИ-ассистентом, совместимым с MCP

  • Загрузка данных по требованию: автоматически получайте и загружайте данные из Rapid7

  • Повторное использование экспорта: автоматически использует экспорт за тот же день, чтобы избежать лишних API-вызовов

  • Запросы на естественном языке: задавайте вопросы на простом английском

  • Выполнение SQL-запросов: выполняйте сложные SQL-запросы к данным об уязвимостях, активах и другим данным

  • Исследование схемы: узнавайте доступные поля данных

  • Статистика и аналитика: получайте мгновенные сводки и распределения

  • Безопасность: пользовательские запросы изолированы — доступ к файловой системе и сети отключен на уровне движка DuckDB

  • Поддержка Docker: запуск в виде контейнерного HTTP-сервиса для удаленных или общих развертываний

Локально и удаленно

Вы можете запустить MCP-сервер в двух режимах в зависимости от вашей настройки:

Локально (stdio) — ИИ-клиент запускает сервер как дочерний процесс и общается через stdin/stdout. Это вариант по умолчанию и самый простой. Сервер работает на вашей машине, база данных находится рядом с ним, и все остается локальным. Лучше всего для индивидуального использования на рабочей станции или ноутбуке.

Удаленно (Docker / потоковый HTTP) — сервер работает как контейнерный HTTP-сервис, предоставляющий единую конечную точку /mcp. Клиенты подключаются по сети через URL. Лучше всего для общих сред, командной работы или когда вы хотите, чтобы сервер работал на выделенной инфраструктуре отдельно от вашего ИИ-инструмента. Следует отметить, что данные будут доступны всем пользователям удаленного MCP, поэтому вы должны аутентифицировать и защитить конечную точку /mcp.

Оба режима используют одни и те же MCP-инструменты и средства контроля безопасности. Единственное различие — способ подключения клиента.

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

0. Получите ключ API Rapid7 и укажите регион

Прежде чем начать, вам понадобятся учетные данные из вашей учетной записи Rapid7 Insight Platform.

Создание ключа API:

Важно: Ключ API должен быть создан администратором платформы. Bulk Export API возвращает все данные об уязвимостях по всей платформе, поэтому требуется доступ уровня администратора.

  1. Войдите в Rapid7 Insight Platform как администратор платформы

  2. Перейдите в Administration → API Key Management

  3. Выберите тип ключа:

    • Organization Key (рекомендуется): полные права администратора (требуется роль Platform Admin)

    • User Key: наследует разрешения вашей учетной записи — должен быть создан администратором платформы, чтобы иметь достаточный доступ для массового экспорта

  4. Нажмите "Generate New Admin Key" (или "Generate New User Key", если используете учетную запись администратора платформы)

  5. Выберите свою организацию и дайте ключу имя

  6. Скопируйте ключ немедленно — вы не сможете увидеть его снова!

Определение региона:

Ваш регион определяет, какую конечную точку API использовать. Чтобы узнать свой регион:

  1. Перейдите на insight.rapid7.com и войдите в систему

  2. Найдите метку "Data Storage Region" в правом верхнем углу под именем вашей учетной записи

Для получения дополнительных сведений см.:

1. Настройте свой ИИ-инструмент

Выберите свой ИИ-инструмент ниже. Каждое руководство описывает установку MCP-сервера, добавление Agent Skill и проверку подключения.

Защита ключа API: избегайте хранения RAPID7_API_KEY в открытом виде на диске. Используйте менеджер секретов для внедрения ключа во время выполнения — например, 1Password CLI, Bitwarden CLI, связку ключей macOS, Windows Credential Manager или PowerShell SecretManagement. С 1Password вы можете задать "command": "op" и "args": ["run", "--", "rapid7-mcp-server"] со ссылками на секреты op:// в блоке env — ключ извлекается из вашего хранилища и никогда не записывается в конфигурационные файлы. Адаптируйте этот шаблон к любому используемому вами менеджеру паролей.

Установка MCP-сервера

  1. Откройте Claude Desktop и перейдите в Customize → Connectors

  2. Найдите "Rapid7 Bulk Export" в каталоге коннекторов

  3. Нажмите Install и укажите RAPID7_API_KEY и RAPID7_REGION при появлении запроса

Установка из каталога Connectors

Установка Agent Skill

  1. Перейдите в Customize -> Skills

  2. Нажмите (+)

  3. Создайте навык (Create Skill)

  4. Загрузите навык (Upload Skill)

  5. Загрузите последний zip-файл навыка из релиза справа

Установка agent skill

Проверка

  1. Попробуйте: /rapid7-bulk-export-analysis-expert Load the latest vulnerability data from Rapid7

Установка MCP-сервера

# Using uv
uv pip install git+https://github.com/rapid7/rapid7-bulk-export-mcp.git

# Or using pip
pip install git+https://github.com/rapid7/rapid7-bulk-export-mcp.git

Настройка

Создайте или отредактируйте .kiro/settings/mcp.json:

{
  "mcpServers": {
    "rapid7-bulk-export": {
      "command": "rapid7-mcp-server",
      "args": [],
      "env": {
        "RAPID7_API_KEY": "your-api-key-here",
        "RAPID7_REGION": "your-region"
      }
    }
  }
}

Установка Agent Skill

  1. Откройте панель Kiro Skills (Command Palette → "Kiro: Open Skills")

  2. Нажмите "Install from GitHub"

  3. Введите URL репозитория: https://github.com/rapid7/rapid7-bulk-export-mcp/rapid7-bulk-export-skill

Активируйте навык в чате с помощью #rapid7-bulk-export-skill.

Проверка

  1. Перезапустите или переподключите MCP-серверы (Command Palette → "MCP: Reconnect All Servers")

  2. Проверьте в панели MCP сервер "rapid7-bulk-export" (должен отображаться как "Connected")

  3. Попробуйте: #rapid7-bulk-export-skill Load the latest vulnerability data from Rapid7

Установка MCP-сервера

# Using uv
uv pip install git+https://github.com/rapid7/rapid7-bulk-export-mcp.git

# Or using pip
pip install git+https://github.com/rapid7/rapid7-bulk-export-mcp.git

Настройка

Используйте CLI Claude Code:

claude mcp add --transport stdio \
  --env RAPID7_API_KEY=your-api-key-here \
  --env RAPID7_REGION=your-region \
  rapid7-bulk-export \
  -- rapid7-mcp-server

Или отредактируйте вручную ~/.claude.json (пользовательская область) или .mcp.json (область проекта):

{
  "mcpServers": {
    "rapid7-bulk-export": {
      "command": "rapid7-mcp-server",
      "args": [],
      "env": {
        "RAPID7_API_KEY": "your-api-key-here",
        "RAPID7_REGION": "your-region"
      }
    }
  }
}

Используйте --scope user для доступа между проектами или --scope project для командного доступа.

Установка Agent Skill

# User-level (available in all projects)
mkdir -p ~/.claude/skills/rapid7-bulk-export
curl -sL https://raw.githubusercontent.com/rapid7/rapid7-bulk-export-mcp/main/rapid7-bulk-export-skill/SKILL.md \
  -o ~/.claude/skills/rapid7-bulk-export/SKILL.md

# Or project-level (only in current project)
mkdir -p .claude/skills/rapid7-bulk-export
curl -sL https://raw.githubusercontent.com/rapid7/rapid7-bulk-export-mcp/main/rapid7-bulk-export-skill/SKILL.md \
  -o .claude/skills/rapid7-bulk-export/SKILL.md

Или используйте npx skills для прямой установки:

npx skills install https://github.com/rapid7/rapid7-bulk-export-mcp

Claude Code автоматически обнаружит и будет использовать навык при необходимости.

Проверка

  1. Перезапустите Claude Code или перезагрузите окно

  2. Введите /mcp в чате, чтобы проверить статус сервера

  3. Убедитесь, что "rapid7-bulk-export" появился в списке

  4. Попробуйте: Load the latest vulnerability data from Rapid7

Установка MCP-сервера

# Using uv
uv pip install git+https://github.com/rapid7/rapid7-bulk-export-mcp.git

# Or using pip
pip install git+https://github.com/rapid7/rapid7-bulk-export-mcp.git

Настройка

Отредактируйте настройки MCP в VS Code:

  • Используйте Command Palette: "MCP: Edit Configuration"

  • Или отредактируйте вручную: .vscode/mcp.json (рабочая область) или пользовательские настройки

{
  "mcpServers": {
    "rapid7-bulk-export": {
      "command": "rapid7-mcp-server",
      "args": [],
      "env": {
        "RAPID7_API_KEY": "your-api-key-here",
        "RAPID7_REGION": "your-region"
      }
    }
  }
}

Установка Agent Skill

# Project-level (recommended, stored in repository)
mkdir -p .github/skills/rapid7-bulk-export
curl -sL https://raw.githubusercontent.com/rapid7/rapid7-bulk-export-mcp/main/rapid7-bulk-export-skill/SKILL.md \
  -o .github/skills/rapid7-bulk-export/SKILL.md

# Or user-level (available across all projects)
mkdir -p ~/.copilot/skills/rapid7-bulk-export
curl -sL https://raw.githubusercontent.com/rapid7/rapid7-bulk-export-mcp/main/rapid7-bulk-export-skill/SKILL.md \
  -o ~/.copilot/skills/rapid7-bulk-export/SKILL.md

Или используйте npx skills для прямой установки:

npx skills install https://github.com/rapid7/rapid7-bulk-export-mcp

Используйте навык как слэш-команду: /rapid7-bulk-export.

Проверка

  1. Перезагрузите окно VS Code

  2. Проверьте статус MCP в строке состояния или на панели вывода

  3. Попробуйте: Load the latest vulnerability data from Rapid7

Установка MCP-сервера

# Using uv
uv pip install git+https://github.com/rapid7/rapid7-bulk-export-mcp.git

# Or using pip
pip install git+https://github.com/rapid7/rapid7-bulk-export-mcp.git

Настройка

Добавьте сервер с помощью Codex CLI:

codex mcp add rapid7-bulk-export \
  --env RAPID7_API_KEY=your-api-key-here \
  --env RAPID7_REGION=your-region \
  -- rapid7-mcp-server

Или отредактируйте вручную ~/.codex/config.toml:

[mcp_servers.rapid7-bulk-export]
command = "rapid7-mcp-server"
args = []
enabled = true

[mcp_servers.rapid7-bulk-export.env]
RAPID7_API_KEY = "your-api-key-here"
RAPID7_REGION = "your-region"

Если вы используете переменные окружения из вашей оболочки вместо их жесткого кодирования:

[mcp_servers.rapid7-bulk-export]
command = "rapid7-mcp-server"
args = []
enabled = true
env_vars = ["RAPID7_API_KEY", "RAPID7_REGION"]

Проверка

  1. Выведите список настроенных серверов: codex mcp list

  2. Проверьте сведения о сервере: codex mcp get rapid7-bulk-export

  3. Попробуйте: Load the latest vulnerability data from Rapid7

Установка MCP-сервера

# Using uv
uv pip install git+https://github.com/rapid7/rapid7-bulk-export-mcp.git

# Or using pip
pip install git+https://github.com/rapid7/rapid7-bulk-export-mcp.git

Настройка

Отредактируйте файл конфигурации MCP Antigravity:

  • macOS/Linux: ~/.gemini/antigravity/mcp_config.json

  • Windows: C:\Users\<USERNAME>\.gemini\antigravity\mcp_config.json

Вы также можете получить доступ к этому файлу через панель Antigravity Agent → "..." → MCP Servers → Manage MCP Servers → View raw config.

Добавьте следующее в mcp_config.json:

{
  "mcpServers": {
    "rapid7-bulk-export": {
      "command": "rapid7-mcp-server",
      "args": [],
      "env": {
        "RAPID7_API_KEY": "your-api-key-here",
        "RAPID7_REGION": "your-region"
      }
    }
  }
}

Проверка

  1. Перезапустите Antigravity, чтобы изменения вступили в силу

  2. Откройте панель MCP Servers (меню "..." → MCP Servers)

  3. Убедитесь, что "rapid7-bulk-export" отображается с доступными инструментами

  4. Попробуйте: Load the latest vulnerability data from Rapid7

Образ Docker

Используется минимальный базовый образ Red Hat UBI 10 Python 3.12 с предустановленным Python 3.12.13. Поддерживает работу в файловой системе только для чтения. Подписка Red Hat не требуется.

Сборка и запуск

Используя docker compose (рекомендуется):

RAPID7_API_KEY=your-key RAPID7_REGION=us docker compose up -d

Используя docker run:

# Build
docker build -t rapid7-bulk-export-mcp .

# Run with read-only filesystem
docker run -d \
  -p 8000:8000 \
  -e RAPID7_API_KEY=your-api-key-here \
  -e RAPID7_REGION=us \
  -e DATA_DIR=/data \
  -e TMPDIR=/tmp \
  -v rapid7-data:/data \
  --tmpfs /tmp \
  --read-only \
  --security-opt no-new-privileges:true \
  --name rapid7-bulk-export-mcp \
  rapid7-bulk-export-mcp

Настройка вашего MCP-клиента

Укажите любому MCP-совместимому клиенту HTTP-конечную точку:

{
  "mcpServers": {
    "rapid7-bulk-export": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

Установка Agent Skill

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

Проверка

  1. Убедитесь, что контейнер запущен: docker ps

  2. Проверьте конечную точку: curl http://localhost:8000/mcp

  3. Подключите свой ИИ-инструмент и попробуйте: Load the latest vulnerability data from Rapid7

2. Приступайте к анализу

Примечание: Первый экспорт занимает 1–5 минут в зависимости от размера организации. После завершения данные кэшируются, и последующие загрузки используют тот же экспорт. Вы всегда можете запросить обновление данных, чтобы получить последний набор.

Show me the top 10 critical vulnerabilities with known exploits
What's the severity distribution across my cloud assets?

Справочник инструментов

start_rapid7_export

Запускает новое задание экспорта на серверах Rapid7. Немедленно возвращает идентификатор экспорта. Поддерживает три типа экспорта: vulnerability, policy и remediation.

Start a vulnerability export from Rapid7

check_rapid7_export_status

Однократно опрашивает Rapid7 API для получения текущего статуса задания экспорта. Используйте после start_rapid7_export, чтобы узнать, когда данные будут готовы.

Check the status of export abc-123

download_rapid7_export

Загружает Parquet-файлы завершенного экспорта и загружает их в локальную базу данных DuckDB. На этом этапе данные становятся доступными для запросов.

Download and load export abc-123

load_rapid7_parquet

Загружает существующие Parquet-файлы непосредственно с диска (они должны находиться в ~/.rapid7_mcp/imports/). Полезно, если у вас уже есть экспортированные файлы и вы хотите пропустить API-вызов.

Load parquet files from ~/.rapid7_mcp/imports/my-export/

query_rapid7

Выполняет SQL по загруженным данным. После загрузки соединение блокируется — чтение и запись в файловую систему, а также доступ к сети отключаются на уровне движка DuckDB.

Доступные таблицы: assets, vulnerabilities, policies, vulnerability_remediation.

Run: SELECT severity, COUNT(*) FROM vulnerabilities GROUP BY severity

get_rapid7_schema

Возвращает имена столбцов и типы данных для всех загруженных таблиц. Используйте это, чтобы понять, какие поля доступны перед написанием запросов.

Show me the schema of the loaded data

get_rapid7_stats

Возвращает сводную статистику — количество строк, распределение по уровням серьезности, диапазоны оценок CVSS, количество эксплойтов и разбивку по облачным провайдерам.

Give me an overview of the vulnerability data

list_rapid7_exports

Показывает историю последних экспортов с идентификаторами, датами, статусами и количеством строк. Полезно для поиска предыдущего экспорта для повторной загрузки.

List my recent exports

purge_rapid7_data

Безвозвратно удаляет с диска как базу данных уязвимостей, так и базу данных отслеживания экспортов. Используйте, когда закончите анализ или перед передачей компьютера другому человеку.

Purge all local Rapid7 data

Архитектура

graph TB
    subgraph "AI Layer"
        LLM[LLM/AI Assistant<br/>Copilot, Kiro, Claude Desktop, etc.]
    end

    subgraph "Rapid7 Bulk Export MCP Tool"
        MCP[MCP Server<br/>rapid7-bulk-export]
        Skill[Agent Skill / Power<br/>rapid7-bulk-export-skill]
    end

    subgraph "Data Layer"
        DB[(DuckDB<br/>rapid7_bulk_export.db)]
        Tracker[(Export Tracker<br/>rapid7_bulk_export_tracking.db)]
    end

    subgraph "Rapid7 API"
        R7[Rapid7 Bulk Export API<br/>/export/graphql ]
    end

    LLM <-->|Model Context Protocol| MCP
    LLM -.->|Enhanced Context| Skill
    MCP -->|SQL Queries| DB
    MCP -->|Track Exports| Tracker
    MCP -->|Fetch Data| R7
    R7 -->|Parquet Files| MCP
    MCP -->|Load Data| DB

    style LLM fill:#e1f5ff
    style MCP fill:#fff4e1
    style Skill fill:#f0e1ff
    style DB fill:#e8f5e9
    style Tracker fill:#e8f5e9
    style R7 fill:#ffe1e1

Разработка

Изменения в AgentSkill и MCP могут быть сделаны локально, чтобы адаптировать их под вашу среду — приветствуются ваши доработки в этом репозитории.

Клонирование и установка

git clone https://github.com/rapid7/rapid7-bulk-export-mcp.git
cd rapid7-bulk-export-mcp
uv sync

Настройка для разработки

Создайте или отредактируйте .kiro/settings/mcp.json:

{
  "mcpServers": {
    "rapid7-bulk-export": {
      "command": "/absolute/path/to/rapid7-bulk-export-mcp/.venv/bin/rapid7-mcp-server",
      "args": [],
      "env": {
        "RAPID7_API_KEY": "your-api-key-here",
        "RAPID7_REGION": "your-region",
        "DATA_DIR": "/Users/you/.rapid7-mcp"
      }
    }
  }
}

Примечание: Направляйте command непосредственно на точку входа venv, а не используйте uv run с cwd. Claude Desktop не гарантирует рабочую директорию при запуске MCP-серверов, поэтому uv run может разрешиться в кэшированную или системную версию пакета вместо вашего локального исходного кода.

Запуск тестов

uv run pytest

Переменные окружения

Переменная

Обязательная

По умолчанию

Описание

RAPID7_API_KEY

Да

Ключ API Rapid7 InsightVM

RAPID7_REGION

Да

us

Регион API: us, us2, us3, eu, ca, au, ap

DATA_DIR

Нет

~/.rapid7_mcp

Каталог для файлов базы данных; должен быть доступен для записи. Ручные импорты parquet должны размещаться в $DATA_DIR/imports/

MCP_TRANSPORT

Нет

stdio

Транспортный протокол: stdio или http

MCP_HOST

Нет

0.0.0.0

HTTP-адрес привязки (только когда MCP_TRANSPORT=http)

MCP_PORT

Нет

8000

HTTP-порт (только когда MCP_TRANSPORT=http)

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

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/Cgisclair29/Rapid7-MCP'

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