mcpField
G
GitHub MCP Server

GitHub MCP Server

ローカル
github.com/scopwebバージョン管理010 週間前に更新

GitHub MCP Server について

GitHub MCP Serverは、ローカルGit操作とGitHub APIを使ってリポジトリを管理するGo製サーバーです。リポジトリ操作と管理機能に加え、ツール群の選択、リスクに応じた確認、バックアップ、監査ログを備えています。

主な機能

  1. 01ローカルGitとGitHub APIの操作
  2. 02リポジトリとファイルの管理
  3. 03管理機能と設定
  4. 04リスク段階と確認トークン
  5. 05バックアップと監査ログ
  6. 06選択可能なツール群

活用シーン

  1. 01リポジトリのファイル作成と更新
  2. 02ブランチ、コミット、プルリクエストの管理
  3. 03リポジトリ設定やWebhookの変更
  4. 04作業に応じたツール公開範囲の制限

MCP 対応

GitとGitHubの操作をMCPツールとして公開し、リポジトリ、ファイル、ダッシュボード、管理機能を扱います。--toolsetsでツール群を選択できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

GitHub MCP Server v4.0

GitHub を Claude Desktop に接続し、Claude のインターフェースからリポジトリを直接操作できる Go ベースの MCP サーバーです。

ツール: 統合された 26 個のツール(85 個の操作) | アーキテクチャ: ハイブリッド(ローカル Git + GitHub API + 管理コントロール)

v4.0 の新機能

  • 統合ツール設計:わずか 26 個のツールで 85 個の操作に対応し、ツール数の上限による AI の混乱を防ぎます
  • 操作パラメーターのパターン:各ツールで operation パラメーターを使い、実行するアクションを選択します
  • --toolsets フラグ:選択したツールグループ(git、github、admin、files)のみを公開してサーバーを起動します
  • 自動バックアップの実装:enable_auto_backup: true の場合、HIGH/CRITICAL 操作の前に JSON バックアップを書き込みます
  • 4 段階の安全システム:確認トークンを使用したリスク分類(LOW/MEDIUM/HIGH/CRITICAL)
  • 22 個の管理操作:リポジトリ設定、ブランチ保護、Webhook、コラボレーター、チーム
  • 監査ログ:自動ローテーションに対応した JSON ベースの操作記録

必要なトークン権限

最低限必要な権限
repo        - Full control of private repositories (essential)
オプション(すべての機能を利用する場合)
security_events  - For dismissing security alerts
workflow         - For re-running GitHub Actions workflows
admin:repo_hook  - Enhanced webhook management
admin:org        - For team management in organizations
トークンの生成
  1. 次のページに移動します:GitHub Settings > Personal Access Tokens
  2. 「Generate new token (classic)」をクリックします
  3. 必要なスコープを選択します
  4. 生成されたトークンをコピーします

インストール

# Install dependencies
go mod tidy

# Compile (using included script)
.\compile.bat          # Windows
./build-mac.bat        # macOS cross-compile

# Or compile manually
go build -o github-mcp-server-v4.exe ./cmd/github-mcp-server/

テスト

# Run all tests
go test ./...

# Run tests with verbose output
go test ./... -v

# Run tests for a specific package
go test ./pkg/git/ -v
go test ./pkg/safety/ -v

Claude Desktop の設定

マルチプロファイル(推奨)
{
  "mcpServers": {
    "github-personal": {
      "command": "C:\\path\\to\\github-mcp-server-v4.exe",
      "args": ["--profile", "personal"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_personal_token"
      }
    },
    "github-work": {
      "command": "C:\\path\\to\\github-mcp-server-v4.exe",
      "args": ["--profile", "work"],
      "env": {
        "GITHUB_TOKEN": "ghp_your_work_token"
      }
    }
  }
}
基本設定(単一トークン)
{
  "mcpServers": {
    "github-mcp": {
      "command": "C:\\path\\to\\github-mcp-server-v4.exe",
      "args": [],
      "env": {
        "GITHUB_TOKEN": "your_token_here"
      }
    }
  }
}
ツールセットのフィルタリング(任意)

攻撃対象領域を減らすため、特定のツールグループのみを公開します:

{
  "args": ["--toolsets", "git,github"]
}

利用可能なグループ:git(14 個のツール)、github(4 個のツール)、admin(4 個のツール)、files(4 個のツール)。デフォルトは all です。

利用可能なツール(26 個)

ツールでは operation パラメーターを使い、1 つの名前で複数の操作を公開します。これにより、ツール数を 85 個から 26 個に減らし、AI モデルの混乱を防ぎます。

