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
設定画面を開く
Jamの「Settings → MCP」を開き、Personal Access Tokensの欄で「Create token」を押します。
- 2
名前・期限・スコープを決める
名前は「Claude Code」のようにクライアントが分かるものにします。期限は7日・30日・90日・1年から選びます。スコープは
mcp:readとmcp:writeのどちらか、または両方です。 - 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が録画の内容を読めないとき
- QJamのリンクはワークスペースで自分に見えているか?答えがいいえのとき答えがはい
リンクの共有を受けるか、ワークスペースへの招待を頼みます。MCPは新しい権限を与えません。
- Q動画のJamで、文字起こしや画像のツールだけ使えないか?答えがはいのとき答えがはい
Instant Replay形式なら仕様どおりです。ログやネットワークの取得は使えます。
- 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件渡してみてください。
参照した一次ソース
この記事の記述は、次の一次ソースと照合しています。更新時に参照先が変わった場合は一覧も更新します。