Skip to main content
Glama
Cgisclair29

Rapid7 Bulk Export MCP

by Cgisclair29

Rapid7 Bulk Export MCP

Rapid7 Command Platform 데이터를 MCP(Model Context Protocol) 및 AgentSkills와 함께 사용하여 AI 기반 분석을 지원합니다.

이 도구는 최선의 노력(best effort) 지원입니다. 이 도구를 활용할 도구와 워크플로우는 맞춤형이고 끊임없이 변화하기 때문에 MCP 코드 및 AgentSkill 콘텐츠 외부에서는 지원이나 안내를 제공할 수 없습니다.

이 도구는 무엇인가?

이 도구는 Rapid7 Bulk Export API를 통해 Rapid7 Command Platform에서 데이터를 내보내고 GenAI 및 에이전틱(Agentic) 워크플로우에서 쿼리할 수 있게 만듭니다.

  • MCP Server: 데이터를 가져오고 처리하며 쿼리할 수 있는 도구를 내장합니다.

  • Agent Skill / Kiro Power: MCP 도구 사용 방법에 대한 추가 컨텍스트, 스키마 지식 및 지침을 제공합니다.

  • DuckDB Database: 구조화된 빠른 쿼리를 지원하는 로컬 파일 기반 데이터베이스입니다.

기능

  • AI 기반 분석: Kiro, Claude Desktop 또는 MCP 호환 AI 어시스턴트와 함께 사용할 수 있습니다.

  • 온디맨드 데이터 로딩: Rapid7에서 자동으로 데이터를 가져와 로드합니다.

  • 내보내기 재사용: 같은 날짜의 내보내기를 자동으로 재사용하여 중복 API 호출을 방지합니다.

  • 자연어 쿼리: 일반 영어로 질문할 수 있습니다.

  • SQL 쿼리 실행: 취약점, 자산 및 기타 데이터에 대해 복잡한 SQL 쿼리를 실행할 수 있습니다.

  • 스키마 탐색: 사용 가능한 데이터 필드를 탐색합니다.

  • 통계 및 인사이트: 요약 및 분포를 즉시 확인할 수 있습니다.

  • 보안 잠금: 사용자 쿼리는 샌드박스 처리됩니다. DuckDB 엔진 수준에서 파일시스템 및 네트워크 액세스가 차단됩니다.

  • Docker 지원: 원격 또는 공유 배포를 위한 컨테이너화된 HTTP 서비스로 실행할 수 있습니다.

로컬 vs 원격

설정에 따라 MCP 서버를 두 가지 모드로 실행할 수 있습니다.

로컬(stdio) — AI 클라이언트가 서버를 하위 프로세스로 생성하고 stdin/stdout을 통해 통신합니다. 이는 기본적이고 가장 간단한 옵션입니다. 서버는 사용자 머신에서 실행되고 데이터베이스는 그 옆에 있으며 모든 것이 로컬에 유지됩니다. 워크스테이션이나 노트북에서 개인적으로 사용할 때 가장 적합합니다.

원격(Docker / streamable HTTP) — 서버는 단일 /mcp 엔드포인트를 노출하는 컨테이너화된 HTTP 서비스로 실행됩니다. 클라이언트는 URL을 통해 네트워크로 연결됩니다. 공유 환경, 팀 사용 또는 AI 도구와 분리된 전용 인프라에서 서버를 실행하려는 경우에 가장 적합합니다. 이 경우 원격 MCP의 모든 사용자 간에 데이터가 공유될 수 있으므로 /mcp 엔드포인트를 인증하고 보호해야 합니다.

두 모드 모두 동일한 MCP 도구와 보안 제어를 사용합니다. 유일한 차이점은 클라이언트 연결 방식입니다.

빠른 시작

0. Rapid7 API 키 및 리전 가져오기

시작하기 전에 Rapid7 Insight Platform 계정의 자격 증명이 필요합니다.

API 키 생성:

