GitHub MCP Server について
GitHub MCP Serverは、AIアプリケーションからGitHub APIを使ってリポジトリやファイル変更を扱うサーバーです。リポジトリの参照・作成に加え、コミット、プッシュ、プルに対応します。
主な機能
- 01認証ユーザーのリポジトリ一覧
- 02リポジトリ詳細の取得
- 03リポジトリの作成
- 04ファイル変更のコミット
- 05ブランチのプッシュとプル
活用シーン
- 01アカウントから利用できるリポジトリの確認
- 02初期 README 付きリポジトリの作成
- 03ブランチへのファイルのコミット
- 04ブランチ変更のプッシュまたはプル
MCP 対応
リポジトリ一覧・詳細、作成、コミット、プッシュ、プルなどのGitHub API操作を、MCPクライアント向けのツールとして提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GitHub MCP Server
GitHub API と連携するための Model Context Protocol サーバーです。
機能
ツール
-
list_user_repos:認証済みユーザーのリポジトリを一覧表示します- パラメーター:
type(任意):「owner」、「all」、「member」のいずれか(デフォルト:「owner」)sort(任意):「created」、「updated」、「pushed」、「full_name」のいずれか(デフォルト:「full_name」)direction(任意):「asc」または「desc」(デフォルト:「asc」)per_page(任意):1ページあたりの結果数(デフォルト:30、最大:100)page(任意):ページ番号(デフォルト:1)
- パラメーター:
-
get_repo:指定したリポジトリの詳細を取得します- パラメーター:
repo(必須):リポジトリ名owner(任意):アカウントの所有者。指定しない場合は、認証済みユーザーが使用されます。
- パラメーター:
-
create_repo:新しいリポジトリを作成します- パラメーター:
name(必須):リポジトリ名description(任意):簡単な説明private(任意):リポジトリを非公開にするかどうか(デフォルト:false)auto_init(任意):空の README を含む初回コミットを作成するかどうか(デフォルト:false)
- パラメーター:
-
create_commit:ファイルの変更を含む新しいコミットを作成します- パラメーター:
repo(必須):リポジトリ名owner(任意):アカウントの所有者。指定しない場合は、認証済みユーザーが使用されます。branch(任意):ブランチ名(デフォルト:「main」)message(必須):コミットメッセージfiles(必須):コミットに含めるファイルの配列- 各ファイルに必要な項目:
path:リポジトリのルートからの相対ファイルパスcontent:ファイルの内容
- 各ファイルに必要な項目:
- パラメーター:
-
push:変更をリモートリポジトリにプッシュします- パラメーター:
repo(必須):リポジトリ名owner(任意):アカウントの所有者。指定しない場合は、認証済みユーザーが使用されます。branch(任意):ブランチ名(デフォルト:「main」)
- パラメーター:
-
pull:リモートリポジトリから変更をプルします- パラメーター:
repo(必須):リポジトリ名owner(任意):アカウントの所有者。指定しない場合は、認証済みユーザーが使用されます。branch(必須):ブランチ名
- パラメーター:
要件
- Node.js 18+
- 適切な権限を持つ GitHub パーソナルアクセストークン
- 環境変数
GITHUB_TOKENを設定します
インストール
npm install
npm run build
設定
GitHub トークンを環境変数として設定します:
export GITHUB_TOKEN=your_token_here
使い方
サーバーを実行します:
npm start
開発
自動再ビルドを有効にして開発する場合:
npm run watch
デバッグ
MCP Inspector を使用します:
npm run inspector
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。