mcpField
F
fiddler-download-setup

fiddler-download-setup

github.com/telerik開発1253 回インストール12 週間前に更新
リポジトリ

fiddler-download-setup について

fiddler-download-setup は、Fiddler Everywhere のダウンロード、インストール、起動を案内するスキルで、新規導入や更新を行うユーザー向けです。OSやバージョンを確認し、完了後にMCP設定の手順を案内します。

主な機能

  1. 01インストール状況とバージョンの確認
  2. 02OSとアーキテクチャの検出
  3. 03マニフェストから最新バージョンを取得
  4. 04アプリのダウンロードとインストール
  5. 05Fiddler Everywhere の起動
  6. 06MCP設定への次の手順を案内

活用シーン

  1. 01端末への Fiddler Everywhere の導入
  2. 02既存インストールの更新要否の確認
  3. 03OSに応じたダウンロードとインストール
  4. 04導入後の Fiddler MCP 接続設定

MCP 対応

このスキル自体はMCPサーバーを提供しません。Fiddler Everywhere のインストールと起動後、Fiddler MCP サーバー接続の設定を案内します。承諾された場合、fiddler-mcp-setup スキルを呼び出します。

インストール

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

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

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

詳細

Fiddler のダウンロードとセットアップ

Fiddler Everywhere のダウンロード、インストール、起動をユーザーに案内します。

実行ルール

  1. このスキルはシェルを優先します。Fiddler はまだインストールされていないため、MCP ツールは利用できません。
  2. ダウンロード URL を作成する前に、マニフェストから現在のバージョンを確認してください。 バージョン番号をハードコードしないでください。
  3. Windows の場合 — 起動中のターミナルを検出します。PowerShell ではない場合に限り、スクリプトを powershell.exe -Command 'script' でラップして実行します。スクリプトはシングルクォートで囲んでください!

フェーズ 1 — Fiddler がすでにインストールされているか確認する

ダウンロードする前に、Fiddler Everywhere がすでにインストールされているか確認してください。 インストールされている場合は、インストール済みのバージョンも読み取り、最新のリリースと比較してください。アプリがインストールされていない場合、またはアップデートが利用可能でユーザーがアップグレードを希望する場合に限り、フェーズ 2 に進んでください。

macOS — 検出とバージョン確認
if [ -d "/Applications/Fiddler Everywhere.app" ]; then
  INSTALLED_VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" \
    "/Applications/Fiddler Everywhere.app/Contents/Info.plist" 2>/dev/null)
  echo "INSTALLED: $INSTALLED_VERSION"
else
  echo "NOT_INSTALLED"
fi

INSTALLED の場合、検出されたアーキテクチャに対応する最新バージョンを取得して比較します。

ARCH=$(uname -m)
if [ "$ARCH" = "arm64" ]; then
  MANIFEST_URL="https://downloads.getfiddler.com/mac-arm64/latest-mac.yml"
else
  MANIFEST_URL="https://downloads.getfiddler.com/mac/latest-mac.yml"
fi
LATEST_VERSION=$(curl -s "$MANIFEST_URL" | grep '^version:' | awk '{print $2}')
echo "Installed: $INSTALLED_VERSION  |  Latest: $LATEST_VERSION"
if [ "$INSTALLED_VERSION" = "$LATEST_VERSION" ]; then
  echo "UP_TO_DATE"
else
  echo "UPDATE_AVAILABLE"
