fiddler-mcp-setup について
fiddler-mcp-setupは、対応するエージェントツール向けにFiddler EverywhereのMCPサーバーを設定する手順スキルです。インストールと接続を確認し、プロバイダーを特定して、FiddlerのローカルAPI経由でログインと設定を案内します。
主な機能
- 01Fiddlerのインストールと到達性の確認
- 02エージェントプロバイダーの特定
- 03MCPサーバーのポート検出
- 04既存プロバイダー設定の確認
- 05必要に応じたログイン開始
- 06プロバイダーの自動設定
活用シーン
- 01エージェント向けFiddler MCPの設定
- 02デフォルト以外のローカルポートの検出
- 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-helper | vscode |
cursor | cursor |
claude | claude_code |
copilot | copilot_cli |
codex | codex_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 ツールをお試しください。」