😊
Windows環境でClaude Desktop + GitHub MCP Serverを使ってサンプルリポジトリを作成する方法
📝 概要
この記事では、Windows環境でのClaude DesktopのModel Context Protocol (MCP)を使用して、GitHub APIと連携し、サンプルリポジトリを作成する方法を解説します。GitHub MCP Serverを活用することで、Claudeから直接GitHubの操作が可能になります。
🔑 前提条件
- Windows 10/11
- PowerShell 7.4以上
- Node.js と npm がインストールされていること
- Claude Desktopがインストールされていること
- GitHubアカウントを持っていること
🛠️ セットアップ手順
GitHub Personal Access Tokenの取得
- GitHubの設定画面から「Developer settings」→「Personal access tokens」に移動
- 「Generate new token」をクリック
- 以下の設定を行う:
- リポジトリアクセス範囲の選択(Public/Private/Selected)
-
repo
スコープの選択(プライベートリポジトリの場合) - パブリックリポジトリのみの場合は
public_repo
スコープを選択
- 生成されたトークンをコピー(
ghp_
で始まるトークン)
GitHub MCP Serverのグローバルインストール
PowerShellを管理者権限で開き、以下のコマンドを実行します:
npm install -g @modelcontextprotocol/server-github
インストールが成功すると、以下のような出力が表示されます:
changed 31 packages in 10s
4 packages are looking for funding
run `npm fund` for details
Claude Desktop設定ファイルの編集
%APPDATA%\Claude\claude_desktop_config.json
に以下の設定を追加します:
{
"github": {
"command": "node",
"args": [
"C:\\Users\\<ユーザー名>\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-github\\dist\\index.js"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_XXXXXX"
}
}
}
重要:
<ユーザー名>
を自分のWindows ユーザー名に置き換えてくださいghp_XXXXXX
を実際に取得したGitHub Personal Access Tokenに置き換えてください
💡 主な機能
GitHub MCP Serverは以下の主要な機能を提供します:
- リポジトリの作成・管理
- ファイルの作成・更新
- ブランチの自動作成
- プルリクエストの作成
- イシューの管理
- リポジトリの検索
🚀 活用例:サンプルリポジトリの作成
以下の手順でサンプルリポジトリを作成し、READMEファイルを追加できます:
- リポジトリの作成
- READMEファイルの作成
- 変更のコミット
利用可能な主なAPI機能
-
create_repository
: 新規リポジトリの作成 -
create_or_update_file
: ファイルの作成・更新 -
push_files
: 複数ファイルの一括プッシュ -
create_branch
: 新規ブランチの作成 -
create_pull_request
: プルリクエストの作成
⚠️ Windowsでの注意点
-
パスの指定
- Windowsのパス区切り文字は
\
を使用 - JSON内では
\\
とエスケープする必要がある
- Windowsのパス区切り文字は
-
PowerShell権限
- npmのグローバルインストールには管理者権限が必要
- 実行ポリシーの確認と設定が必要な場合がある
-
環境変数
- Windowsユーザー名を正しく設定
- パスに日本語が含まれていないことを確認
🔗 参考リンク
まとめ
Windows環境でGitHub MCP Serverを使用することで、Claude DesktopからGitHubの操作を効率的に行うことができます。適切な設定と注意点を守ることで、Windows特有の問題を回避しつつ、安全かつ効果的にGitHub操作を行うことができます。
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
Discussion