fi
Linux — 検出とバージョン確認
APPIMAGE=$(ls ~/Downloads/fiddler-everywhere-*.AppImage 2>/dev/null | sort -V | tail -1)
if command -v fiddler-everywhere &>/dev/null || [ -n "$APPIMAGE" ]; then
  # Extract version from AppImage filename as the most reliable source
  INSTALLED_VERSION=$(echo "$APPIMAGE" | grep -oP '[\d]+\.[\d]+\.[\d]+')
  echo "INSTALLED: $INSTALLED_VERSION"
  LATEST_VERSION=$(curl -s "https://downloads.getfiddler.com/linux/latest-linux.yml" \
    | grep '^version:' | awk '{print $2}')
  echo "Installed: $INSTALLED_VERSION  |  Latest: $LATEST_VERSION"
  if [ "$INSTALLED_VERSION" = "$LATEST_VERSION" ]; then
    echo "UP_TO_DATE"
  else
    echo "UPDATE_AVAILABLE"
  fi
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) {
  $installedVersion = $installed.DisplayVersion
  Write-Host "INSTALLED: $installedVersion"

  $manifest = Invoke-WebRequest "https://downloads.getfiddler.com/win/latest.yml" -UseBasicParsing
  $text = [System.Text.Encoding]::UTF8.GetString($manifest.RawContentStream.ToArray())
  $latestVersion = ($text | Select-String '(?m)^version:\s*(.+)').Matches.Groups[1].Value.Trim()
  Write-Host "Installed: $installedVersion  |  Latest: $latestVersion"

  if ($installedVersion -eq $latestVersion) { "UP_TO_DATE" } else { "UPDATE_AVAILABLE" }
} else {
  "NOT_INSTALLED"
}

結果の解釈:

  • NOT_INSTALLED — フェーズ 2 に進み、ダウンロードしてインストールします。
  • UP_TO_DATE — Fiddler Everywhere がすでに最新バージョンであることをユーザーに伝え、このスキルの以降の実行を停止します。
  • UPDATE_AVAILABLE — インストール済みのバージョンと最新バージョンをユーザーに伝え、アップグレードするかどうかを尋ねます。希望する場合はフェーズ 2 に進みます(新しいインストーラーが既存のものを置き換えます)。希望しない場合は停止します。

フェーズ 2 — OS を検出してバージョンを確認する

2 つのコマンドをまとめて実行します。マニフェストの確認でネットワークアクセスも確認できます。

uname -s && uname -m
VERSION=$(curl -s "https://downloads.getfiddler.com/mac-arm64/latest-mac.yml" \
  | grep '^version:' | awk '{print $2}')
echo "Latest Fiddler Everywhere: $VERSION"

Windows(PowerShell)の場合:

$env:PROCESSOR_ARCHITECTURE   # AMD64 or ARM64
$manifest = Invoke-WebRequest "https://downloads.getfiddler.com/win/latest.yml" -UseBasicParsing
$text = [System.Text.Encoding]::UTF8.GetString($manifest.RawContentStream.ToArray())
$VERSION = ($text | Select-String '(?m)^version:\s*(.+)').Matches.Groups[1].Value.Trim()
Write-Host "Latest Fiddler Everywhere: $VERSION"
uname -suname -mプラットフォーム
Darwinarm64macOS Apple Silicon
Darwinx86_64macOS Intel
Linux任意Linux
——Windows — 上記の PowerShell の手順を使用

フェーズ 3 — ダウンロード

フェーズ 2 で確認した $VERSION を使って、バージョンを指定した直接 URL を作成します。 macOS では .pkg 形式を推奨します。

macOS
# Apple Silicon (arm64)
curl -L \
  "https://agent-downloads.getfiddler.com/mac-arm64/Fiddler%20Everywhere%20${VERSION}.pkg" \
  -o ~/Downloads/FiddlerEverywhere.pkg

# Intel (x86_64)
curl -L \
  "https://agent-downloads.getfiddler.com/mac/Fiddler%20Everywhere%20${VERSION}.pkg" \
  -o ~/Downloads/FiddlerEverywhere.pkg
Linux
VERSION=$(curl -s "https://downloads.getfiddler.com/linux/latest-linux.yml" \
  | grep '^version:' | awk '{print $2}')
curl -L \
  "https://agent-downloads.getfiddler.com/linux/fiddler-everywhere-${VERSION}.AppImage" \
  -o ~/Downloads/FiddlerEverywhere.AppImage
