reptor-mcp
reptor-mcp:用于 Reptor/SysReptor 的 MCP 服务器
本项目将 reptor CLI 工具转换为 MCP (Model-Context-Protocol) 服务器,将其强大的渗透测试报告和自动化功能作为可编程服务暴露出来。
它允许其他工具、脚本或 AI 代理通过 MCP 协议以编程方式与 SysReptor 交互,从而促进集成到自动化工作流中。
Alpha 软件: 底层的 reptor CLI 工具目前处于 alpha 阶段。其 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(推荐)或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 安装 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 |
| 否 | 设置为 |
| 否 | 自定义 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关键设计决策:
插件包装器在带有序列化锁的线程中运行,在保持异步事件循环响应的同时保护共享状态。
自定义工具使用
asyncio.to_thread()进行非阻塞 API 调用。字段排除在返回给客户端之前,递归地从所有嵌套数据结构中剔除指定的字段。
许可证
本项目采用 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