Skip to content

Conversation

@kakira9618
Copy link
Member

@kakira9618 kakira9618 commented Aug 4, 2025

概要

MCP Server を Extensions の一機能として実装しました。
以下の10個のツールを実装しています。

  • get_history: パケット履歴検索
  • get_packet_detail: パケット詳細取得
  • get_logs: ログ取得
  • get_config: 設定情報取得
  • update_config: 設定変更
  • restore_config: 設定バックアップ復元
  • resend_packet: パケット再送(改ざん・同時送信も可)
  • bulk_send: バルク送信
  • call_vulcheck_helper: VulCheck Helper の実行
  • get_job_status: 送信ジョブ情報を取得

詳細は、PacketProxy MCP サーバー仕様書 を確認してください。

これらの操作を、AI Agent が利用できます。

実装・対応内容

  • MCP サーバーの基本部分の実装(HTTPでの通信も可)
  • 基本的なTool群を実装
  • 様々な MCP Client から利用するための wrapper スクリプトを実装
  • ドキュメント・仕様
  • MCP Client の対応・動作確認
    • claude desktop
    • cline
    • cursor
    • claude code
    • gemini cli
  • 情報管理やセキュリティ対策を考慮する
    • 操作時に PacketProxy の AccessToken を指定するようにする
    • AccessTokenの環境変数化
    • ログに AccessToken を残さない(マスク)
    • パケット内クレデンシャルのマスク
      • 任意のパケットについて適切にハンドリングするのは難しく、マスクしたことで正常に機能しないことも考えられ、かつ信頼できるAIを使う前提のため、SKIP

利用方法

(詳細は PacketProxy MCP サーバー設定ガイド を参照してください)

設定 (MCP Client)

まず、node 20 以上がインストールされていることを確認します

$ node -v
v20.19.2

Claude Code 以外のMCP Clientの場合
以下のような設定を各クライアントの設定ファイル (.json) に追記します。

PACKETPROXY_ACCESS_TOKEN の値は、Options > Import / Export configs (Experimental) の値を設定してください。

{
  "mcpServers": {
    "packetproxy": {
      "command": "node",
      "args": [
        "scripts/mcp-http-bridge.jsのフルパスを指定"
      ],
      "env": {
        "PACKETPROXY_ACCESS_TOKEN": "your_packetproxy_access_token"
      }
    }
  }
}

Claude Code の場合
Claude Code の場合は、以下のコマンドで設定できます。your_packetproxy_access_token/path/to/mcp-http-bridge.js を適切に設定してください。

$ claude mcp add packetproxy -e PACKETPROXY_ACCESS_TOKEN=your_packetproxy_access_token -- node /path/to/mcp-http-bridge.js

利用手順

以下の手順で利用します。

  1. PacketProxy を起動する
  2. Options タブ > Extensions > MCP Server を有効にする
  3. Extensions タブ > MCP Server タブ > Start Server ボタンを押す
  4. MCP Client を立ち上げ、適切な指示を行う(例: PacketProxy の設定情報を取得して ,ID:xx番のパケットについて、SQLi観点の脆弱性診断を行い、レポートを作成してなど)

TODO

  • テストの追加
  • リファクタ
    • MCP Client -> Client Side MCP Server (mcp-http-bridge) -> PacketProxy MCP HTTP Server -> PacketProxy MCP Server となっていて、構成が冗長なのを整理する
    • パケット内容書き換え部分は共通化
    • ドキュメントのリファクタリング
    • 余分な情報の消去(resend_packetの packed_ids など)
    • access token は独自のものを使う?
  • ドキュメントとの整合性確認・修正
  • 一通りの機能の動作確認

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants