mcpField
F
fiddler-mcp-setup

fiddler-mcp-setup

github.com/telerikエージェントワークフロー1287 回インストール12 週間前に更新
リポジトリ

fiddler-mcp-setup について

fiddler-mcp-setupは、対応するエージェントツール向けにFiddler EverywhereのMCPサーバーを設定する手順スキルです。インストールと接続を確認し、プロバイダーを特定して、FiddlerのローカルAPI経由でログインと設定を案内します。

主な機能

  1. 01Fiddlerのインストールと到達性の確認
  2. 02エージェントプロバイダーの特定
  3. 03MCPサーバーのポート検出
  4. 04既存プロバイダー設定の確認
  5. 05必要に応じたログイン開始
  6. 06プロバイダーの自動設定

活用シーン

  1. 01エージェント向けFiddler MCPの設定
  2. 02デフォルト以外のローカルポートの検出
  3. 03既存プロバイダー設定の更新

MCP 対応

ローカル管理エンドポイントを使い、選択したエージェントプロバイダー向けにFiddler EverywhereのMCPサーバーを設定します。サーバーのMCPインターフェースからログインを開始することもできます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/telerik/fiddler-agent-tools --skill fiddler-mcp-setup

インストール後、Claude Code で/fiddler-mcp-setupを入力して読み込まれたか確認します。

詳細

Fiddler MCP のセットアップ

エージェントのツールが Fiddler のトラフィック検査、ステータス、セッション API を呼び出せるように、Fiddler Everywhere MCP サーバーを設定します。


実行ルール

  • シェルを優先します。 MCP はまだ設定されていないため、MCP ツールは使用できません。
  • 順番にのみ実行します。 手順を厳密に順番どおりに進めてください。手順やスクリプトを並列で実行しないでください。各手順は、前の手順で取得した値に依存する場合があります。
  • Windows の場合 — 開いているターミナルを確認します。PowerShell 以外の場合に限り、スクリプトを powershell.exe -Command 'script' で囲みます。スクリプトはシングルクォートで囲んでください。

ステップ 1 — Fiddler がインストールされていることを確認する

macOS:

if [ -d "/Applications/Fiddler Everywhere.app" ]; then echo "INSTALLED"; else echo "NOT_INSTALLED"; fi

Linux:

if command -v fiddler-everywhere &>/dev/null; then echo "INSTALLED"; else echo "NOT_INSTALLED"; fi

Windows(PowerShell):

$installed = Get-ItemProperty `
  "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
  "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
  "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" `
  -ErrorAction SilentlyContinue |
  Where-Object { $_.DisplayName -like "*Fiddler Everywhere*" }
if ($installed) { "INSTALLED" } else { "NOT_INSTALLED" }

NOT_INSTALLED の場合は中止し、ユーザーに次のように伝えます。

"Fiddler Everywhere is not installed. Please install it first."


ステップ 2 — プロバイダーを検出する

設定対象のエージェントを特定し、PROVIDER を設定します。

親プロセス名

親プロセスを確認します。

macOS / Linux:

ps -p $PPID -o comm= 2>/dev/null

Windows(PowerShell):

(Get-Process -Id (Get-CimInstance Win32_Process -Filter "ProcessId=$PID").ParentProcessId).Name

出力を既知のプロセス名と照合します。

プロセス名に含まれる文字列プロバイダー値
code, code-helpervscode
cursorcursor
claudeclaude_code
copilotcopilot_cli
codexcodex_cli

明確に一致した場合は、表のプロバイダー値を PROVIDER に設定して、ステップ 3 に進みます。

それでも特定できない場合は、ユーザーに次のように尋ねます。

"Which agent are you setting Fiddler MCP up for? (VS Code / GitHub Copilot, Cursor, Claude Code CLI, GitHub Copilot CLI, or OpenAI Codex CLI)"

ユーザーの回答に基づいて、上の表から PROVIDER を設定します。


ステップ 3 — ポートを検出する

Fiddler Everywhere はデフォルトでポート 8868 をリッスンします。接続可能であることを確認し、以降のすべてのステップで使用する PORT を設定します。

macOS / Linux:

curl -s -o /dev/null -w "%{http_code}" "http://localhost:8868/api/McpManagement/Detect?provider=PROVIDER"

Windows(PowerShell):

