Skip to main content
Glama

reptor-mcp: Reptor/SysReptor用MCPサーバー

このプロジェクトは、reptor CLIツールをMCP(Model-Context-Protocol)サーバーに変換し、その強力なペネトレーションテストレポート作成および自動化機能をプログラム可能なサービスとして公開します。

これにより、他のツール、スクリプト、またはAIエージェントがMCPプロトコルを介してSysReptorとプログラム的に対話できるようになり、自動化ワークフローへの統合が容易になります。

[!WARNING] アルファ版ソフトウェア: 基盤となる reptor CLIツールはアルファ版です。APIが変更される可能性があり、reptor-mcpが動作しなくなる可能性があります。

[!CAUTION] 認証なし: このサーバーには認証や認可がありません。ローカルでの使用のみを想定して設計されています。インターネットや信頼できないネットワークには公開しないでください。

[!IMPORTANT] データの機密性: 機密性の高いプロジェクトデータを扱う場合は、このサーバーを介してLLMに送信することの影響を考慮してください。REPTOR_MCP_EXCLUDE_FIELDSを使用して、LLMに到達する前に機密フィールドを除外してください。

機能

  • 動的ツール生成: 利用可能なすべての reptor プラグイン(nmap、nessus、burp、zap、sslyzeなど)からMCPツールを自動的に作成します。

  • 直接APIツール: reptorのPython APIを直接使用して、調査結果のCRUD、スキーマ検出、テンプレート管理のための構造化されたツールを提供します。

  • フィールド除外: LLMクライアントにデータを返す前に、機密フィールドをデータから削除します(環境変数で設定可能)。

  • 非同期セーフ: スレッドセーフなシリアル化されたプラグイン実行を備えた、ノンブロッキングなイベントループ。

Related MCP server: pentestMCP

前提条件

  • Python 3.10+

  • uv (推奨) または pip

  • APIトークンを備えた実行中の SysReptor インスタンス

インストール

git clone https://github.com/slvnlrt/reptor-mcp.git
cd reptor-mcp
uv venv && source .venv/bin/activate
uv pip install -e .

これにより、reptorfastmcp がPyPIから自動的にインストールされます。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

いいえ

SSL検証を無効にするには true に設定

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_finding または patch_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)が含まれています。これら2つのサーバーは補完的です:

機能

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インターフェースを提供します。

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    An MCP server that integrates various penetration testing tools, enabling security professionals to perform reconnaissance, vulnerability scanning, and API testing through natural language commands in compatible LLM clients like Claude Desktop.
    7
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that exposes over 20 standard penetration testing utilities, such as Nmap, SQLMap, and OWASP ZAP, as callable tools for AI agents. It enables natural language control over complex security workflows for automated and interactive penetration testing.
    96
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    An unofficial MCP server for PlexTrac that exposes 335 tools for managing clients, reports, findings, assets, and more through natural language, enabling agents like Codex and Claude to interact with PlexTrac programmatically.
    -
  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that provides passive and low-impact active reconnaissance tools for authorized bug bounty and security assessments, enabling LLMs to perform structured recon and generate reports.
    11
    Apache 2.0