Skip to main content
Glama

reptor-mcp:用于 Reptor/SysReptor 的 MCP 服务器

本项目将 reptor CLI 工具转换为 MCP (Model-Context-Protocol) 服务器,将其强大的渗透测试报告和自动化功能作为可编程服务暴露出来。

它允许其他工具、脚本或 AI 代理通过 MCP 协议以编程方式与 SysReptor 交互,从而促进集成到自动化工作流中。

WARNING

Alpha 软件: 底层的 reptor CLI 工具目前处于 alpha 阶段。其 API 可能会发生变化,从而可能导致 reptor-mcp 无法使用。

CAUTION

无身份验证: 此服务器没有身份验证或授权。它仅设计用于本地使用。请勿将其暴露给互联网或不受信任的网络。

IMPORTANT

数据敏感性: 如果您处理敏感的项目数据,请考虑将其发送给通过此服务器连接的 LLM 的影响。使用 REPTOR_MCP_EXCLUDE_FIELDS 在数据到达 LLM 之前剔除敏感字段。

功能

  • 动态工具生成: 自动从所有可用的 reptor 插件(nmap、nessus、burp、zap、sslyze 等)创建 MCP 工具。

  • 直接 API 工具: 提供结构化工具,用于直接使用 reptor 的 Python API 进行漏洞 CRUD、模式发现和模板管理。

  • 字段排除: 在将数据返回给 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 .

这将自动从 PyPI 安装 reptorfastmcp。无需单独克隆 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

您的 SysReptor 实例的 URL

REPTOR_TOKEN

您的 SysReptor API 令牌

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)

这些工具直接使用 reptor 的 Python API 进行结构化、模式感知的操作:

工具

描述

list_findings

列出带有过滤器(状态、严重性、标题)的漏洞。

get_finding_details

通过 ID 获取漏洞的完整详细信息。

get_finding_schema

为项目发现可用的漏洞字段、类型和约束。在调用 create_findingpatch_finding 之前调用。

create_finding

从扁平数据字典创建新漏洞。

patch_finding

更新漏洞上的单个字段。

delete_finding

通过 ID 删除漏洞(需要明确确认)。

upload_template

从 JSON 或 TOML 上传漏洞模板。

插件工具(动态包装器)

服务器将所有 reptor CLI 插件动态包装为 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 客户端进行检查。

与 reptor 原生 MCP 服务器的关系

自 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 文件。

致谢

如果没有 SysReptor 团队及其贡献者开发的原始 reptor CLI 工具,本项目将无法实现。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