Git 情報(2 個のツール)
ツール操作
git_infostatus、file_sha、last_commit、file_content、changed_files、validate_repo、list_files、context、validate_clean
git_set_workspaceすべての Git 操作で使用する作業ディレクトリを設定します
Git 基本操作(3 個のツール)
ツール説明
git_init新しい Git リポジトリを初期化します
git_addコミット対象のファイルをステージングします
git_commitステージングされた変更をコミットします
Git 高度な操作(9 個のツール)
ツール操作
git_historylog、diff
git_branchcheckout、checkout_remote、list、merge、rebase、backup
git_syncpush、pull、force_push、push_upstream、sync、pull_strategy
git_conflictstatus、resolve、detect、safe_merge
git_stashlist、push、pop、apply、drop、clear
git_remotelist、add、remove、show、fetch
git_taglist、create、delete、push、show
git_cleanuntracked、untracked_dirs、ignored、all
git_resetコミットを取り消します(soft/mixed/hard)
ハイブリッド(3 個のツール)
ツール説明
gh_create_fileファイルを作成します — Git を優先し、フォールバックとして GitHub API を使用します
gh_update_fileファイルを更新します — Git を優先し、フォールバックとして GitHub API を使用します
gh_push_files複数のファイルへの書き込みと git add/commit/push を 1 回の呼び出しで実行します
GitHub API(1 個のツール)
ツール操作
github_repolist_repos、create_repo、list_prs、create_pr
ダッシュボード(1 個のツール)
ツール操作
github_dashboardfull、notifications、issues、prs_review、security、workflows、mark_read
応答(1 個のツール)
ツール操作
github_respondcomment_issue、comment_pr、review_pr
修復(1 個のツール)
ツール操作
github_repairclose_issue、merge_pr、rerun_workflow、dismiss_alert
管理(4 ツール)
ツール操作リスク
github_admin_repoget_settings、update_settings、archive、deleteLOW → CRITICAL
github_branch_protectionget、update、deleteLOW → CRITICAL
github_webhookslist、create、update、delete、testLOW → HIGH
github_collaboratorslist、check、add、update_permission、remove、list_invitations、accept_invitation、cancel_invitation、list_teams、add_teamLOW → HIGH
ファイル操作(1 ツール)
ツール操作
github_fileslist、download、download_repo、pull_repo

安全システム

4 段階のリスク分類
レベル説明動作(moderate モード)
LOW読み取り専用直接実行
MEDIUM元に戻せる変更ドライランは任意
HIGHコラボレーションに影響確認トークンが必要
CRITICAL元に戻せない操作トークンが必要。バックアップを推奨

安全性のリスク分類には、複合キー tool:operation(例:github_webhooks:delete)を使用します。

安全モード
モード確認が必要なレベル推奨用途
strictMEDIUM 以上重要な本番環境
moderateHIGH 以上一般的な用途(デフォルト)
permissiveCRITICALローカル開発
disabledなし推奨されません
安全性の設定

実行ファイルと同じ場所に safety.json を作成します(任意)。

{
  "mode": "moderate",
  "enable_audit_log": true,
  "require_confirmation_above": 3,
  "audit_log_path": "./mcp-admin-audit.log",
  "audit_log_max_size_mb": 10,
  "audit_log_max_backups": 5
}

safety.json が存在しない場合は、監査ログを有効にした moderate モード がデフォルトで使用されます。

Git 不使用モード

Git がインストールされていないシステムでは、サーバーは次の処理を行います。

  1. Git がないことを自動検出します
  2. 一覧から git_* ツールを除外します
  3. API、管理、ダッシュボード、ファイル操作のすべてのツールを引き続き使用できるようにします
  4. Git ツールを実行しようとした場合は、わかりやすいエラーを返します

github_files ツール(list、download、download_repo、pull_repo)を使うと、Git を使わずに GitHub API のみでリポジトリのクローンと更新ができます。

セキュリティ

  • すべての Git 操作でコマンドインジェクションを防止
  • パストラバーサル対策
  • Webhook URL での SSRF 防止
  • 破壊的操作に暗号学的な確認トークンを使用
  • すべての管理操作を監査ログに記録

脆弱性の報告については、セキュリティポリシーをご覧ください。

システム要件

  • Go:1.26.6 以降
  • Git:任意(自動検出。ファイル/API ツールは Git なしでも動作します)
  • github.com/google/go-github v88.0.0
  • golang.org/x/oauth2 v0.36.0
  • GitHub トークン:最低限 repo 権限が必要

プロジェクトの状況

  • 85 の操作を公開する、統合済みの 26 ツール
  • ローカル Git と GitHub API のハイブリッドシステム
  • 確認トークンと自動バックアップを備えた 4 段階の安全システム
  • 複数プロファイルのサポート
  • 完全なテストスイート
  • 本番環境での使用に対応(v4.0)

変更履歴:すべての変更履歴については、CHANGELOG.mdをご覧ください。

貢献

貢献を歓迎します。ガイドラインについては、CONTRIBUTING.mdをご覧ください。

ライセンス

MIT ライセンス — 詳細についてはLICENSEをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。