Claude Media
Claude CodeでGitKrakenプラグインを使いGitHub・GitLabを横断する

Claude CodeでGitKrakenプラグインを使いGitHub・GitLabを横断する

GitKrakenプラグインはGitHub・GitLab・Azure DevOps・Bitbucket・Jiraのコミット、PR、課題をClaude Codeから引きます。入れ方、認証、18個のツール、横断の限界と権限設定をまとめます。

GitKrakenプラグインは、Claude Codeに「いま開いているファイル」ではなく、リポジトリの履歴・プルリクエスト・課題そのものを見せるプラグインです。GitHub、GitLab、Azure DevOps、Bitbucket、Jiraを対象にしており、中身はGitKrakenのMCPサーバーです。

入れるだけで使えるわけではありません。手動で足す場合はGitKraken CLIのgkが前提で、認証も要ります。横断をうたう一方、ツールごとに対応するサービスが違う点もあります。この記事では、入れ方から権限の絞り方までを順に扱います。

GitKrakenプラグインでClaudeに渡るもの

マーケットプレイスの説明によると、プラグインはClaudeをコミット、ブランチ、プルリクエスト、課題というGitとプロジェクト管理の文脈につなぎます。対象はGitHub、GitLab、Azure DevOps、Bitbucket、Jiraです。提供元はGitKraken Desktop、GitLens、GitKraken CLIを作るGitKrakenで、プラグインの実体は「GitKraken MCP server」と書かれています。

つまりClaudeに渡るのは、次の3種類の情報です。

  • ローカルのGit操作(ステータス、ログ、差分、blame、ブランチ、stash、worktree、commit、push)
  • プルリクエストと課題(自分に割り当てられたもの、詳細、コメント、レビュー)
  • リポジトリ上のファイル内容

マーケットプレイスが挙げる試し方の例は、次のとおりです。

  • 「Show me issues assigned to me」
  • 「Show me pull requests in progress」
  • 「Who last modified this file?」
  • 「Summarize recent commits on the main branch」
  • 「What's the status of my open pull requests across all repos?」

最後の例が「横断」の中心です。複数のホスティングサービスに散らばったPRを、1つの問いで引けます。

入れ方は2通り: プラグインか、gk mcpの手動追加

Claude Codeには2つの入れ方があります。

手順

GitKrakenを使い始めるまで

  1. 1

    プラグインを入れる

    マーケットプレイスのページにある「Claude Code」ボタンで、インストールコマンドをコピーできます。Claude Codeのプラグイン解説では、このボタンがシェル形式のclaude plugin install <name>@<marketplace>をコピーすると説明されています。セッション内なら/plugin installを使います。

  2. 2

    gk CLIを認証する

    提供元のドキュメントは、Claude Codeを含むCLI系の手順の前提に「GitKraken CLIがインストール済みで認証済みであること」を挙げています。認証コマンドはgk auth loginです。

  3. 3

    読み込みと接続を確かめる

    プラグインは次回起動か/reload-pluginsで読み込まれます。MCPサーバーの接続は/mcpかclaude mcp listで見ます。

プラグインを使わず、MCPサーバーを直接足すこともできます。提供元のドキュメントが示すClaude Code向けの手順は次の2行です。

gk auth login
claude mcp add -t stdio gitkraken gk mcp
claude mcp list

Claude Codeのdocsは、stdioサーバーを足すときに--で自分のオプションとサーバーのコマンドを区切る書き方を示しています。gk mcpのようにサブコマンドを持つ場合に迷うなら、次の形でも同じ意味になります。

claude mcp add --transport stdio gitkraken -- gk mcp

VS CodeやCursorなどVS Code系のIDEでは経路が違います。GitLens 17.5以降(VS Code 1.101.0以降)にMCPサーバーが同梱されていて、多くの場合はGitLensを更新するだけで入ります。Claude Desktop、JetBrains IntelliJ、Amazon Q Developer、Kiro、Google AntigravityはGitKraken CLI経由の設定が案内されています。Claude CodeはCLI経由の表に入っています。

プラグインと手動追加のどちらを選ぶか

どちらも動かすのは同じgk mcpの想定です。違いは、導入の手間と、ツール名に出る接頭辞です。