중요: API 키는 플랫폼 관리자(Platform Admin) 가 생성해야 합니다. 벌크 내보내기 API는 플랫폼 전체의 모든 취약점 데이터를 반환하므로 관리자 수준 액세스가 필요합니다.

  1. Rapid7 Insight Platform에 플랫폼 관리자로 로그인합니다.

  2. Administration → API Key Management로 이동합니다.

  3. 키 유형을 선택합니다.

    • 조직 키(Organization Key) (권장): 전체 관리자 권한(플랫폼 관리자 역할 필요)

    • 사용자 키(User Key): 계정 권한을 상속합니다. 벌크 내보내기에 충분한 액세스 권한을 가지려면 플랫폼 관리자가 생성해야 합니다.

  4. "Generate New Admin Key"(또는 플랫폼 관리자 계정을 사용하는 경우 "Generate New User Key")를 클릭합니다.

  5. 조직을 선택하고 키 이름을 지정합니다.

  6. 키를 즉시 복사하세요. 다시 볼 수 없습니다!

리전 찾기:

리전에 따라 사용할 API 엔드포인트가 결정됩니다. 리전을 찾으려면:

  1. insight.rapid7.com으로 이동하여 로그인합니다.

  2. 오른쪽 상단의 계정 이름 아래에서 "Data Storage Region" 태그를 찾습니다.

자세한 내용은 다음을 참조하세요:

1. AI 도구 설정

아래에서 AI 도구를 선택하세요. 각 가이드는 MCP 서버 설치, Agent Skill 추가, 연결 확인 과정을 안내합니다.

API 키 보안: RAPID7_API_KEY를 디스크에 평문으로 저장하지 마세요. 런타임에 키를 주입하려면 비밀 관리자를 사용하세요. 예를 들어 1Password CLI, Bitwarden CLI, macOS Keychain, Windows Credential Manager, PowerShell SecretManagement 등을 사용할 수 있습니다. 1Password를 사용하는 경우 "command": "op""args": ["run", "--", "rapid7-mcp-server"]를 env 블록의 op:// 시크릿 참조와 함께 설정할 수 있습니다. 키는 볼트에서 확인되며 구성 파일에 기록되지 않습니다. 사용 중인 비밀 관리자에 맞게 이 패턴을 조정하세요.

MCP 서버 설치

  1. Claude Desktop을 열고 Customize → Connectors로 이동합니다.

  2. 커넥터 디렉터리에서 "Rapid7 Bulk Export"를 검색합니다.

  3. Install을 클릭하고 프롬프트가 표시되면 RAPID7_API_KEYRAPID7_REGION을 입력합니다.

Installing from the Connectors directory

Agent Skill 설치

  1. Customize -> Skills로 이동합니다.

  2. (+)를 클릭합니다.

  3. Create Skill을 클릭합니다.

  4. Upload Skill을 클릭합니다.

  5. 오른쪽 릴리스에서 최신 스킬 zip 파일을 업로드합니다.

Installing the 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

구성

Claude Code CLI를 사용합니다:

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

구성

VS Code에서 MCP 설정을 편집합니다.

  • 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

구성

Antigravity MCP 구성 파일을 편집합니다.

  • 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 이미지

Python 3.12.13이 사전 설치된 Red Hat UBI 10 Python 3.12 Minimal 기본 이미지를 사용합니다. 읽기 전용 파일시스템 작업을 지원합니다. 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 설치

위의 특정 AI 도구에 대한 스킬 설치 방법을 따르세요. 스킬은 MCP 서버가 로컬이든 원격이든 동일하게 작동합니다.

확인

  1. 컨테이너가 실행 중인지 확인합니다: docker ps

  2. 엔드포인트 테스트: curl http://localhost:8000/mcp

  3. AI 도구를 연결하고 실행: 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 서버에서 새 내보내기 작업을 시작합니다. 내보내기 ID와 함께 즉시 반환됩니다. 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

최근 내보내기 기록을 ID, 날짜, 상태, 행 수와 함께 표시합니다. 다시 로드할 이전 내보내기를 찾는 데 유용합니다.

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"
      }
    }
  }
}

참고: commandcwd와 함께 uv run을 사용하는 대신 venv 진입점에 직접 지정하세요. Claude Desktop은 MCP 서버를 시작할 때 작업 디렉터리를 보장하지 않으므로, uv run은 로컬 소스 대신 캐시되거나 시스템에 설치된 패키지 버전을 사용하게 될 수 있습니다.

테스트 실행

uv run pytest

환경 변수

변수

필수

기본값

설명

RAPID7_API_KEY

Rapid7 InsightVM API 키

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