Claude Media
ClaudeとJamを連携する方法 — 録画のログからバグ修正まで進める

ClaudeとJamを連携する方法 — 録画のログからバグ修正まで進める

Jamの録画に残った操作履歴・コンソールログ・ネットワークをClaudeに読ませ、原因の特定から修正案までを進める手順です。接続方法、ツールの使う順番、権限の絞り方を扱います。

Claude Jam連携とは — 録画の中身がそのまま会話に入る

Claude Jam連携とは、バグ報告ツールJamのMCPサーバー(https://mcp.jam.dev/mcp)をClaudeにつなぎ、Jamの録画に紐づく動画・操作履歴・コンソールログ・ネットワークリクエストをClaudeが直接読めるようにする仕組みです。Jamのリンクを貼るだけで、再現手順の聞き取りやスタックトレースのコピーが要らなくなります。

Jamは、Chrome拡張機能で画面と声を録画すると、コンソールログ、ネットワークリクエスト、ユーザーイベント、任意のメタデータを自動で一緒に保存するツールです。MCPはその保存済みの文脈を、Claude、Cursor、VS Code、Windsurfといったクライアントへ流す口にあたります。

この記事は、録画からバグ修正までを実際に回す順番に沿って書いています。MCPの接続自体が初めてなら、ClaudeでMCPを使う手順を先に見ておくと用語で迷いません。

接続前に用意するもの

用意するのは、Jamの録画1本とJamのワークスペースへのログインだけです。

  • Jamの録画: Chrome拡張機能で録画するか、すでに共有されたJamのリンクを使う。拡張機能は、自分で録画するときにだけ要る
  • Jamへのサインイン: コネクタの追加時にJamへサインインし、ワークスペースへのアクセスを許可する
  • 見える範囲の権限: MCPはJam上の既存の権限をそのまま映す。ウェブ版やモバイル版のJamで見えないものは、MCP経由でも見えない

3つ目は見落としやすい点です。Claudeに読ませたいJamが「自分のワークスペースに無い」場合、MCPを設定し直しても解決しません。リンクを共有してもらうか、ワークスペースに招待してもらう側の問題になります。

Claudeに接続する2つの方法

接続口は2つあります。ブラウザで操作するコネクタ型と、トークンを貼るコマンド型です。

claude.aiとDesktopではコネクタを追加する

Claudeのコネクタ一覧にあるJamは「Anthropic verified」の表示があり、サインインが必須です。接続先URLはhttps://mcp.jam.dev/mcp、カテゴリは開発者ツールになっています。同じくMCPサーバーの管理系ツールを会話から操作する例は、Mintlifyの連携手順にあります。

追加すると、Jamへのサインインとワークスペースの許可を求められます。許可後は、チャットにJamのリンクを貼って頼むだけで動きます。

コネクタ一覧の注意書きには、信頼できる開発元のコネクタだけを使うよう書かれています。Anthropicは各コネクタが提供するツールを管理しておらず、後から変わる可能性もあるためです。Jamの場合は、次の節で見るとおりツールの一覧自体が2つのページで食い違っています。

Claude Codeではトークン付きでサーバーを追加する

Claude Codeで使うなら、Jamの設定画面で発行した個人アクセストークン(PAT)をヘッダーに載せる方法が、Jamのドキュメントに載っています。ブラウザでの認可画面を挟まないので、ヘッドレス環境やCIにも向く方式です。

claude mcp add Jam https://mcp.jam.dev/mcp \
  -t http \
  -s user \
  --header "Authorization: Bearer jam_pat_..."

トークンの作り方は次のとおりです。

手順

個人アクセストークンを発行する流れ

  1. 1

    設定画面を開く

    Jamの「Settings → MCP」を開き、Personal Access Tokensの欄で「Create token」を押します。

  2. 2

    名前・期限・スコープを決める

    名前は「Claude Code」のようにクライアントが分かるものにします。期限は7日・30日・90日・1年から選びます。スコープはmcp:readとmcp:writeのどちらか、または両方です。

  3. 3

    作成直後にコピーする

    トークンはjam_pat_で始まる文字列です。Jamはハッシュしか保存しないため、作成後に再表示できません。

mcp:readはJamの詳細・ログ・イベント・ネットワークリクエストの閲覧、mcp:writeはJamのフォルダ移動とコメント追加に対応します。バグ修正のためだけに読ませるなら、mcp:readだけで足ります。

録画をバグ修正まで回す順番

Jamの例では、バグ分析の依頼は「このJamを見て問題を分析し、既存のコードベースと突き合わせて、実装の計画を詳しく用意して」という1文です。計画を先に出させてから編集に進む流れを、Jamのドキュメントも勧めています。

実際に回すときは、ツールを呼ぶ順番を決めておくと文脈を食いません。Claude Codeなら、次のような手順をCLAUDE.mdに書いておく手があります。以下は例示です。

## Jamのバグ報告を扱うとき
1. getDetails で概要を取り、種別(動画かスクリーンショットか)を確かめる
2. getUserEvents で操作の流れを読み、再現手順を3行以内にまとめる
3. getConsoleLogs は logLevel を error に絞る
4. getNetworkRequests は statusCode を絞り、失敗したリクエストだけ見る
5. 画面表示が絡むときだけ getFrames の overview を呼ぶ
6. 原因の仮説とコードの該当箇所を出し、承認を得てから編集する
7. 修正後は addResource でPRのURLをJamに付け、コメントは1件にまとめる

ツールの絞り込みは、Jamのドキュメントにある引数が根拠になっています。

  • getConsoleLogsはlogLevel・limit・after(ページカーソル)で絞れる
  • getNetworkRequestsはstatusCode・contentType・host・method・limit・afterで絞れ、bodiesは既定でエラーのみ(allで全件)
  • getFramesはoverview: trueで録画全体を1枚のグリッドにでき、フレーム数は動画の長さに応じて6〜16枚

画面の崩れのような見た目のバグは、ログだけでは追えません。そのため最初にgetFramesのoverviewで全体を眺め、気になる時刻だけatにミリ秒を渡して拡大する順番が効率的です。sizeはsmall・medium・largeで、既定はmediumです。コンテキストが苦しければsmallに落とします。

getFramesはCloudflare Streamに置かれた動画のJamでしか動きません。スクリーンショットのJamや、まだCloudflareに移っていない動画では、画像の代わりに理由を述べた短い文が返ります。

複数のJamは1件ずつ渡す

複数のリンクを一度に貼ることはできますが、1回に1件を勧めています。コンテキストウィンドウの上限に当たりやすいためです。サポート問い合わせの束を片付けるなら、searchJamsで候補を絞ってから1件ずつ処理させます。

searchJamsはタイトル・説明・コメント・リンク済みの課題・文字起こしを横断検索でき、ページのURL(たとえば/checkout)、録画の入口(拡張機能、Mac、iOS、録画リンクなど)、課題キー(JIRA-123)、国・ブラウザ・OSといった環境、期間で絞り込めます。

ツールの種類と、書き込みが起きる場所

Jamのドキュメントが載せるツールは、役割で5つに分かれます。

種類代表的なツール状態を変えるか
読む(9個)代表的なツールgetDetails・getConsoleLogs・getNetworkRequests・getUserEvents・getFrames ほか状態を変えるか変えない
検索・一覧(3個)代表的なツールsearchJams・listMembers・listFolders状態を変えるか変えない
コメント・リアクション(5個)代表的なツールcreateComment・editComment・deleteComment ほか状態を変えるかコメントを書き換える
整理(9個)代表的なツールupdateJam・addResource・markRelated・deleteJam・deleteFolder ほか状態を変えるかJamやフォルダを変える
録画リンク(8個)代表的なツールcreateRecordingLink・deleteRecordingLink ほか状態を変えるかリンクを作る・失効させる

バグ修正の用途で要るのは、ほとんど読む側です。書き込みで便利なのはcreateCommentとaddResourceくらいで、Jamは、原因を見つけたとき・直したときに1件だけコメントし、Jamの作成者にメンションするようエージェントへ求めています。エージェントのコメントには「Claude Code」などの名前ラベルが付くので、人間のコメントと見分けられます。

危ないのは整理の列です。deleteJamは一覧と検索から消え、元に戻す方法がありません。deleteFolderはフォルダ内のJamごと消し、これも復元できません。

コネクタ一覧とドキュメントでツールの数が違う

見落としやすい食い違いがあります。コネクタ一覧のJamのページが挙げるツールはgetDetails・getConsoleLogs・getNetworkRequests・getScreenshot・getUserEvents・analyzeVideoの6つです。一方、Jamのドキュメントには上の表のようにもっと多くのツールが並び、getScreenshotはgetScreenshots、analyzeVideoに当たるものはgetVideoTranscript・getVideoChapters・getFramesという名前です。

どちらが現行のサーバーの実態かは、2つのページを見比べても決まりません。接続後に/mcpでツール一覧を開き、実際に露出しているツール名を確かめてから、権限ルールを書くのが確実です。

権限を絞る

権限は3か所で絞れます。

Jam側のトークン: PATのスコープをmcp:readだけにします。ただしmcp:writeの説明は「フォルダ移動とコメント追加」とだけ書かれており、deleteJamなどの削除系がどのスコープに入るのかはページに記載がありません。削除を許したくないなら、スコープに頼り切らず次の層も入れます。

Claude Code側のdenyルール: ツールはmcp__<サーバー名>__<ツール名>の形で指定できます。サーバーをJamの名前で追加したなら、削除系を拒否する設定は次のようになります。

{
  "permissions": {
    "deny": [
      "mcp__Jam__deleteJam",
      "mcp__Jam__deleteFolder",
      "mcp__Jam__deleteRecordingLink"
    ]
  }
}

サーバーの追加構文やスコープの詳細はclaude mcp addの設定ガイドにまとめています。名前に.や空白があるサーバーでは、その文字が_に置き換わる点に注意してください。

Jam側の閲覧権限: MCPは既存のJamの権限を映すだけで、新しい権限は与えません。管理者向けの制御は、メンバーとロールの設定かSSOで行います。

トークンの扱いでも、Jamは次の運用を挙げています。

  • 有効期限は用途に合う最短にする
  • スコープは必要なものだけにする
  • トークンをバージョン管理にコミットしない
  • クライアントごとに1本ずつ発行し、個別に取り消せるようにする
  • 漏れた疑いがあれば直ちに取り消す。取り消しは元に戻せず、そのトークンを使うクライアントは即座に失効する

接続済みのツールは、Jamの「Settings → MCP」で一覧でき、そこから接続を解除できます。

うまくいかないときの切り分け

切り分け

Claudeが録画の内容を読めないとき

  1. QJamのリンクはワークスペースで自分に見えているか?
    答えがいいえのとき

    リンクの共有を受けるか、ワークスペースへの招待を頼みます。MCPは新しい権限を与えません。

    答えがはい
  2. Q動画のJamで、文字起こしや画像のツールだけ使えないか?
    答えがはいのとき

    Instant Replay形式なら仕様どおりです。ログやネットワークの取得は使えます。

    答えがはい
  3. QgetFramesが画像でなく説明文を返していないか?
    答えがはいのとき

    スクリーンショットのJam、またはCloudflareに未移行の動画です。getScreenshotsや他のツールに切り替えます。

    答えがはい

ログとネットワークから先に読む

画面を見られなくても、getUserEvents・getConsoleLogs・getNetworkRequestsだけで原因に届くバグは多くあります。

録画データの行き先

Jamの一部のMCPツールはGoogleのGeminiを使います。JamはGeminiの学習利用を拒否しており、処理前に内容の匿名化を行うとしています。

録画に写るデータへの備えも、Jam側にあります。画面録画は機微な内容を自動でぼかし、ネットワークリクエストでは認可ヘッダーやトークンを伏せます。ただし、これらは録画の保存時の処理です。Claudeへ渡る内容に何が残るかは、録画ごとにgetNetworkRequestsの出力を確かめて判断します。

Jamの保存データは、Google Cloud Platform(米国中部)でAES-256により暗号化されます。Jamは使われなくても失効せず、削除されるか、所属するワークスペースが消えるまで残ります。

まとめ

Jamの録画は、Claudeにとって再現手順の説明を省ける素材です。最小の構成は、mcp:readのトークン、ログを絞って呼ぶ手順、計画を承認してから編集するルールの3つで、書き込みと削除のツールは、必要になるまで閉じておけます。

接続後にまずやることは1つだけです。/mcpでツール名を確かめ、削除系をdenyに入れてから、手元の古いバグ報告のJamを1件渡してみてください。

参照した一次ソース

この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。

  1. jam.dev/docs/debug-a-jam/mcp
  2. claude.com/marketplace/connectors/jam
  3. jam.dev/docs/personal-access-tokens
  4. jam.dev/docs/security
  5. code.claude.com/docs/en/permissions
この記事を共有:XはてブLinkedIn