reptor-mcp
An MCP server for Reptor/SysReptor that exposes the reptor CLI tool as a programmable service, configured via environment variables.
reptor-mcp: An MCP Server for Reptor/SysReptor
This project transforms the reptor
CLI tool into an MCP (Model-Context-Protocol) server, exposing its powerful pentest reporting and automation features as a programmable service.
It allows other tools, scripts, or AI agents to programmatically interact with SysReptor via the MCP protocol, facilitating integration into automated workflows.
❗ Important Warnings ❗
- Alpha Software Stability: The underlying
reptor
CLI tool is currently in an alpha stage of development. This means its API and functionalities might change, potentially leading to breaking changes inreptor-mcp
. Whilereptor-mcp
aims for stability, its functionality is dependent onreptor
. - No MCP Server Authentication: The
reptor-mcp
server currently does not implement any authentication or authorization mechanisms. It is designed for local use. DO NOT EXPOSE THE MCP SERVER DIRECTLY TO THE INTERNET OR UNTRUSTED NETWORKS. - Data Sensitivity with LLMs: If you are using
reptor
, SysReptor, and consequentlyreptor-mcp
with sensitive project data, carefully consider the implications of sending this data to Large Language Models (LLMs) or any third-party services via clients connected to this MCP server. This is a general consideration for any workflow involving sensitive data and AI models.
Features
- Dynamic Tool Generation: Automatically creates MCP tools from all available
reptor
plugins. - Complex Argument Handling: Manages
stdin
redirection, configuration overwrites, and special file types. - Custom Tools: Includes
list_findings
,get_finding_details
, andupload_template
for enhanced usability. - Stable & Reliable: Built with
FastMCP
for robust server operation.
Prerequisites
- Python 3.9+
uv
(recommended for package and virtual environment management) orpip
- An existing clone of the original reptor CLI tool (see Installation).
Project Structure
This project is designed to work alongside the original reptor
CLI tool. For the server to function correctly, you should have the following directory structure, where both projects are siblings:
your_workspace/
├── reptor-main/ # The original reptor CLI project
└── reptor-mcp/ # This project (reptor-mcp)
Installation
-
Prepare Repositories: If you haven't already, clone both
reptor-mcp
(this repository) and the originalreptor
into the same parent directory (your_workspace/
in the example above). -
Navigate to
reptor-mcp
: All subsequent commands should be run from within thereptor-mcp
directory.cd path/to/your_workspace/reptor-mcp
-
Create and Activate Virtual Environment:
# Using uv uv venv source .venv/bin/activate # On Linux/macOS # .\.venv\Scripts\Activate.ps1 # On Windows PowerShell
-
Install Dependencies: The
requirements.txt
file is configured to installreptor
in editable mode from the siblingreptor-main
directory.uv pip install -r requirements.txt
Configuration
The reptor-mcp
server is configured via environment variables, which are utilized by the underlying reptor
library:
REPTOR_SERVER
: (Required) The URL of your SysReptor instance.REPTOR_TOKEN
: (Required) Your SysReptor API token.REPTOR_PROJECT_ID
: (Optional) A default project ID to use for operations.REPTOR_MCP_INSECURE
: (Optional) Set totrue
to disable SSL certificate verification for the SysReptor server (e.g., for self-signed certificates).REQUESTS_CA_BUNDLE
: (Optional) Path to a custom CA bundle file for SSL verification.REPTOR_MCP_DEBUG
: (Optional) Set totrue
to enable verbose debug logging from thereptor-mcp
server.
Running the Server
The recommended way to run the server for programmatic access is with fastmcp run
and the streamable-http
transport:
# From the reptor-mcp project root, after activating the virtual environment
fastmcp run mcp_server.py:mcp --transport streamable-http --port 8008
The server will be accessible at http://localhost:8008/mcp/
. Remember the security warning above: run only in trusted, local environments.
Client Connection
To connect an MCP client to the server, use a configuration similar to the following (e.g., in mcp_settings.json
):
{
"mcpServers": {
"reptor-mcp": {
"type": "streamable-http",
"url": "http://localhost:8008/mcp/"
}
}
}
Available Tools
The server dynamically generates tools from all available reptor
plugins. This includes tools like note
, finding
, project
, file
, nmap
, burp
, and more.
Additionally, the following custom tools are available for enhanced usability:
list_findings
: Lists findings for a project, with options to filter by status, severity, and title.get_finding_details
: Retrieves the full, detailed JSON object for a specific finding by its ID.upload_template
: Uploads a new finding template from a JSON or TOML string.
The exact arguments for each tool can be inspected via a connected MCP client.
Architecture Overview
reptor-mcp
acts as a dynamic wrapper around the reptor
CLI. It uses FastMCP
to expose reptor
's functionalities as MCP tools.
Key components include:
mcp_server.py
: Main server entry point.tool_generator.py
: Dynamically generates MCP tools fromreptor
plugins by inspecting theirargparse
definitions.signature_utils.py
: Helps translateargparse
definitions to Python function signatures.wrapper_utils.py
: Contains the core logic for executing the wrappedreptor
plugins, handling arguments,stdin
, and output.tool_config.py
: Manages special configurations for certain plugins.
This approach allows reptor-mcp
to leverage reptor
's tested logic while providing a modern, programmatic interface, without modifying the original reptor
codebase.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements
This project would not be possible without the original reptor CLI tool developed by the SysReptor team and its contributors. reptor-mcp
builds upon their excellent work to provide an MCP interface.
Related Servers
Vibe Check
The definitive Vibe Coder's sanity check MCP server: Prevents cascading errors by calling a "Vibe-check" agent to ensure alignment and prevent scope creep
Vercel AI SDK MCP Server Project
An MCP server for the Vercel AI SDK, enabling integrations with Figma and 21st.dev Magic.
MCP Devkit
A persistent development partner that prevents context drift and maintains project memory across all development sessions.
Hello World MCP Server
A simple Hello World MCP server built with FastMCP, serving as a basic example.
WordPress Community DEV Docs
Access WordPress development rules and best practices from the WordPress LLM Rules repository. It dynamically creates tools for each rule and caches content using Cloudflare Durable Objects.
Monad MCP Server
Interact with the Monad testnet, query blockchain data, and engage with the CoinflipGame smart contract.
stdout-mcp-server
Captures and manages stdout logs from multiple processes via a named pipe system for real-time debugging and analysis.
Unity-MCP
A bridge between the Unity game engine and AI assistants using the Model Context Protocol (MCP).
Xcode
Tools for Xcode project management, building, testing, archiving, code signing, and iOS development utilities.
Gru Sandbox
Gru-sandbox(gbox) is an open source project that provides a self-hostable sandbox for MCP integration or other AI agent usecases.