🚀

GitHub MCPでClaude Codeがもっと便利に!ターミナルから直接GitHub操作する方法

に公開2

GitHubのPR書くの面倒ですよね?

毎回GitHubのwebページ開いて、ファイル確認して、PRの説明書いて...といった作業が煩雑に感じることはありませんか?

そんな時にGitHub MCPをClaude Codeで使うと、ターミナルから直接GitHubのリポジトリをいじれるようになります。「このリポジトリのREADME見て」という指示で内容確認ができ、「PRを作って」と指示すれば自動的にプルリクエストを作成してくれます。

CLI派の方にはとても便利な機能です。今回はその設定方法について詳しく解説します。

GitHub MCPについて

GitHub MCPは、Model Context Protocol(MCP)を使ってGitHubのAPIにアクセスできるサーバーです。

MCPを使うことで、AIアシスタントが外部サービスと連携できるようになります。

必要なもの

  • Node.js 18以上
  • Docker(GitHub公式MCPサーバー用)
  • GitHubアカウント
  • Claude Code または Claude Desktop
  • Claude API利用料金(Claude Codeは課金サービスです。詳細はClaude Code料金ページを参照。Claude Desktopは一定の無料利用枠がありますが、大量に使う場合は課金が必要になります。詳細はClaude料金ページを参照)
  • 学習意欲

1. GitHubのトークン作る

まずはGitHubでPersonal Access Tokenを作成します。

  1. GitHub右上のアイコン → Settings
  2. Developer settings → Personal access tokens → Tokens (classic)
  3. Generate new token (classic)
  4. 権限は以下をチェック:
    • repo (必須)
    • user:email (あると便利)

最小権限でいくなら repo だけでOK。あとで必要になったら追加すればいいです。

トークンが表示されたらコピーして保存。一回しか見れないので注意

2. 事前チェック

Node.js入ってる?

node --version

18以上じゃないとダメです。入ってなかったら nodejs.org からダウンロード。

GitHub MCPサーバーの動作確認

GitHub公式MCPサーバーはDockerで提供されています:

docker run --rm ghcr.io/github/github-mcp-server --help

Dockerがない場合は以下でインストール:
https://docs.docker.com/get-docker/

Dockerが起動してない場合

# Docker を起動
sudo systemctl start docker

トークン動いてる?

curl -H "Authorization: token ここにさっきのトークンを入れる" https://api.github.com

GitHub API にアクセスできればOK。

3-A. Claude Code で設定する場合

Claude Code使いたい人はこちらの方法です。ターミナル好きの方には特におすすめです。

Claude Code のインストール

npm install -g @anthropic-ai/claude-code

Claude Codeの最新インストール方法は公式ドキュメントでも確認できます:
https://docs.anthropic.com/en/docs/claude-code/setup

設定ファイル作る

場所

~/.claude.json

設定内容(GitHub公式MCPサーバー)

{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ここにさっきのトークンを入れる"
      }
    }
  }
}

トークンの部分は自分のに書き換えてくださいね。

試してみる

Claude Code 起動:

claude

MCP の状態確認:

/mcp

または、以下のコマンドでも確認できます:

claude mcp list

正常に設定されていると、こんな感じで表示されます:

┌─────────────────────────────────────────────────────────────────┐
│ Manage MCP servers                                              │
│                                                                 │
│ ❯ 1. github  ✔ connected · Enter to view details                │
└─────────────────────────────────────────────────────────────────┘

実際に GitHub 触ってみる:

https://github.com/username/repository のREADMEを確認して

うまくいくとリポジトリの内容が表示されます。

3-B. Claude Desktop で設定する場合

GUI派の人はこっちが楽です。

設定ファイルの場所

Claude Desktop のメニューから Settings → Developer → Edit Config で設定ファイルの場所を確認できます。そこから claude_desktop_config.json ファイルを編集する必要があります。

手動でアクセスする場合

# macOS
~/Library/Application\ Support/Claude/claude_desktop_config.json

