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クライアントにデータを返す前に、機密フィールドをデータから削除します(環境変数で設定可能)。

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

前提条件

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

-
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