GitHub Repository MCP Server について
GitHub Repository MCP Serverは、AIモデルにGitHubリポジトリのファイルや構造をコンテキストとして提供します。拡張子、除外パス、ファイル数で取得対象を絞れます。
主な機能
- 01リポジトリ内容の取得
- 02特定ファイルの読み込み
- 03リポジトリ構造の一覧表示
- 04拡張子とパスによる絞り込み
- 05返却ファイル数の制限
活用シーン
- 01AIモデルへのリポジトリ情報の提供
- 02リポジトリのファイル構成の確認
- 03分析対象ファイルの取得
MCP 対応
MCPクライアント向けに、GitHubリポジトリの内容、個別ファイル、構造を取得するツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GitHub Repository MCP サーバー
この Model Context Protocol(MCP)サーバーを使用すると、AI モデルがコンテキストとして GitHub リポジトリの内容にアクセスできます。AI とのやり取りでコンテキストとして利用できるよう、ファイルの内容、リポジトリの構造、リポジトリ全体を取得するツールを提供します。
特長
- リポジトリ全体の内容をコンテキストとして取得
- リポジトリ内の特定のファイルの内容を取得
- リポジトリの構造(ファイル一覧)を取得
- 拡張子でファイルを絞り込み
- 特定のパスを除外
- 返されるファイル数を制限
インストール
# clone the repository
git clone https://github.com/shanksxz/github-mcp.git
cd github-mcp
# install dependencies
npm install
# build the project
npm run build
使用方法
GitHub 認証の設定
認証なしでもパブリックリポジトリを利用できますが、GitHub API では認証されていないリクエストに厳しいレート制限(1 時間あたり 60 リクエスト)があります。この制限を 1 時間あたり 5000 リクエストに増やすには、GITHUB_TOKEN 環境変数を設定します。
# create a file called gh.sh and add the following line:
export GITHUB_TOKEN=your_github_personal_access_token
# make the file executable
chmod +x gh.sh
# run the file
./gh.sh
GitHub Developer Settingsで個人用アクセストークンを作成できます。
Cursor での使用
このサーバーを Cursor で使用するには、次の手順に従います。
- Cursor Settings を開きます
- 「MCP」を検索します
- 「Add a new MCP Server」をクリックします
- 次の情報を入力します
- 名前:github-repo-context(または任意の名前)
- 種類:Command
- コマンド:/path/to/your-local-repo-setup/gh.sh
- 「Save」をクリックします
- サーバー名の横にある切り替えボタンをクリックして、サーバーを有効にします
- これで、プロジェクトでサーバーを使用できるようになります
このサーバーは、MCP プロトコルに従って stdin/stdout 経由で通信します。
利用可能なツール
このサーバーは、次のツールを提供します。
-
get-repo-context:コンテキストとして使用するため、GitHub リポジトリのすべてのファイルを取得します
- パラメーター:
owner:GitHub リポジトリの所有者または組織名repo:GitHub リポジトリ名maxFiles(任意):含めるファイルの最大数(デフォルト:50)fileExtensions(任意):含めるファイルの拡張子(例:['js', 'ts', 'md'])excludePaths(任意):除外するパス(デフォルト:['node_modules', 'dist', 'build'])
- パラメーター:
-
get-file-content:GitHub リポジトリ内の特定のファイルの内容を取得します
- パラメーター:
owner:GitHub リポジトリの所有者または組織名repo:GitHub リポジトリ名path:リポジトリ内のファイルへのパス
- パラメーター:
-
get-repo-structure:GitHub リポジトリの構造を取得します
- パラメーター:
owner:GitHub リポジトリの所有者または組織名repo:GitHub リポジトリ名
- パラメーター:
例
MCP に対応した AI モデルと統合すると、次のようなコマンドを使用できます。
Get the structure of the repository tensorflow/tensorflow
その後、AI は get-repo-structure ツールを使用して、リポジトリの構造を取得し、表示します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。