観点プラグインclaude mcp addで手動
入れ方プラグイン/plugin installまたはclaude plugin installclaude mcp addで手動claude mcp add -t stdio gitkraken gk mcp
ツール名プラグインmcp__plugin_gitkraken_<サーバー名>__<ツール名>claude mcp addで手動mcp__gitkraken__<ツール名>
向く場面プラグインチームでプラグインとして配りたいときclaude mcp addで手動名前を固定して権限ルールを書きたいとき

プラグイン同梱のMCPサーバーでは、ツール名にプラグイン名とサーバー名が入ります。サーバー名の部分はプラグイン側の定義で決まるため、実際の名前は/mcpの画面で確かめてください。

gk auth loginが要る理由と、つまずきどころ

提供元のドキュメントでは、Claude Codeへの手動追加の前提が「gk auth loginでGitKrakenアカウントに認証すること」です。認証先はGitHubやGitLabのトークンではなく、GitKrakenアカウントです。GitHubやGitLabなど各サービスへの接続をGitKraken側でどう設定するかは、このドキュメントの手順には載っていません。

プラグインのページには、認証手順の記載がありません。接続できないときは、次の順で切り分けます。

切り分け

GitKrakenが応答しないときの切り分け

  1. Qターミナルで gk --version が動くか?
    答えがいいえのとき

    GitKraken CLIが入っていません。先にCLIをインストールします。

    答えがはい
  2. Qgk auth login を済ませたか?
    答えがいいえのとき

    認証前です。gk auth loginを実行してから、Claude Codeを起動し直します。

    答えがはい
  3. Q/mcp にGitKrakenが出て接続済みか?
    答えがいいえのとき

    プラグインなら/reload-plugins、手動追加ならclaude mcp listで登録を確かめます。

    答えがはい

ツールの承認要求が出る

提供元の確認方法は「What issues are assigned to me?」と聞くことです。動いていれば、issues_assigned_to_meツールの承認要求が出ます。

18個のツールでできること

提供元のMCP-docsリポジトリにあるtools.jsonには、18個のツールが並んでいます。役割ごとに分けると次のとおりです。

区分ツール内容
ローカルGitツールgit_status / git_log_or_diff / git_blame内容状態、ログと差分、行ごとの最終変更者
ローカルGitツールgit_branch / git_checkout / git_stash / git_worktree内容ブランチ、切り替え、退避、worktree
ローカルGitツールgit_add_or_commit / git_push内容ステージ、コミット、プッシュ
課題ツールissues_assigned_to_me / issues_get_detail / issues_add_comment内容自分の課題、詳細、コメント追加
PRツールpull_request_assigned_to_me / pull_request_get_detail / pull_request_get_comments / pull_request_create_review内容自分のPR、詳細、コメント、レビュー
その他ツールrepository_get_file_content / gitkraken_workspace_list内容ファイル内容、GitKrakenのワークスペース一覧

ここで目を引くのは、読むだけのツールと書き込みのツールが同じサーバーに同居していることです。git_add_or_commit、git_push、issues_add_comment、pull_request_create_reviewは、リポジトリや課題の状態を変えます。pull_request_create_reviewにはapproveという真偽値の引数があり、承認までできる形です。

「横断」の実際: ツールごとに対応サービスが違う

マーケットプレイスの説明は、5つのサービスを一括りに挙げています。ただしtools.jsonの引数を見ると、ツールごとに対応範囲が違います。

ツール引数から読める条件
issues_assigned_to_me引数から読める条件providerが必須で、選べる値はgithubとjiraの2つ
pull_request_assigned_to_me引数から読める条件repository_nameとrepository_organizationの説明に「Azure DevOpsとBitbucketでは必須」
pull_request_get_detail引数から読める条件pull_request_filesの説明に「Azure DevOpsは非対応」
pull_request_create_review引数から読める条件repository_nameの説明に「Azure DevOpsとBitbucketでは必須」

課題の取得は、引数の選択肢がGitHubとJiraだけです。GitLabの課題を同じツールで引けるかは、この定義からは読み取れません。GitLabを使うチームは、PRを引く系のツールと、課題を引く系のツールで分けて試すのが確実です。

プロンプトの書き方にも効きます。Azure DevOpsやBitbucketのPRを頼むときは、リポジトリ名と組織名を文に入れておくと、ツール呼び出しの引数が埋まりやすくなります。

横断とは、「1つのサーバーが複数サービスを話せる」ことを指します。「すべての操作が全サービスで同じように動く」ことではありません。

