remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Provides access to GitHub Enterprise and GitHub.com repositories, enabling repository management, branch listing, file content retrieval, and issue/PR handling through the GitHub API.
Offers tools for listing, viewing, and triggering GitHub Actions workflows, with capabilities for managing workflow runs and filtering by branch or status.
GitHub Enterprise MCP サーバー
GitHub Enterprise APIとの統合のためのMCP(Model Context Protocol)サーバー。このサーバーは、CursorからGitHub Enterpriseのリポジトリ情報、問題、PRなどに簡単にアクセスするためのMCPインターフェースを提供します。
互換性
このプロジェクトは主に GitHub Enterprise Server 環境向けに設計されていますが、以下の環境でも動作します。
- GitHub.com
- GitHubエンタープライズクラウド
注: 一部のエンタープライズ固有の機能 (ライセンス情報やエンタープライズ統計など) は、GitHub.com または GitHub Enterprise Cloud では動作しません。
主な特徴
- GitHub Enterpriseインスタンスからリポジトリリストを取得する
- 詳細なリポジトリ情報を取得する
- リポジトリのブランチを一覧表示する
- ファイルとディレクトリの内容を表示する
- 問題とプルリクエストを管理する
- リポジトリ管理(作成、更新、削除)
- GitHub Actionsワークフロー管理
- ユーザー管理(ユーザーの一覧表示、作成、更新、削除、一時停止/一時停止解除)
- 企業統計にアクセスする
- 強化されたエラー処理とユーザーフレンドリーな応答フォーマット
はじめる
前提条件
- Node.js 18以上
- GitHub Enterpriseインスタンスへのアクセス
- 個人アクセストークン(PAT)
Dockerのインストールとセットアップ
オプション1: Dockerで実行する
- Docker イメージをビルドします。Copy
- 環境変数を使用して Docker コンテナを実行します。Copy
注:Dockerfileはデフォルトで
--transport http
で実行されるように設定されています。これを変更する必要がある場合は、コマンドをオーバーライドできます。
オプション2: Docker Composeを使用する
- 必要な環境変数を含む
.env
ファイルをプロジェクト ルートに作成します。Copy - Docker Compose を使用してコンテナを起動します。Copy
- ログを確認します:Copy
- コンテナを停止します。Copy
インストールとセットアップ
ローカル開発(並行モードの使用)
自動再コンパイルとサーバーの再起動を伴うアクティブな開発には、この方法をお勧めします。
- リポジトリをクローンし、必要なパッケージをインストールします。Copy
- 開発サーバーを実行します。これにより、次のようになります。Copy
- ファイルが変更されたときに TypeScript コードを自動的にコンパイルする
- コンパイルされたファイルが更新されたらサーバーを再起動します
- URLベースの接続ではサーバーをHTTPモードで実行する
- 下記の説明に従ってURLモードを使用してカーソルに接続します
生産のためのインストールとセットアップ
オプション 1: URL モードの使用 (ローカル開発に推奨)
この方法は最も安定しており、ローカル開発やテストに推奨されます。
- リポジトリをクローンし、必要なパッケージをインストールします。Copy
- プロジェクトをビルドします。Copy
- サーバーを実行します。Copy
- URL モードを使用してカーソルに接続します。
- カーソルの
.cursor/mcp.json
ファイルに次のコードを追加します。
Copy - カーソルの
オプション2: グローバルコマンドとしてインストールする (npm リンク)
この方法はローカル開発に役立ちます。
オプション3: npx を使用する (パッケージが公開されている場合)
パッケージがパブリック npm レジストリに公開されている場合:
AIツールとの統合
クロードデスクトップ
claude_desktop_config.json
に以下を追加します。
YOUR_GITHUB_TOKEN
とYOUR_GITHUB_ENTERPRISE_URL
を実際の値に置き換えます。
カーソル
推奨: URL モード (最も安定)
カーソルで最も信頼性の高い操作を行うには、URL モードの使用をお勧めします。
- 別のターミナル ウィンドウでサーバーを起動します。Copy
- カーソルの MCP 設定を構成します。
- カーソルを開いて設定へ移動します
- AI > MCPサーバーへ移動
.cursor/mcp.json
ファイルを編集します。
Copy - 変更を適用するにはカーソルを再起動してください
代替手段: コマンドモード
あるいは、コマンド モードを使用するように Cursor を構成することもできますが、URL モードの方が信頼性が高いです。
- カーソルを開いて設定へ移動します
- AI > MCPサーバーへ移動
- MCPサーバーの追加をクリック
- 次の詳細を入力してください。
- 名前: GitHub Enterprise
- コマンド:
npx
- 引数:
@ddukbg/github-enterprise-mcp
- 環境変数:
GITHUB_ENTERPRISE_URL
: GitHub Enterprise API の URLGITHUB_TOKEN
: GitHub個人アクセストークン
あるいは、 .cursor/mcp.json
ファイルを手動で編集して、次の内容を含めることもできます。
言語設定
このMCPサーバーは英語と韓国語の両方をサポートしています。言語は以下の方法で設定できます。
環境変数
コマンドライン引数
指定されていない場合はデフォルトの言語は英語になります。
HTTPモードの追加オプション
--debug
: デバッグログを有効にする--github-enterprise-url <URL>
: GitHub Enterprise API URL を設定する--token <TOKEN>
: GitHub個人アクセストークンを設定する--language <LANG>
: 言語を設定します (en または ko、デフォルト: en)
利用可能なMCPツール
この MCP サーバーは次のツールを提供します。
ツール名 | 説明 | パラメータ | 必要なPAT権限 |
---|---|---|---|
list-repositories | ユーザーまたは組織のリポジトリリストを取得する | owner : ユーザー名/組織名isOrg : 組織かどうかtype : リポジトリの種類sort : 並べ替えの基準page : ページ数perPage : ページあたりの項目数 | repo |
get-repository | 詳細なリポジトリ情報を取得する | owner : リポジトリの所有者repo : リポジトリ名 | repo |
list-branches | リポジトリのブランチを一覧表示する | owner : リポジトリの所有者repo : リポジトリ名protected_only : 保護されたブランチのみを表示するかどうかpage : ページ番号perPage : ページあたりの項目数 | repo |
get-content | ファイルまたはディレクトリの内容を取得する | owner : リポジトリの所有者repo : リポジトリ名path : ファイル/ディレクトリパスref : ブランチ/コミット(オプション) | repo |
list-pull-requests | リポジトリ内のプルリクエストを一覧表示する | owner : リポジトリの所有者repo : リポジトリ名state : PRの状態 filter sort : 並べ替えの基準direction : 並べ替えの方向page : ページ番号per_page : ページあたりの項目数 | repo |
get-pull-request | プルリクエストの詳細を取得する | owner : リポジトリのオーナーrepo : リポジトリ名pull_number : プルリクエスト番号 | repo |
create-pull-request | 新しいプルリクエストを作成する | owner : リポジトリの所有者repo : リポジトリ名title : PR のタイトルhead : ヘッドブランチbase : ベースブランチbody : PR の説明draft : ドラフト PR として作成 | repo |
merge-pull-request | プルリクエストをマージする | owner : リポジトリのオーナーrepo : リポジトリ名pull_number : プルリクエスト番号merge_method : マージ方法commit_title : コミットタイトルcommit_message : コミットメッセージ | repo |
list-issues | リポジトリ内の問題を一覧表示する | owner : リポジトリの所有者repo : リポジトリ名state : 問題の状態 filter sort : 並べ替えの基準direction : 並べ替えの方向page : ページ番号per_page : ページあたりの項目数 | repo |
get-issue | 問題の詳細を取得する | owner : リポジトリの所有者repo : リポジトリ名issue_number : 問題番号 | repo |
list-issue-comments | 問題またはプルリクエストのコメントを一覧表示する | owner : リポジトリの所有者repo : リポジトリ名issue_number : Issue/PR番号page : ページ番号per_page : ページあたりの項目数 | repo |
create-issue | 新しい問題を作成する | owner : リポジトリの所有者repo : リポジトリ名title : 課題のタイトルbody : 課題の本文labels : ラベル名の配列assignees : ユーザーログインの配列milestone : マイルストーンID | repo |
create-repository | 新しいリポジトリを作成する | name : リポジトリ名description : リポジトリの説明private : プライベートかどうかauto_init : README で初期化gitignore_template : .gitignore を追加license_template : ライセンスを追加org : 組織名 | repo |
update-repository | リポジトリ設定を更新する | owner : リポジトリの所有者repo : リポジトリ名description : 新しい説明private : プライバシーの変更default_branch : デフォルトブランチの変更has_issues : 課題の有効化/無効化has_projects : プロジェクトの有効化/無効化has_wiki : wiki の有効化/無効化archived : アーカイブ/アーカイブ解除 | repo |
delete-repository | リポジトリを削除する | owner : リポジトリの所有者repo : リポジトリ名confirm : 確認(trueである必要があります) | delete_repo |
list-workflows | GitHub Actionsワークフローの一覧 | owner : リポジトリの所有者repo : リポジトリ名page : ページ番号perPage : ページあたりの項目数 | actions:read |
list-workflow-runs | ワークフロー実行の一覧 | owner : リポジトリの所有者repo : リポジトリ名workflow_id : ワークフローID/ファイル名branch : ブランチでフィルタリングstatus : ステータスでフィルタリングpage : ページ番号perPage : ページあたりの項目数 | actions:read |
trigger-workflow | ワークフローをトリガーする | owner : リポジトリの所有者repo : リポジトリ名workflow_id : ワークフローID/ファイル名ref : Git参照inputs : ワークフローの入力 | actions:write |
get-license-info | GitHub Enterprise ライセンス情報を取得する | - | site_admin(管理者)アカウントが必要です |
get-enterprise-stats | GitHub Enterprise のシステム統計を取得する | - | site_admin(管理者)アカウントが必要です |
注:エンタープライズ固有のツール(
get-license-info
およびget-enterprise-stats
)を使用するには、サイト管理者権限を持つユーザーが必要です。Fine-grained トークンではこれらのエンタープライズレベルの権限をサポートできない可能性があるため、Classic Personal Access Token の使用を推奨します。
カーソルのツールの使用
MCPサーバーをセットアップし、CursorをMCPサーバーに接続するように設定したら、CursorのAIチャットでGitHub Enterpriseツールを直接使用できるようになります。以下に例をいくつか示します。
リポジトリの一覧表示
リポジトリ情報の取得
プルリクエストの一覧表示
問題の管理
リポジトリコンテンツの操作
リポジトリ管理
ユーザー管理(エンタープライズのみ)
これらの機能は、GitHub Enterprise Server 環境向けに特別に設計されており、管理者権限が必要です。
APIの改善
- 柔軟な API URL 構成 (さまざまな環境変数とコマンドライン引数をサポート)
- 強化されたエラー処理とタイムアウト管理
- ユーザーフレンドリーな応答フォーマットとメッセージ
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
ISC
You must be authenticated.
Tools
GitHub Enterprise API との統合を可能にする MCP サーバー。これにより、ユーザーはリポジトリ情報にアクセスし、Cursor を通じて問題、プル リクエスト、ワークフロー、その他の GitHub 機能を管理できるようになります。