Windows(PowerShell)
Invoke-WebRequest `
  "https://agent-downloads.getfiddler.com/win/Fiddler%20Everywhere%20$VERSION.exe" `
  -OutFile "$env:USERPROFILE\Downloads\FiddlerEverywhere.exe"

フェーズ 4 — インストール

macOS — PKG(ヘッドレス、ウィザードなし)

sudo installer を直接使用しないでください。エージェントの非表示のシェル内では、ユーザーが入力できないパスワードプロンプトで sudo が停止するためです。代わりに osascript を使用してください。画面上にユーザーが確認できる、macOS 標準の認証ダイアログが表示されます。

do shell script with administrator privileges は root として実行されるため、macOS のサンドボックス制限により ~/Downloads にアクセスできません。まずパッケージを /tmp にコピーして(全ユーザーが読み取り可能)、そこからインストールしてください。

bash ツールの呼び出しで、次の 2 つのコマンドを実行します。

cp ~/Downloads/FiddlerEverywhere.pkg /tmp/FiddlerEverywhere.pkg

次のコマンドを実行する前に、次のように伝えてください。

「画面に macOS のパスワードダイアログが表示されます。ログインパスワードを入力してインストールを許可してください。その後、自動的に続行します。」

osascript -e 'do shell script "installer -pkg /tmp/FiddlerEverywhere.pkg -target /" with administrator privileges'

osascript は、ユーザーがダイアログを承認し、インストールが完了するまで待機します。終了コード 0 で終了したら、後片付けを行います。

rm /tmp/FiddlerEverywhere.pkg
macOS — DMG(ユーザーがドラッグ&ドロップを希望する場合)
hdiutil attach ~/Downloads/FiddlerEverywhere.dmg -nobrowse
cp -R "/Volumes/Fiddler Everywhere/Fiddler Everywhere.app" /Applications/
hdiutil detach "/Volumes/Fiddler Everywhere"
Linux
chmod +x ~/Downloads/FiddlerEverywhere.AppImage
~/Downloads/FiddlerEverywhere.AppImage &
Windows — サイレントインストール
Start-Process "$env:USERPROFILE\Downloads\FiddlerEverywhere.exe" -ArgumentList "/S" -Wait

Fiddler の起動:

macOS:

open -a "Fiddler Everywhere" && sleep 15

Linux:

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

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

フェーズ 5 — MCP のセットアップを提案する

Fiddler Everywhere のインストールと起動が完了したら、Fiddler MCP サーバーへの接続を設定できる自動 MCP セットアップスキルがあることをユーザーに伝えます。

次のメッセージを表示します。

Fiddler Everywhere がインストールされ、実行中です。

AI エージェント向けに Fiddler MCP サーバーへの接続を設定できる、自動 MCP セットアップスキルがあります。これにより、エージェントのツールがエディター内から Fiddler と直接連携し、トラフィックのキャプチャ、セッションの検査、ルールの作成などを行えるようになります。

MCP を自動設定しますか?

質問ツールを使って、ユーザーが次から選択できるようにします。

  • はい、MCP を自動設定する(推奨)
  • いいえ、後で手動で設定する
ユーザーが同意した場合

リモートの場所から fiddler-mcp-setup スキルをインストールして、実行します。

リモートスキルの URL: https://github.com/telerik/fiddler-agent-tools/tree/master/skills/fiddler-mcp-setup

fiddler-mcp-setup スキルの手順に従い、MCP の設定を最初から最後まで完了します。

ユーザーが辞退した場合

了解したことを伝え、MCP セットアップスキルはいつでも後からダウンロードできることを知らせます。

トラブルシューティング

問題解決策
macOS のパスワードダイアログがキャンセルされた/インストールが中断されたosascript コマンドを再実行します。/tmp に pkg が残っています
hdiutil: attach failedファイルが完全にダウンロードされていない可能性があります。curl コマンドを再実行します
Windows の EXE が SmartScreen にブロックされた右クリックして → 管理者として実行
macOS でアプリが開かないxattr -cr "/Applications/Fiddler Everywhere.app" を実行して、隔離属性を解除します

コメント