Claude Code側で決めておくこと

GitKrakenのサーバーはGit操作の書き込みも持つので、Claude Code側の権限で線を引いておくと安全です。ここは提供元のドキュメントにない、Claude Code側の設計です。

Claude Codeの権限ルールは、mcp__<サーバー名>__<ツール名>の形でMCPツールを指定できます。手動追加でgitkrakenと名付けた場合の例は次のとおりです。

{
  "permissions": {
    "allow": [
      "mcp__gitkraken__git_status",
      "mcp__gitkraken__git_log_or_diff",
      "mcp__gitkraken__git_blame",
      "mcp__gitkraken__issues_assigned_to_me",
      "mcp__gitkraken__pull_request_assigned_to_me",
      "mcp__gitkraken__pull_request_get_detail",
      "mcp__gitkraken__pull_request_get_comments"
    ],
    "ask": [
      "mcp__gitkraken__git_add_or_commit",
      "mcp__gitkraken__git_push",
      "mcp__gitkraken__issues_add_comment",
      "mcp__gitkraken__pull_request_create_review"
    ]
  }
}

読むだけのツールは自動で通し、状態を変えるツールは毎回確認に回す構成です。ルールの文法は、Claude Codeの権限ドキュメントに従っています。

  • サーバー全体はmcp__<サーバー>__*で指定できます
  • プラグインが提供するサーバーは、サーバー部分がplugin_<プラグイン名>_<サーバー名>の形になります
  • allowルールのワイルドカードは、mcp__<サーバー>__の接頭辞より後ろにしか書けません

プラグインで入れた場合は、/mcpで確かめた実際のサーバー名を使って、同じ形に書き直します。

CLAUDE.mdに書く運用ルール

ツールを渡しただけでは、Claudeはどの経路で問い合わせるかを毎回決め直します。CLAUDE.mdに短い方針を置くと、ぶれが減ります。

## GitKrakenの使い方
- PRや課題の状況確認はGitKrakenのツールを使い、`gh`コマンドは使わない
- Azure DevOpsとBitbucketのPRを頼むときは、リポジトリ名と組織名を確認してから呼ぶ
- コミット、プッシュ、PRレビュー、課題へのコメントは、実行前に内容を提示して承認を待つ

ローカルのGit操作は、Bashでのgitコマンドでも同じことができます。GitKrakenを使う意味は、ホスティングサービスをまたいで同じ口で引ける点にあります。ローカルの履歴だけを見るなら、MCPを挟まずBashのままで足ります。

使う前に確認しておきたいこと

マーケットプレイスのページには、プラグインのインストール数が98と表示されています。まだ導入例の多くないプラグインなので、導入前に次の点を手元で確かめておくと安心です。

  • claude mcp listか/mcpで、GitKrakenが接続済みと表示されるか
  • 最初のプロンプトで、承認要求に出るツール名が想定どおりか
  • GitHub以外(GitLab、Azure DevOps、Bitbucket)で、使いたい問い合わせが実際に通るか

Claude Desktopの側でGitLabを扱うときの症状はClaude DesktopでGitLabのMRが紐付かない原因と回避策にまとめています。GitHub側の公式プラグインは接続失敗が報告されており、GitHub MCPプラグインがHTTP 400で失敗する原因に切り分けがあります。

プラグイン同梱のMCPサーバーがどう起動し、ツール名がどう付くかはプラグインに同梱されたMCPサーバーの仕組みで確認できます。管理設定でMCPの追加が止められている環境では、手動のclaude mcp addが失敗します。その場合はclaude mcp addが失敗する原因を参照してください。

まとめ

GitKrakenプラグインの価値は、複数のホスティングサービスのPRと課題を、Claude Codeの1つの口で引けることです。入れ方はプラグインかclaude mcp add -t stdio gitkraken gk mcpの2通りで、どちらもgkの導入とgk auth loginが前提に置かれています。

一方で、課題取得のproviderはGitHubとJiraの2値で、Azure DevOpsとBitbucketはPR系ツールでリポジトリ名と組織名を渡す必要があります。同じサーバーに書き込み系のツールもあるため、読み取りはallow、コミット・プッシュ・レビュー・コメントはaskに分ける構成から始めると、横断の便利さだけを取り込めます。

この記事を共有:XはてブLinkedIn