reptor-mcp
reptor-mcp: Reptor/SysReptor용 MCP 서버
이 프로젝트는 reptor CLI 도구를 MCP(Model-Context-Protocol) 서버로 변환하여, 강력한 모의 해킹 보고 및 자동화 기능을 프로그래밍 가능한 서비스로 노출합니다.
이를 통해 다른 도구, 스크립트 또는 AI 에이전트가 MCP 프로토콜을 통해 SysReptor와 프로그래밍 방식으로 상호 작용하여 자동화된 워크플로우에 쉽게 통합할 수 있습니다.
알파 소프트웨어: 기반이 되는 reptor CLI 도구는 현재 알파 단계입니다. API가 변경될 수 있으며, 이로 인해 reptor-mcp가 작동하지 않을 수 있습니다.
인증 없음: 이 서버에는 인증 또는 권한 부여 기능이 없습니다. 로컬 전용으로 설계되었습니다. 인터넷이나 신뢰할 수 없는 네트워크에 노출하지 마십시오.
데이터 민감도: 민감한 프로젝트 데이터를 다루는 경우, 이 서버를 통해 LLM으로 데이터를 전송할 때 발생할 수 있는 영향을 고려하십시오. REPTOR_MCP_EXCLUDE_FIELDS를 사용하여 LLM에 도달하기 전에 민감한 필드를 제거하십시오.
기능
동적 도구 생성: 모든 사용 가능한
reptor플러그인(nmap, nessus, burp, zap, sslyze 등)으로부터 MCP 도구를 자동으로 생성합니다.직접 API 도구: reptor의 Python API를 직접 사용하여 발견 사항 CRUD, 스키마 검색 및 템플릿 관리를 위한 구조화된 도구를 제공합니다.
필드 제외: LLM 클라이언트로 데이터를 반환하기 전에 민감한 필드를 제거합니다(환경 변수를 통해 구성 가능).
비동기 안전: 스레드 안전 직렬화 플러그인 실행을 포함한 비차단 이벤트 루프를 제공합니다.
사전 요구 사항
Python 3.10+
uv(권장) 또는pipAPI 토큰이 설정된 SysReptor 인스턴스
설치
git clone https://github.com/slvnlrt/reptor-mcp.git
cd reptor-mcp
uv venv && source .venv/bin/activate
uv pip install -e .이 명령은 PyPI에서 reptor와 fastmcp를 자동으로 설치합니다. reptor 저장소를 별도로 복제할 필요가 없습니다.
로컬에 체크아웃된 reptor를 사용해야 하는 경우(예: 미출시 변경 사항 테스트):
uv pip install -e /path/to/reptor-source
uv pip install -e .또는 런타임에 REPTOR_MAIN_PATH=/path/to/reptor-source를 설정하여 sys.path에 주입하십시오.
구성
서버는 환경 변수를 통해 구성됩니다:
변수 | 필수 | 설명 |
| 예 | SysReptor 인스턴스의 URL |
| 예 | SysReptor API 토큰 |
| 아니오 | 작업에 사용할 기본 프로젝트 ID |
| 아니오 | SSL 확인을 비활성화하려면 |
| 아니오 | 사용자 지정 CA 번들 파일 경로 |
| 아니오 | LLM 응답에서 제거할 필드 이름(쉼표로 구분, 예: |
| 아니오 | 자세한 디버그 로그를 보려면 |
서버 실행
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)
이 도구들은 구조화되고 스키마를 인식하는 작업을 위해 reptor의 Python API를 직접 사용합니다:
도구 | 설명 |
| 필터(상태, 심각도, 제목)를 사용하여 발견 사항을 나열합니다. |
| ID별로 발견 사항의 전체 세부 정보를 가져옵니다. |
| 프로젝트에 사용 가능한 발견 사항 필드, 유형 및 제약 조건을 검색합니다. |
| 플랫 데이터 딕트에서 새로운 발견 사항을 생성합니다. |
| 발견 사항의 단일 필드를 업데이트합니다. |
| ID별로 발견 사항을 삭제합니다(명시적 확인 필요). |
| JSON 또는 TOML에서 발견 사항 템플릿을 업로드합니다. |
플러그인 도구 (동적 래퍼)
서버는 모든 reptor CLI 플러그인을 MCP 도구로 동적으로 래핑합니다:
카테고리 | 도구 |
취약점 가져오기 |
|
발견 사항 관리 |
|
프로젝트 관리 |
|
템플릿 |
|
메모 및 파일 |
|
번역 |
|
가져오기/내보내기 |
|
각 도구에 대한 정확한 인수는 연결된 MCP 클라이언트를 통해 확인할 수 있습니다.
reptor의 기본 MCP 서버와의 관계
reptor v0.33부터 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주요 설계 결정 사항:
플러그인 래퍼는 직렬화 잠금이 있는 스레드에서 실행되어, 공유 상태를 보호하면서 비동기 이벤트 루프의 응답성을 유지합니다.
사용자 지정 도구는 비차단 API 호출을 위해
asyncio.to_thread()를 사용합니다.필드 제외는 클라이언트에 반환하기 전에 모든 중첩된 데이터 구조에서 지정된 필드를 재귀적으로 제거합니다.
라이선스
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.
감사의 말
이 프로젝트는 SysReptor 팀과 기여자들에 의해 개발된 원본 reptor CLI 도구 없이는 불가능했을 것입니다. reptor-mcp는 그들의 훌륭한 작업을 기반으로 MCP 인터페이스를 제공합니다.
This server cannot be installed
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