curl.exe -s -o NUL -w "%{http_code}" "http://localhost:8868/api/McpManagement/Detect?provider=PROVIDER"
結果操作
いずれかの HTTP レスポンスコードポート 8868 に接続できます。PORT=8868 を設定して、ステップ 4 に進みます。
000(接続拒否)ポート 8868 はリッスンしていません。以下のポート検出スクリプトを実行します。

ポート検出スクリプト:

macOS / Linux:

python3 -c "
import json, glob, os
ports = set()
for f in glob.glob(os.path.expanduser('~/.fiddler/*/Settings/appsettings.json')):
    try:
        p = json.load(open(f)).get('MCPServerSettings', {}).get('Port')
        if p and p != 8868:
            ports.add(p)
    except: pass
print(' '.join(str(p) for p in ports) if ports else 'none')
"

Windows(PowerShell):

$ports = Get-ChildItem "$env:USERPROFILE\.fiddler\*\Settings\appsettings.json" -ErrorAction SilentlyContinue |
  ForEach-Object { (Get-Content $_ | ConvertFrom-Json).MCPServerSettings.Port } |
  Where-Object { $_ -and $_ -ne 8868 } | Select-Object -Unique
Write-Output $(if ($ports) { $ports -join ' ' } else { 'none' })

返された各ポートを確認します。

macOS / Linux:

curl -s -o /dev/null -w "%{http_code}" "http://localhost:PORT/api/McpManagement/Detect?provider=PROVIDER"

Windows(PowerShell):

curl.exe -s -o NUL -w "%{http_code}" "http://localhost:PORT/api/McpManagement/Detect?provider=PROVIDER"

いずれかの HTTP レスポンスが返る最初のポートを PORT に設定します。どのポートからも応答がない場合、Fiddler は起動していません。起動してから、ステップ 3 の最初に戻ってやり直してください。

Fiddler の起動:

macOS:

open -a "Fiddler Everywhere" && sleep 15

Linux:

(nohup fiddler-everywhere &>/dev/null &); sleep 15

Windows: 重要: Windows で現在使用しているターミナルが bash の場合は、専用の GitBash スクリプトを使用してください。

PowerShell

$candidates = @(
  "$env:LOCALAPPDATA\Programs\Fiddler Everywhere\Fiddler Everywhere.exe",
  "C:\Program Files\Fiddler Everywhere\Fiddler Everywhere.exe",
  "C:\Program Files (x86)\Fiddler Everywhere\Fiddler Everywhere.exe"
)
$fiddlerExe = $candidates | Where-Object { Test-Path $_ } | Select-Object -First 1
if ($fiddlerExe) {
  $cmdLine = '"' + $fiddlerExe + '"'
  Invoke-CimMethod -ClassName Win32_Process -MethodName Create -Arguments @{ CommandLine = $cmdLine } | Out-Null
  Start-Sleep 15
}

Git Bash

FIDDLER_EXE=""
for dir in "$LOCALAPPDATA/Programs/Fiddler Everywhere" \
           "/c/Program Files/Fiddler Everywhere" \
           "/c/Program Files (x86)/Fiddler Everywhere"; do
  if [ -f "$dir/Fiddler Everywhere.exe" ]; then
    FIDDLER_EXE="$dir/Fiddler Everywhere.exe"
    break
  fi
done
if [ -n "$FIDDLER_EXE" ]; then
  "$FIDDLER_EXE" &
  sleep 15
fi

重要: 次のステップに進む前に、Fiddler が起動するまで 15 秒待ってください。

再起動しても接続できない場合:

"Fiddler Everywhere is not reachable. Please verify it is running and try again."

以降のすべてのステップで PORT を使用します。


ステップ 4 — 既存の設定を確認する

Detect エンドポイントを呼び出し、このプロバイダーに Fiddler MCP がすでに設定されているか確認します。

macOS / Linux:

curl -s "http://localhost:$PORT/api/McpManagement/Detect?provider=PROVIDER"

Windows(PowerShell):

curl.exe -s "http://localhost:$PORT/api/McpManagement/Detect?provider=PROVIDER"

PROVIDER をステップ 2 の値に置き換えます。

レスポンス操作
設定が存在する/すでに設定済みであることを示すユーザーに「PROVIDER の Fiddler MCP はすでに設定されています。」と伝えます。設定を更新するためにセットアップを再実行するか尋ねます。確認された場合に限り続行します。
未設定であることを示すステップ 5 に進みます。
403中止し、「お使いの Fiddler プランには MCP アクセスが含まれていません。サブスクリプションをアップグレードしてください。」と伝えます。
ユーザーがログインしていない以下のログイン手順に従ってから、ステップ 4 を再試行します。

