📑

GitHub MCPの基本

に公開

はじめに

このページではGitHub MCP(Model Context Protocol)の概要、目的、およびCursorでのその利用方法について記述します。

GitHub MCP とは

GitHub MCP (Model Context Protocol) とは、AIモデルが外部のリソースやツールと安全かつ標準化された方法で連携するためのプロトコルです。これにより、AIエージェントがGitHubリポジトリや外部APIなどにアクセスし、実際のタスクを自律的に実行できる仕組みが提供されます。

バージョン情報: GitHub MCPは2025年4月にパブリックプレビューが開始され、活発に開発が進められています。

参照元:


GitHub MCPのCursorでの利用方法

GitHub MCPをCursorで利用するには、一般的にGitHub Personal Access Tokenの取得とMCPサーバーの設定が必要です。

1. GitHub Personal Access Tokenの取得

GitHubリポジトリへのアクセスを許可するために、Personal Access Token (PAT) を取得します。

  1. GitHubにログインし、右上のアイコンから Settings へアクセスします。
  2. 左サイドバーの Developer settings を開き、Personal access tokens をクリックします。
  3. Fine-grained tokens または Classic を選択し、Generate new token ボタンを押して発行画面へ進みます。
  4. トークンの名前、有効期限、必要な権限(スコープ)を設定します。プライベートリポジトリを操作する場合は repo スコープを、パブリックリポジトリのみの場合は public_repo スコープを選択します。
  5. 生成されたトークンは一度しか表示されないため、コピーして大切に保管します。

参照元:

2. MCPサーバーの設定

GitHub MCPサーバーは、AIモデルとGitHubとの連携を仲介する役割を担います。
CursorでGitHub MCPサーバーを設定するには、プロジェクトルートの .cursor フォルダに mcp.json ファイルを作成し、MCPサーバーの起動情報を記述します。

例: .cursor/mcp.json

{
  "mcpServers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "mcp/github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

この設定後、Cursorを再起動することでGitHubとの連携が確立されます。

複数のリポジトリなどを頻繁に操作しないなら以下のように設定するのがおすすめです。

      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>",
        "GITHUB_ORGANIZATION": "<YOUR_ORGANIZATION>",
        "GITHUB_REPOSITORY": "<YOUR_REPOSITORY>",
        "GITHUB_USERNAME": "<YOUR_USERNAME>"
      }

GitHub MCPのメリット

GitHub MCPの導入することで、Cursorのチャットから以下のように設定されているtoolを利用してissueの操作やPRの操作を実行することできます。

  1. create_issue

    • Create a new issue
    • Inputs:
      • owner (string): Repository owner
      • repo (string): Repository name
      • title (string): Issue title
      • body (optional string): Issue description
      • assignees (optional string[]): Usernames to assign
      • labels (optional string[]): Labels to add
      • milestone (optional number): Milestone number
    • Returns: Created issue details
  2. create_pull_request

    • Create a new pull request
    • Inputs:
      • owner (string): Repository owner
      • repo (string): Repository name
      • title (string): PR title
      • body (optional string): PR description
      • head (string): Branch containing changes
      • base (string): Branch to merge into
      • draft (optional boolean): Create as draft PR
      • maintainer_can_modify (optional boolean): Allow maintainer edits
    • Returns: Created pull request details

まとめ

GitHub MCPは、AIモデルがGitHubリポジトリや外部ツールと安全かつ標準化された方法で連携するための新しいプロトコルです。CursorでGitHub MCPを設定することで、AIエージェントが自律的にタスクを実行し、開発プロセスの効率化と品質向上に貢献します。

Discussion