Mac注意: Application Support にスペースが入ってるので、ターミナルからアクセスする場合は \ でエスケープするか、クオートで囲んでください。

設定内容(GitHub公式MCPサーバー)

{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ここにさっきのトークンを入れる"
      }
    }
  }
}

設定したらClaude Desktopを再起動。これで使えるようになります。

実際に使ってみる

僕が試した例だと:

このリポジトリの構造を教えて
src フォルダの中身を詳しく見て
READMEを改善するPRを作成して
最新5件のコミット履歴を確認して
issue #123 の内容を教えて

みたいな感じで自然に指示できます。

ターミナルから抜けずにGitHub操作できるのが最高です。

つまづきポイント

「MCPサーバーに接続できません」エラー

大体以下のどれか:

1. トークンが間違ってる

# トークンの確認
curl -H "Authorization: token your_token" https://api.github.com

2. JSONの書き方が間違ってる

# JSONチェック
cat ~/.claude.json | python3 -m json.tool

3. Node.jsが古い

node --version
# 18以上じゃないとダメ

4. GitHub MCPサーバーが見つからない

# Dockerでサーバーの手動実行テスト
docker run --rm ghcr.io/github/github-mcp-server --help

5. Dockerが起動してない

# Docker の状態確認
docker ps

# エラーが出る場合は Docker を起動
sudo systemctl start docker

権限エラー

curl -I -H "Authorization: token your_token" https://api.github.com
# X-OAuth-Scopes ヘッダーで権限確認

repo 権限がちゃんと付いてるか確認してください。

APIレート制限

GitHub APIには制限があります:

  • 認証あり:5,000リクエスト/時間
  • 認証なし:60リクエスト/時間

引っかかったら時間置いて再試行。

注意点

  • トークンをGitにコミットしない(当たり前だけど)
  • 定期的にトークン更新する(3-6ヶ月ごと)
  • 権限は必要最小限で
  • 使わなくなったトークンは削除する
  • 設定ファイルのバックアップ取る(特にClaude Desktop、たまに消える)

どっち選べばいい?

Claude Code がおすすめな人

  • ターミナル大好き
  • 複数プロジェクト行き来する
  • 自動化したい

Claude Desktop がおすすめな人

  • GUI の方が楽
  • 設定簡単にしたい
  • 見た目重視

個人的にはClaude Codeの方がターミナルワークフローに馴染むので好きですが、好みの問題ですね。

追記:旧バージョンのMCPサーバーについて

注意: 以下の方法は GitHub によって非推奨とされており、開発が停止されています。新しいプロジェクトでは上記の GitHub公式MCPサーバーを使用してください。

ただし、この旧バージョンはDockerを立ち上げなくて楽なため、お試しで使ってみたい場合には便利です。

旧バージョン(非推奨)の設定方法

旧 Model Context Protocol リポジトリのGitHubサーバーを使用する場合:

動作確認

npx @modelcontextprotocol/server-github --help

設定内容

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ここにさっきのトークンを入れる"
      }
    }
  }
}

この方法は将来的にサポートされなくなる可能性があるため、新規プロジェクトでは GitHub公式MCPサーバーの使用を強く推奨します。

最後に

設定は環境により異なりますが、15分程度で完了できます。一度設定すればGitHub作業の効率が大幅に向上します。

特にターミナル中心で作業している方には大変おすすめです。コードレビューや複数リポジトリ間の作業効率が大幅に向上します。

「あのファイルの内容確認したいけど、ブラウザ開くの面倒だな...」みたいなストレスから解放されます。

Claude CodeメインでもClaude Desktopでも、どっちでも好きな方で試してみてください。

参考リンク

注意: 技術仕様は変更される可能性があります。設定前に必ず最新の公式ドキュメントを確認してください。

GMOメディアテックブログ

Discussion

いしかずいしかず

kazさんのプロフィール、Xへのリンクがリンク切れになっておりました!

kazkaz

ありがとうございます!
リンクつけなおしました~