Login(Fiddler がユーザーはログインしていないと報告した場合)

MCP プロトコルを使用してログインフローを開始します。以下の手順を順番に実行してください。

1. MCP セッションを開き、セッション ID を取得します:

macOS / Linux:

SESSION_ID=$(curl -si -X POST "http://localhost:$PORT/mcp" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"mcp-setup","version":"1.0"}}}' \
  | grep -i "^mcp-session-id:" | awk '{print $2}' | tr -d '\r')
echo "Session ID: $SESSION_ID"

Windows (PowerShell):

$initResp = curl.exe -si -X POST "http://localhost:$PORT/mcp" `
  -H "Content-Type: application/json" `
  -H "Accept: application/json, text/event-stream" `
  -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2024-11-05\",\"capabilities\":{},\"clientInfo\":{\"name\":\"mcp-setup\",\"version\":\"1.0\"}}}'
$SESSION_ID = ($initResp | Select-String "(?i)mcp-session-id:\s*(\S+)").Matches.Groups[1].Value.Trim()
Write-Host "Session ID: $SESSION_ID"

SESSION_ID が空の場合、Fiddler の起動が完了していない可能性があります。数秒待ってから再試行してください。

2. ツール一覧を取得し、initiate_login が利用可能であることを確認します:

macOS / Linux:

curl -s -X POST "http://localhost:$PORT/mcp" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Mcp-Session-Id: $SESSION_ID" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

Windows (PowerShell):

curl.exe -s -X POST "http://localhost:$PORT/mcp" `
  -H "Content-Type: application/json" `
  -H "Accept: application/json, text/event-stream" `
  -H "Mcp-Session-Id: $SESSION_ID" `
  -d '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\",\"params\":{}}'

続行する前に、応答に initiate_login が含まれていることを確認してください。

3. initiate_login を呼び出します:

macOS / Linux:

curl -s -X POST "http://localhost:$PORT/mcp" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Mcp-Session-Id: $SESSION_ID" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"initiate_login","arguments":{}}}'

Windows (PowerShell):

curl.exe -s -X POST "http://localhost:$PORT/mcp" `
  -H "Content-Type: application/json" `
  -H "Accept: application/json, text/event-stream" `
  -H "Mcp-Session-Id: $SESSION_ID" `
  -d '{\"jsonrpc\":\"2.0\",\"id\":3,\"method\":\"tools/call\",\"params\":{\"name\":\"initiate_login\",\"arguments\":{}}}'

ユーザーに次のように伝えてください:

「ブラウザーでログインウィンドウが開きました。サインインを完了したら、お知らせください。」

ユーザーからサインイン完了の確認を受けるまで待ち、その後、このログインフローを開始するきっかけとなった手順を再試行してください。


Step 5 — 自動設定

Configure エンドポイントを呼び出します。Fiddler が API キーを自動的に生成または再利用し、プロバイダーに適した設定ファイルを書き込みます:

macOS / Linux:

curl -s -X POST "http://localhost:$PORT/api/McpManagement/Configure" \
  -H "Content-Type: application/json" \
  -d '{"provider":"PROVIDER"}'

Windows (PowerShell):

curl.exe -s -X POST "http://localhost:$PORT/api/McpManagement/Configure" `
  -H "Content-Type: application/json" `
  -d '{\"provider\":\"PROVIDER\"}'

PROVIDER を Step 2 の値に置き換えてください。

応答対応
成功 / 2xx設定が書き込まれました。Step 6 に進んでください。
403中止して、次のように伝えてください:「お使いの Fiddler プランには MCP アクセスが含まれていません。サブスクリプションをアップグレードしてください。」
ユーザーがログインしていないStep 4 の Login 手順に従ってから、Step 5 を再試行してください。
その他のエラー応答を記録し、Fiddler が正常に実行されているか確認するようユーザーに依頼してください。

Step 6 — 成功の確認

ユーザーに次のように伝えてください:

「Fiddler MCP が PROVIDER 用に設定されました。新しい設定を反映するためにエージェントを再起動(VS Code ウィンドウを再読み込み、Cursor を再起動するなど)してから、Fiddler ツールをお試しください。」

コメント