🙆
【Claude Codeチャレンジ日誌8】ClaudeCodeからgithub操作を自動化する
Claude CodeからGithubへのリポジトリ登録、変更などを自動化したくなったので、GitHub MCPを使って自動化したときのメモ書きを記事化しました。
GitHub MCPとは?
MCP(Model Context Protocol) は、AIアシスタントが外部サービスと連携するためのプロトコルです。GitHub MCPは、Claude CodeからGitHubの各種操作を直接実行できる拡張機能です。
🎯 できること
- リポジトリの検索・閲覧
 - ファイルの作成・更新・削除
 - ブランチ作成・切り替え
 - プルリクエストの作成・マージ
 - イシューの作成・管理
 - コミット履歴の確認
 
導入手順(Windows環境)
前提条件
- Node.js(v20以降)
 - Claude Code CLI
 - GitHubアカウントとPersonal Access Token
 - Git(ローカル環境)
 
ステップ1: Node.jsとClaude Code CLIのインストール
# Node.jsのバージョン確認
node --version
# Claude Code CLIのインストール
npm install -g @anthropic-ai/claude-code
# インストール確認
claude --version
ステップ2: GitHub Personal Access Tokenの作成
- GitHub → Settings → Developer settings → Personal access tokens
 - "Generate new token (classic)"をクリック
 - 以下の権限を付与:
- 
repo(Full control of private repositories) - 
workflow(Update GitHub Action workflows) 
 - 
 
ステップ3: GitHub MCPサーバーの追加
推奨方法:環境変数を使用
- 
システム環境変数を設定:
- Windowsキー + R → "sysdm.cpl"
 - 詳細設定タブ → 環境変数
 - ユーザー環境変数に追加:
- 変数名: 
GITHUB_PERSONAL_ACCESS_TOKEN - 変数値: 
ghp_あなたのトークン 
 - 変数名: 
 
 - 
MCPサーバーを追加:
 
claude mcp add github -s user -e GITHUB_PERSONAL_ACCESS_TOKEN=%GITHUB_PERSONAL_ACCESS_TOKEN% -- cmd /c npx -y @modelcontextprotocol/server-github
ステップ4: 動作確認
Claude Codeを起動し、/mcpコマンドで接続状況を確認:
/mcp
以下の表示が確認できればOK:
> 1. github  √ connected
使ってみる
簡単なシナリオでとりあえずGithubリポジトリ操作してみる。
🎬 シナリオ
英語で作成されたランディングページを日本語に翻訳し、さらにデザインを現代的なAIテクノロジー風に改善するといった例です。
ステップ1: リポジトリの確認
自然言語での指示:
GitHubのリポジトリ一覧を表示して
Claude Codeの応答:
116個のリポジトリが見つかり、一覧表示されました。特定のリポジトリ 20250712-LP を発見。
ステップ2: ファイル内容の確認
自然言語での指示:
20250712-LPというリポジトリがあると思うけど確認できる?
結果:
- リポジトリの存在確認
 - 
index.htmlファイル(9,042バイト)の発見 - ランディングページプロジェクトであることを確認
 
ステップ3: 多言語化の実行
自然言語での指示:
このindex.htmlを日本語にして、pushしたい。
Claude Codeが自動実行したタスク:
- ✅ HTMLファイルの読み込み
 - ✅ 英語→日本語への翻訳
 - ✅ 新しいブランチ 
japanese-translationの作成 - ✅ 翻訳済みファイルのプッシュ
 - ✅ プルリクエストの作成
 
翻訳例:
<!-- Before -->
<title>AI Programming Learning Community</title>
<h1>Learn AI Development, Together</h1>
<!-- After -->
<title>AIプログラミング学習コミュニティ</title>
<h1>AI開発を、一緒に学ぼう</h1>
ステップ4: プルリクエストのマージ
自然言語での指示:
mainにマージして
結果:
- プルリクエスト #1 が自動マージ
 - mainブランチに日本語版が反映
 
ステップ5: ローカル開発環境の構築
自然言語での指示:
mainブランチをローカルにクローンしたい。
実行されたコマンド:
git clone https://github.com/sinjorjob/20250712-LP.git
cd 20250712-LP
git status
ステップ6: デザイン改善ブランチの作成
自然言語での指示:
これから改修するので、改修用のブランチを作って。ブランチ名はベストプラクティスに沿った名称で。デザインレイアウトの改善です。
Claude Codeの判断:
- Git Flowのベストプラクティスに従い
 - 
feature/design-layout-improvementsブランチを作成 
ステップ7: 高度なデザイン改善
自然言語での指示:
LPの背景画像は消して、もっとおしゃれでAIテクノロジーっぽい背景画像のデザインにしたい。
Claude Codeが実装した改善:
- 背景の完全リニューアル:
 
/* 静的画像から動的グラデーションへ */
background: linear-gradient(135deg, #0c0c0c 0%, #1a1a2e 25%, #16213e 50%, #0f3460 75%, #1a1a2e 100%);
- 高度なアニメーション効果:
 
/* 浮遊パーティクル効果 */
@keyframes floating-particles {
    0% { transform: translate(0, 0) scale(1); }
    50% { transform: translate(-10px, -15px) scale(1.05); }
    100% { transform: translate(5px, -10px) scale(0.98); }
}
/* ニューラルネットワーク風パルス */
@keyframes neural-pulse {
    0%, 100% { opacity: 0.4; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.1); }
}
- グラデーションテキスト効果:
 
.hero h1 {
    background: linear-gradient(135deg, #ffffff 0%, #50e3c2 50%, #4a90e2 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: neural-pulse 3s ease-in-out infinite;
}
改善結果:
- ファイルサイズ: 9,450バイト → 12,199バイト(29%増加)
 - モダンなAIテクノロジー感のあるデザインに進化
 
ステップ8: 変更履歴の管理
自然言語での指示:
変更前の状態がどんなんだったか確認したいです。
Claude Codeの対応:
# 変更前のindex.htmlを復元
git show 193cdea:index.html > before_index.html
比較可能な状態を提供:
- 
before_index.html: 変更前 - 
index.html: 変更後 - ブラウザで両方を開いて比較可能
 
これでもう、Gitリポジトリ操作は指示出しだけでOK。
Discussion