mcpField
G
GitHub

GitHub

おすすめリモート
github.com/githubバージョン管理34.0k今日更新
ドキュメントリポジトリ

GitHub について

GitHub MCP サーバーは、GitHub が公式に提供する MCP サーバーで、AI ツールを GitHub プラットフォームに接続します。リポジトリの参照、Issue や PR の管理、ワークフローの自動化を自然言語で行いたい開発者向けです。GitHub がホストするリモートサーバーと、ローカルで動かすサーバーの両方が提供されています。

主な機能

  1. 01リポジトリとコードファイルの参照
  2. 02Issue と PR の管理
  3. 03GitHub Actions 実行状況の確認
  4. 04Dependabot やセキュリティアラートの確認
  5. 05リモートとローカルの両方に対応

活用シーン

  1. 01ビルド失敗の原因分析
  2. 02Issue や PR の作成と更新
  3. 03チームの議論や通知の確認

MCP 対応

このプロジェクト自体が MCP サーバーであり、リポジトリ、Issue、PR、ワークフローに関するツールを MCP クライアントに公開します。リモートサーバーは GitHub がホストし、ローカルサーバーは Docker で実行できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://api.githubcopilot.com/mcp/
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

すべてのエンドポイント
Streamable HTTPhttps://api.githubcopilot.com/mcp/認証が必要
パッケージ
ocighcr.io/github/github-mcp-server:2.0.3

ツール

詳細

Go Report Card

GitHub MCP Server

GitHub MCP Server は、AI ツールを GitHub のプラットフォームに直接接続します。これにより、AI エージェント、AI アシスタント、チャットボットは、リポジトリやコードファイルの読み取り、Issue や PR の管理、コードの分析、ワークフローの自動化を行えるようになります。すべて自然言語での対話で実行できます。

ユースケース
  • リポジトリ管理: アクセス権のある任意のリポジトリで、コードの閲覧や検索、ファイルの検索、コミットの分析、プロジェクト構造の把握を行えます。
  • Issue と PR の自動化: Issue や Pull Request の作成、更新、管理を行えます。AI によるバグのトリアージ、コード変更のレビュー、プロジェクトボードの維持を支援できます。
  • CI/CD とワークフローのインテリジェンス: GitHub Actions のワークフロー実行を監視し、ビルドの失敗を分析し、リリースを管理して、開発パイプラインに関する洞察を得られます。
  • コード分析: セキュリティの検出結果を調べ、Dependabot アラートを確認し、コードのパターンを理解して、コードベースに関する包括的な洞察を得られます。
  • チームコラボレーション: ディスカッションにアクセスし、通知を管理し、チームの活動を分析して、チームのプロセスを効率化できます。

シンプルな自然言語のクエリから、複雑な複数ステップのエージェントワークフローまで、GitHub のコンテキストと機能に AI ツールを接続したい開発者のために作られています。

Go モジュールの使用

Go モジュールのパスは github.com/github/github-mcp-server/v2 です。ライブラリの利用者は、インポートや go get コマンドでこのプレフィックスを使用する必要があります(例: github.com/github/github-mcp-server/v2/pkg/github)。リポジトリのチェックアウトからビルドする場合、/v2 サブディレクトリは不要です。

既存の v2.0.0 タグは、このモジュールパスの修正より前のものであり、Go モジュールとして使用することはできません。この変更がマージされた後、修正済みのモジュールパスを含むコミットから v2.0.1 などの新しいリリースをタグ付けする必要があります。それまでは、利用者はこの変更を含むコミットの擬似バージョンを使用できます。


リモート GitHub MCP Server

Install in VS Code Install in VS Code Insiders Install in Visual Studio

リモート GitHub MCP Server は GitHub がホストしており、最も簡単に利用を開始できる方法です。お使いの MCP ホストがリモート MCP サーバーに対応していない場合でも、ご心配なく。代わりにローカル版の GitHub MCP Serverを使用できます。

前提条件
  1. リモートサーバーに対応した MCP ホスト(VS Code 1.101 以降、Claude Desktop、Cursor、Windsurf など)
  2. 該当するポリシーの有効化
VS Codeにインストール

手軽にインストールするには、上にあるワンクリックインストールボタンのいずれかを使用してください。その手順を完了したら、Copilot Chatのテキスト入力欄の近くにあるエージェントモードを切り替えると、サーバーが起動します。リモートMCPとOAuthのサポートを利用するには、VS Code 1.101以降を使用していることを確認してください。

または、VS Codeを手動で設定するには、以下の例から適切なJSONブロックを選び、ホスト設定に追加してください。

OAuthを使用GitHub PATを使用
VS Code(バージョン1.101以上)
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "github_mcp_pat",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ]
}
その他のMCPホストにインストール
  • Copilot CLI - GitHub Copilot CLI のインストールガイド
  • 他のIDEでのGitHub Copilot - GitHub Copilot を使用する JetBrains、Visual Studio、Eclipse、Xcode のインストール方法
  • Claude アプリケーション - Claude Desktop および Claude Code CLI のインストールガイド
  • Codex - OpenAI Codex のインストールガイド
  • Cursor - Cursor IDE のインストールガイド
  • OpenCode - OpenCode ターミナルエージェントのインストールガイド
  • Windsurf - Windsurf IDE のインストールガイド
  • Zed - Zed エディターのインストールガイド
  • Rovo Dev CLI - Rovo Dev CLI のインストールガイド

注: 各MCPホストアプリケーションでは、OAuthによるリモートアクセスをサポートするために、GitHub AppまたはOAuth Appを設定する必要があります。リモートMCPサーバーに対応するホストアプリケーションであれば、PAT認証によるリモートGitHubサーバーにも対応しているはずです。設定の詳細とサポートレベルはホストによって異なります。詳細については、必ずホストアプリケーションのドキュメントを参照してください。

設定
ツールセットの設定

リモートサーバーの設定、ツールセット、ヘッダー、高度な使い方の詳細については、リモートサーバーのドキュメントを参照してください。このファイルには、VS Codeやその他のMCPホストでリモートGitHub MCPサーバーに接続、カスタマイズ、インストールするための包括的な手順と例が記載されています。

ツールセットを指定しない場合は、デフォルトのツールセットが使用されます。

Insidersモード

新機能をいち早く試せます! リモートサーバーには、新機能や実験的なツールを先行して利用できるInsiders版があります。

URLパスを使用ヘッダーを使用
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/insiders"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "X-MCP-Insiders": "true"
      }
    }
  }
}

詳細と例についてはリモートサーバーのドキュメントを、利用可能な機能の一覧についてはInsidersの機能を参照してください。

GitHub Enterprise
データレジデンシーを使用するGitHub Enterprise Cloud(ghe.com)

GitHub Enterprise Cloudでもリモートサーバーを利用できます。

GitHub PATトークンを使用するhttps://octocorp.ghe.comの例:

{
    ...
    "github-octocorp": {
      "type": "http",
      "url": "https://copilot-api.octocorp.ghe.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    },
    ...
}

注: VS CodeとGitHub CopilotでGitHub Enterpriseを使用してOAuthを利用する場合は、VS Codeの設定でGitHub Enterpriseインスタンスを指定する必要もあります。詳細はVS Codeから認証するを参照してください。

GitHub Enterprise Server

GitHub Enterprise Serverはリモートサーバーのホスティングに対応していません。ローカルサーバーの設定にあるGitHub Enterprise Serverおよびデータレジデンシーを使用するGitHub Enterprise Cloud(ghe.com)を参照してください。


Local GitHub MCP Server

VS Code で Docker を使ってインストール VS Code Insiders で Docker を使ってインストール Visual Studio で Docker を使ってインストール

前提条件
  1. コンテナでサーバーを実行するには、Docker がインストールされている必要があります。

  2. Docker をインストールしたら、Docker が実行されていることも確認してください。Docker イメージは ghcr.io/github/github-mcp-server で公開されています。このイメージは公開されています。pull 時にエラーが発生する場合は、トークンの有効期限が切れている可能性があるため、docker logout ghcr.io を実行する必要があります。

  3. 認証。 github.com では、事前に何かを作成する必要はありません。上のワンクリックボタンから初回利用時に OAuth でログインできます(ブラウザーベースのフローで、トークンはメモリ上にのみ保持されます)。Docker 用のボタンでは、コンテナのログインコールバックに到達できるように、固定のコールバックポート(127.0.0.1:8085)を公開しています。仕組み、ヘッドレス環境やデバイスコードによるフォールバック、独自の OAuth や GitHub App の持ち込み(GitHub Enterprise Server および ghe.com では必須)については、ローカルサーバーの OAuth ログイン を参照してください。

    トークンを使いたい場合は、代わりに GITHUB_PERSONAL_ACCESS_TOKEN を設定して GitHub Personal Access Token で認証することもできます(OAuth より優先されます)。MCP サーバーは多くの GitHub API を利用できるため、AI ツールに付与しても問題ないと判断できる権限のみを有効にしてください(アクセストークンの詳細はドキュメントを参照してください)。

PAT を安全に扱う方法
環境変数(推奨)

GitHub PAT を安全に保ち、異なる MCP ホスト間で再利用するには、次の手順に従ってください。

  1. PAT を環境変数に保存する

    export GITHUB_PAT=your_token_here
    

    または .env ファイルを作成します。

    GITHUB_PAT=your_token_here
    
  2. .env ファイルを保護する

    # Add to .gitignore to prevent accidental commits
    echo ".env" >> .gitignore
    
  3. 設定でトークンを参照する

    # CLI usage
    claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
    
    # In config files (where supported)
    "env": {
      "GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_PAT"
    }
    

Note: 環境変数のサポート状況はホストアプリや IDE によって異なります。Windsurf などの一部のアプリでは、設定ファイルにトークンを直接記述する必要があります。

トークンのセキュリティに関するベストプラクティス
  • 最小限のスコープ: 必要な権限のみを付与する

    • repo - リポジトリ操作
    • read:packages - Docker イメージへのアクセス
    • read:org - Organization のチームへのアクセス
  • トークンの分離: プロジェクトや環境ごとに異なる PAT を使用する

  • 定期的なローテーション: トークンを定期的に更新する

  • コミットしない: トークンをバージョン管理に含めない

  • ファイルのパーミッション: トークンを含む設定ファイルへのアクセスを制限する

    chmod 600 ~/.your-app/config.json
    
### GitHub Enterprise Server および データレジデンシー対応の GitHub Enterprise Cloud (ghe.com)

フラグ --gh-host と環境変数 GITHUB_HOST を使用して、GitHub Enterprise Server または データレジデンシー対応の GitHub Enterprise Cloud のホスト名を設定できます。

  • GitHub Enterprise Server の場合は、ホスト名の前に https:// URI スキームを付けてください。HTTPS は必須であり、強制されます。資格情報が平文で送信されないよう、非 HTTPS のホストは拒否されます (ローカル開発用の http://localhost などのループバックホストのみ例外です)。
  • データレジデンシー対応の GitHub Enterprise Cloud の場合は、ホスト名として https://YOURSUBDOMAIN.ghe.com を使用してください。
"github": {
    "command": "docker",
    "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "GITHUB_PERSONAL_ACCESS_TOKEN",
    "-e",
    "GITHUB_HOST",
    "ghcr.io/github/github-mcp-server"
    ],
    "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
        "GITHUB_HOST": "https://<your GHES or ghe.com domain name>"
    }
}

インストール

VS Code の GitHub Copilot にインストールする

手早くインストールするには、上記のワンクリックインストールボタンのいずれかを使用してください。その手順が完了したら、(Copilot Chat のテキスト入力欄の横にある) エージェントモードを切り替えると、サーバーが起動します。

VS Code でのMCPサーバーツールの使用について詳しくは、エージェントモードのドキュメントをご覧ください。

その他の IDE (JetBrains、Visual Studio、Eclipse など) の GitHub Copilot にインストールする

次のいずれかの JSON ブロックを、お使いの IDE の MCP 設定に追加してください。

OAuth でログインする (作成・保存するトークンは不要)。 github.com では、公式イメージにアプリの認証情報がすでに含まれているため、ご自身で用意する必要はありません。初回使用時にブラウザーでのログインが実行され、得られたトークンはメモリ内にのみ保持されます。Docker の場合は、コンテナのログインコールバックに到達できるよう、固定のコールバックポートをループバックに公開する必要があります。

{
  "mcp": {
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-p",
          "127.0.0.1:8085:8085",
          "-e",
          "GITHUB_OAUTH_CALLBACK_PORT",
          "ghcr.io/github/github-mcp-server"
        ],
        "env": {
          "GITHUB_OAUTH_CALLBACK_PORT": "8085"
        }
      }
    }
  }
}

固定ポートが不要なネイティブバイナリでのフロー、ヘッドレス/デバイスコードのフォールバック、GitHub Enterprise Server / ghe.com、独自の OAuth アプリや GitHub App の利用については、ローカルサーバーの OAuth ログイン をご覧ください。

非対話型の stdio デプロイについては、GitHub App 認証 をご覧ください。

または Personal Access Token で認証する。 代わりに GITHUB_PERSONAL_ACCESS_TOKEN を設定してください (OAuth より優先されます)。

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "github_token",
        "description": "GitHub Personal Access Token",
        "password": true
      }
    ],
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "GITHUB_PERSONAL_ACCESS_TOKEN",
          "ghcr.io/github/github-mcp-server"
        ],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
        }
      }
    }
  }
}

必要に応じて、同様の例 (mcp キーを含まないもの) をワークスペース内の .vscode/mcp.json というファイルに追加することもできます。これにより、同じ形式を受け付ける他のホストアプリケーションとも設定を共有できます。

mcp キーを含まない JSON ブロックの例
{
  "inputs": [
    {
      "type": "promptString",
      "id": "github_token",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ],
  "servers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
      }
    }
  }
}
その他の MCP ホストにインストールする

その他の MCP ホストアプリケーションについては、以下のインストールガイドをご覧ください。

  • Copilot CLI - GitHub Copilot CLI のインストールガイド
  • その他の IDE の GitHub Copilot - Xcode を含む、JetBrains、Visual Studio、Eclipse での GitHub Copilot のインストール
  • Claude Code & Claude Desktop - Claude Code および Claude Desktop のインストールガイド
  • Cursor - Cursor IDE のインストールガイド
  • Google Gemini CLI - Google Gemini CLI のインストールガイド
  • OpenCode - OpenCode ターミナルエージェントのインストールガイド
  • Windsurf - Windsurf IDE のインストールガイド
  • Zed - Zed エディターのインストールガイド

すべてのインストール方法の全体像については、インストールガイドの索引 をご覧ください。

注: ローカル MCP サーバーに対応しているホストアプリケーションであれば、ローカルの GitHub MCP サーバーにアクセスできるはずです。ただし、具体的な設定手順、構文、連携の安定性はホストアプリケーションごとに異なります。多くは上記の例と似た形式に従うかもしれませんが、それが保証されるわけではありません。正しい MCP の設定構文とセットアップ手順については、お使いのホストアプリケーションのドキュメントをご確認ください。

ソースからのビルド

Docker を使用しない場合は、cmd/github-mcp-server ディレクトリで go build を実行してバイナリをビルドできます。その後、GITHUB_PERSONAL_ACCESS_TOKEN 環境変数にトークンを設定したうえで github-mcp-server stdio コマンドを使用します。ビルドの出力先を指定するには -o フラグを使用します。サーバーの command にはビルドした実行ファイルを指定するように設定してください。

STDIO の API リクエストでは、サーバーを github-mcp-server/<version> として識別し、利用可能な場合は上流の MCP クライアントの名前とバージョンを丸括弧内に保持します。クライアントのメタデータに含まれる制御文字、引用符、バックスラッシュ、丸括弧はエスケープされるため、HTTP ヘッダーは有効なまま維持されます。通常の名前、バージョン、スペース、印刷可能な Unicode 文字はそのまま保持されます。リリースビルドではリリースバージョンが維持されます。リビジョンのメタデータを含むソースビルドおよびデフォルトの Docker ビルドでは、vcs-<full-commit-sha> が使用されます。Docker の公開ワークフローではプレリリースを含むタグのバージョンが保持され、ブランチ、プルリクエスト、ナイトリービルドでは紐づくソースのリビジョンが使用されます。-dirty マーカーは、リビジョンと変更状態の両方が埋め込まれた VCS メタデータから得られた場合にのみ付与され、有効かつ明示的に指定された main.commit には決して付与されません。これは VCS のビルド識別子であり、リリース番号ではありません。

Git のチェックアウトから go build -o github-mcp-server ./cmd/github-mcp-server を実行してパッケージ全体をビルドすると、VCS のリビジョンが埋め込まれます。VCS メタデータがないビルドでは、-ldflags '-X main.version=<release>' で実際のリリースを指定するか、-ldflags '-X main.commit=<sha>' で完全なソースのリビジョンを指定してください。有効なメタデータは次の順序で選択されます。明示的に指定されたリリース、明示的に指定されたソースのリビジョン、埋め込まれた VCS のリビジョン、インストール済みのメインモジュールのバージョンです。有効な明示的リビジョンは、ビルドコンテキストのフィルタリングによって埋め込まれた VCS メタデータが変わっても、引き続き優先されます。メタデータが欠落しているか不正な候補は、次に利用可能なソースへフォールバックします。利用可能なものがない場合でも、STDIO は開発用ラベルの dev で起動し、stderr に警告を出力します。stdout は MCP プロトコル用に空けられたままになります。バージョン固有の帰属表示が必要な場合は、実際のリリースまたはリビジョンのメタデータを指定してください。

例:

{
  "mcp": {
    "servers": {
      "github": {
        "command": "/path/to/github-mcp-server",
        "args": ["stdio"],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
        }
      }
    }
  }
}

ツールの構成

GitHub MCP Server は、--toolsets フラグを使用して、特定の機能グループを有効または無効にすることができます。これにより、AI ツールで利用可能な GitHub API の機能を制御できます。必要なツールセットのみを有効にすると、LLM がツールを選択しやすくなり、コンテキストサイズを減らすことができます。

ツールセットはツールだけに限定されません。関連する MCP リソースとプロンプトも、該当する場合には含まれます。

ツールセットが指定されていない場合は、デフォルトのツールセットが使用されます。

設定例をお探しですか? 最小構成、読み取り専用モード、ツールとツールセットの組み合わせなど、一般的な構成例については サーバー構成ガイド を参照してください。

ツールセットの指定

LLM で利用可能にするツールセットを指定するには、許可リストを次の 2 つの方法で渡すことができます。

  1. コマンドライン引数を使用する場合:

    github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security
    
  2. 環境変数を使用する場合:

    GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./github-mcp-server
    

両方が指定されている場合は、環境変数 GITHUB_TOOLSETS がコマンドライン引数より優先されます。

個別のツールを指定する

--tools フラグを使って特定のツールを設定することもできます。ツールは単独で使用することも、ツールセットと組み合わせてきめ細かく制御することもできます。

  1. コマンドライン引数を使用する:

    github-mcp-server --tools get_file_contents,issue_read,create_pull_request
    
  2. 環境変数を使用する:

    GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./github-mcp-server
    
  3. ツールセットと組み合わせる(追加方式):

    github-mcp-server --toolsets repos,issues --tools get_gist
    

    これにより、repos と issues ツールセットのすべてのツールに加えて、get_gist が登録されます。

重要な注意事項:

  • ツールとツールセットは併用できます
  • 読み取り専用モードが優先されます。--read-only が設定されている場合、--tools で明示的に指定されていても書き込みツールはスキップされます
  • ツール名は完全に一致している必要があります(例: getFileContents ではなく get_file_contents)。無効なツール名を指定すると、サーバーは起動時にエラーメッセージを表示して失敗します
  • ツールの名前を変更した場合、後方互換性のために古い名前がエイリアスとして保持されます。詳細は ツールの名前変更 を参照してください。
Docker でツールセットを使用する

Docker を使用する場合、ツールセットを環境変数として渡すことができます:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" \
  ghcr.io/github/github-mcp-server
Docker でツールを使用する

Docker を使用する場合、特定のツールを環境変数として渡すことができます。ツールとツールセットを組み合わせることもできます:

# Tools only
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" \
  ghcr.io/github/github-mcp-server

# Tools combined with toolsets (additive)
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues" \
  -e GITHUB_TOOLS="get_gist" \
  ghcr.io/github/github-mcp-server
特殊なツールセット
「all」ツールセット

特別なツールセット all を指定すると、他の設定に関係なく、利用可能なすべてのツールセットを有効にできます:

./github-mcp-server --toolsets all

または環境変数を使用します:

GITHUB_TOOLSETS="all" ./github-mcp-server
「default」ツールセット

デフォルトのツールセット default は、ツールセットが指定されなかった場合にサーバーへ渡される設定です。

デフォルトの設定は次のとおりです:

  • context
  • repos
  • issues
  • pull_requests
  • users

デフォルトの設定を維持したまま追加のツールセットを有効にするには:

GITHUB_TOOLSETS="default,stargazers" ./github-mcp-server
インサイダーモード

ローカル GitHub MCP サーバーには、新機能や実験的なツールを先行して利用できるインサイダー版があります。

  1. コマンドライン引数を使用する:

    ./github-mcp-server --insiders
    
  2. 環境変数を使用する:

    GITHUB_INSIDERS=true ./github-mcp-server
    

Docker を使用する場合:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_INSIDERS=true \
  ghcr.io/github/github-mcp-server
利用可能なツールセット

利用可能なツールの一覧は次のとおりです:

ToolsetDescription
personcontext強く推奨: 現在のユーザーと、操作中の GitHub のコンテキストに関する情報を提供するツール
workflowactionsGitHub Actions のワークフローと CI/CD 操作
code-squarecode_qualityGitHub Code Quality 関連のツール
codescancode_securityGitHub Code Scanning などのコードセキュリティ関連のツール
copilotcopilotCopilot 関連のツール
copilotcopilot_issue_intents意図のメタデータ(根拠、信頼度、提案)を含む、オプトインの Copilot Issue 割り当てツール
dependabotdependabotDependabot のツール
comment-discussiondiscussionsGitHub Discussions 関連のツール
logo-gistgistsGitHub Gist 関連のツール
git-branchgit低レベルの Git 操作のための GitHub Git API 関連のツール
lawgovernanceリポジトリ、Organization、Enterprise の各レベルでルールセットとカスタムプロパティを管理するためのガバナンス関連のツール
issue-openedissuesGitHub Issues 関連のツール
taglabelsGitHub Labels 関連のツール
bellnotificationsGitHub Notifications 関連のツール
organizationorgsGitHub Organization 関連のツール
projectprojectsGitHub Projects 関連のツール
git-pull-requestpull_requestsGitHub Pull Request 関連のツール
reporeposGitHub リポジトリ関連のツール
shield-locksecret_protectionGitHub Secret Scanning などのシークレット保護関連のツール
shieldsecurity_advisoriesセキュリティアドバイザリ関連のツール
starstargazersGitHub Stargazers 関連のツール
peopleusersGitHub ユーザー関連のツール
Remote GitHub MCP Server の追加ツールセット
ToolsetDescription
copilotCopilot 関連ツール(例: Copilot Coding Agent)
copilot_spacesCopilot Spaces 関連ツール
github_support_docs_searchGitHub の製品およびサポートに関する質問に答えるためにドキュメントを検索

ツール

リポジトリツールは、ネゴシエートされた MCP プロトコルバージョンがサポート対象バージョンの 2026-07-28 以降である場合に、出力スキーマと型付きの structuredContent を公開します。古いクライアント、不明なプロトコルバージョンのクライアント、バージョンを省略したクライアントには、出力スキーマや構造化出力を含まない既存のコンテンツが返されます。不明なバージョンは、2026-07-28 より後にソートされるという理由だけでサポート対象として扱われることはありません。

get_file_contents では、ディレクトリの結果(フィールドプロジェクションを含む)は構造化配列になります。ファイルのダウンロードおよびメタデータのみのレスポンスは、型付きのテキスト、埋め込みリソース、またはリソースリンクのブロックからなる content 配列を使用し、ステータスメッセージ、テキスト、base64 blob、空のファイル、ダウンロードリンクを保持します。スターや削除などテキストのみのリポジトリ変更操作では、構造化された message も返されます。フォークのレスポンスでは、リポジトリの参照と処理中のメッセージを区別します。リポジトリの削除は、完了した結果を返す前に既存の確認フローを必要とします。

構造化されたリポジトリ結果には、生の REST オブジェクトではなくコンパクトな DTO を使用します。リリースの参照は、リリース一覧と同じコンパクトなリリース形式を共有します。Git リファレンスは、ref、オブジェクトタイプ、SHA を保持します。注釈付きタグは、tag、message、tagger、target の情報を保持します。削除のコミットは、SHA、message、author、tree SHA、親 SHA を保持し、利用可能な場合は人が読むための html_url も保持します。ディレクトリのエントリはファイルのメタデータと有用な HTML/ダウンロードリンクを保持しますが、プロジェクションで要求されていても、API およびハイパーメディアのルーティング URL は省略されます。古いバージョンや不明なプロトコルバージョンでは、元のテキストをバイト単位で保持します。最新バージョンのテキストのみの JSON レスポンスは、同じコンパクトな DTO を structuredContent としてシリアライズします。テキスト以外のリソースブロックとツールエラーは、既存のコンテンツの動作を維持します。構造化プロジェクションは、レガシーのフォーマッタと同じサニタイズ済みかつフィルタ済みのソースを使用します。

get_repository_tree、list_gists、get_gist、create_gist、update_gist では、gist の結果はファイル名、内容、サイズ、言語/種類の情報、タイムスタンプ、公開範囲、コンパクトなオーナープロフィールを保持し、API/node および Git の転送用 URL は省略されます。ツリーのエントリは、導出可能な API URL を省略します。gist の作成・更新結果には、gist ID と HTML URL が含まれます。最新の JSON テキストと構造化コンテンツは、同じコンパクトな結果をシリアライズします。古いバージョンや不明なプロトコルバージョンでは、出力スキーマや構造化コンテンツを含まず、レガシーのテキストをバイト単位で保持します。

イシューのメタデータ(list_issue_types、list_issue_fields)、コメント(add_issue_comment、update_issue_comment)、依存関係(issue_dependency_read、issue_dependency_write)、重複検出(find_duplicate)の各ツールは、ネゴシエートされたサポート対象プロトコルバージョン 2026-07-28 以降に対して、型付きの outputSchema と structuredContent を提供します。古いバージョンや不明なプロトコルバージョンでは、これらのフィールドを含まない同じテキストレスポンスを維持します。ツールエラーは構造化コンテンツを返しません。依存関係と重複検出のツールは、既存の機能ゲートを引き続き適用します。 ネゴシエーションされたサポート対象プロトコルバージョンが 2026-07-28 以降の場合、統合された Actions ツール(actions_list、actions_get、actions_run_trigger)は、method 判別子とメソッド固有の型付きフィールドを持つ構造化オブジェクトを返します。JSON テキストには同じコンパクトな射影が含まれます。ワークフロー、ジョブ、アーティファクトの射影は、API/ハイパーメディア URL を省略し、ブラウザリンク、有用な識別子、状態、タイムスタンプ、使用時間を保持します。実行の使用状況は、課金対象のランナー環境を決定的な名前順で一覧表示します。古いプロトコルおよび不明なプロトコルのテキストレスポンスは変更されません。get_job_logs は、型付きのコンテンツ、URL、または失敗したジョブのコレクションというバリアントを保持します。

workflow Actions
  • actions_get - GitHub Actions リソース(ワークフロー、ワークフロー実行、ジョブ、アーティファクト)の詳細を取得します

    • OAuth チャレンジスコープ: repo
    • method: 実行するメソッド(string、必須)
    • owner: リポジトリのオーナー(string、必須)
    • repo: リポジトリ名(string、必須)
    • resource_id: リソースの一意の識別子。「method」の指定によって異なるため、正しい ID を指定してください:
      • 'get_workflow' メソッドの場合は、ワークフロー ID またはワークフローファイル名(例: ci.yaml)を指定します。
      • 'get_workflow_run'、'get_workflow_run_usage'、'get_workflow_run_logs_url' メソッドの場合は、ワークフロー実行 ID を指定します。
      • 'download_workflow_run_artifact' メソッドの場合は、アーティファクト ID を指定します。
      • 'get_workflow_job' メソッドの場合は、ジョブ ID を指定します。 (string、必須)
  • actions_list - リポジトリ内の GitHub Actions ワークフローを一覧表示します

    • OAuth チャレンジスコープ: repo
    • method: 実行するアクション(string、必須)
    • owner: リポジトリのオーナー(string、必須)
    • page: ページネーション用のページ番号(デフォルト: 1)(number、任意)
    • perPage: ページネーション用の 1 ページあたりの結果数(デフォルト: 30、最大: 100)(number、任意)
    • repo: リポジトリ名(string、必須)
    • resource_id: リソースの一意の識別子。「method」の指定によって異なるため、正しい ID を指定してください:
      • 'list_workflows' メソッドの場合は、リソース ID を指定しないでください。
      • 'list_workflow_runs' メソッドの場合は、ワークフロー ID またはワークフローファイル名(例: ci.yaml)を指定します。省略すると、リポジトリ内のすべてのワークフロー実行を一覧表示します。
      • 'list_workflow_jobs' および 'list_workflow_run_artifacts' メソッドの場合は、ワークフロー実行 ID を指定します。 (string、任意)
    • workflow_jobs_filter: ワークフロージョブのフィルター。method が 'list_workflow_jobs' の場合にのみ使用されます(object、任意)
    • workflow_runs_filter: ワークフロー実行のフィルター。method が 'list_workflow_runs' の場合にのみ使用されます(object、任意)
  • actions_run_trigger - GitHub Actions ワークフローのアクションを起動します

    • OAuth チャレンジスコープ: repo
    • inputs: ワークフローが受け付ける入力。'run_workflow' メソッドの場合にのみ使用されます(object、任意)
    • method: 実行するメソッド(string、必須)
    • owner: リポジトリのオーナー(string、必須)
    • ref: ワークフローの Git リファレンス。ブランチ名またはタグ名を指定できます。'run_workflow' メソッドでは必須です(string、任意)
    • repo: リポジトリ名(string、必須)
    • run_id: ワークフロー実行の ID。'run_workflow' 以外のすべてのメソッドで必須です(number、任意)
    • workflow_id: ワークフロー ID(数値)またはワークフローファイル名(例: main.yml、ci.yaml)。'run_workflow' メソッドでは必須です(string、任意)
- **get_job_logs** - GitHub Actions のワークフロージョブのログを取得 - **OAuth Challenge Scopes**: `repo` - `failed_only`: true の場合、run_id で指定されたワークフロー実行内のすべての失敗したジョブのログを取得します。run_id の指定が必要です。(boolean, optional) - `job_id`: ワークフロージョブの一意の識別子です。単一ジョブのログを取得する場合に必須です。(number, optional) - `owner`: リポジトリのオーナー (string, required) - `repo`: リポジトリ名 (string, required) - `return_content`: URL ではなく実際のログ内容を返します (boolean, optional) - `run_id`: ワークフロー実行の一意の識別子です。failed_only が true の場合、実行内のすべての失敗したジョブのログを取得するために必須です。(number, optional) - `tail_lines`: ログの末尾から返す行数 (number, optional)
code-square Code Quality
  • get_code_quality_finding - コード品質の検出結果を取得
    • OAuth Challenge Scopes: repo
    • findingNumber: 検出結果の番号です。(number, required)
    • owner: リポジトリのオーナーです。(string, required)
    • repo: リポジトリ名です。(string, required)
codescan Code Security
  • get_code_scanning_alert - コードスキャンアラートを取得

    • OAuth Challenge Scopes: security_events
    • alertNumber: アラートの番号です。(number, required)
    • owner: リポジトリのオーナーです。(string, required)
    • repo: リポジトリ名です。(string, required)
  • list_code_scanning_alerts - コードスキャンアラートを一覧表示

    • OAuth Challenge Scopes: security_events
    • owner: リポジトリのオーナーです。(string, required)
    • page: ページネーションのページ番号(最小 1)(number, optional)
    • perPage: ページネーションの 1 ページあたりの結果数(最小 1、最大 100)(number, optional)
    • ref: 一覧表示したい結果の Git リファレンスです。(string, optional)
    • repo: リポジトリ名です。(string, required)
    • severity: 重大度でコードスキャンアラートをフィルタリングします (string, optional)
    • state: 状態でコードスキャンアラートをフィルタリングします。デフォルトは open です (string, optional)
    • tool_name: コードスキャンに使用されたツールの名前です。(string, optional)
person Context
  • get_me - 自分のユーザープロフィールを取得

    • MCP App UI: ui://github-mcp-server/get-me
    • 必須パラメータはありません
  • get_team_members - チームメンバーを取得

    • OAuth Challenge Scopes: read:org
    • org: チームを含む Organization のログイン名(オーナー)です。(string, required)
    • team_slug: チームのスラッグです (string, required)
  • get_teams - チームを取得

    • OAuth Challenge Scopes: read:org
    • user: チームを取得するユーザー名です。指定しない場合は、認証済みユーザーが使用されます。(string, optional)
  • ui_get - UI データを取得

    • OAuth Challenge Scopes: repo, read:org
    • method: 取得するデータの種類です (string, required)
    • owner: リポジトリのオーナー(すべてのメソッドで必須)(string, required)
    • repo: リポジトリ名(labels、assignees、milestones、branches、issue fields、reviewers で必須)(string, optional)
copilot Copilot
  • assign_copilot_to_issue - Issue に Copilot を割り当てる

    • OAuth Challenge Scopes: repo
    • base_ref: エージェントが作業を開始する Git リファレンス(例: ブランチ)。指定しない場合は、リポジトリのデフォルトブランチが使用されます(string、任意)
    • custom_instructions: Issue 本文を超えて エージェントを誘導するための任意のカスタム指示。Issue の説明に含まれていない追加のコンテキスト、制約、ガイダンスを提供するために使用します(string、任意)
    • issue_number: Issue 番号(number、必須)
    • owner: リポジトリのオーナー(string、必須)
    • repo: リポジトリ名(string、必須)
  • request_copilot_review - Copilot にレビューをリクエストする

    • OAuth Challenge Scopes: repo
    • owner: リポジトリのオーナー(string、必須)
    • pullNumber: Pull Request 番号(number、必須)
    • repo: リポジトリ名(string、必須)
copilot Copilot Issue Intents
  • assign_copilot_to_issue_with_intent - 意図を指定して Issue に Copilot を割り当てる
    • OAuth Challenge Scopes: repo
    • base_ref: エージェントが作業を開始する Git リファレンス(例: ブランチ)。指定しない場合は、リポジトリのデフォルトブランチが使用されます。is_suggestion が true の場合は無視されます(string、任意)
    • confidence: この選択に対する確信度。明確なシグナルまたは明示的なユーザーリクエストの場合は 'HIGH'、妥当な推論だが曖昧さがある場合は 'MEDIUM'、限られたシグナルに基づく最善の推測の場合は 'LOW' を指定します(string、必須)
    • custom_instructions: Issue 本文を超えて エージェントを誘導するための任意のカスタム指示。is_suggestion が true の場合は無視されます(string、任意)
    • is_suggestion: true の場合、エージェントを起動せず、保留中の Copilot 割り当ての意図を記録します。後の承認時に起動コンテキストが提供されます。この場合、base_ref と custom_instructions は無視されます(boolean、必須)
    • issue_number: Issue 番号(number、必須)
    • owner: リポジトリのオーナー(string、必須)
    • rationale: Issue のどの具体的な点から Copilot を選択したのかを説明する簡潔な一文。具体的なシグナルを示してください(例: 'Well-scoped task with clear acceptance criteria')(string、必須)
    • repo: リポジトリ名(string、必須)
dependabot Dependabot
  • get_dependabot_alert - Dependabot アラートを取得する
    • OAuth Challenge Scopes: security_events
    • alertNumber: アラートの番号。(number、必須)
    • owner: リポジトリのオーナー。(string、必須)
    • repo: リポジトリの名前。(string、必須)
  • list_dependabot_alerts - Dependabot アラートを一覧表示
    • OAuth Challenge Scopes: security_events
    • after: ページネーション用のカーソル。前回のレスポンスのカーソルを使用してください。(string, optional)
    • owner: リポジトリの所有者。(string, required)
    • perPage: ページネーションで1ページあたりに返す結果の数(最小 1、最大 100)(number, optional)
    • repo: リポジトリの名前。(string, required)
    • severity: 重大度で Dependabot アラートをフィルタリングします。(string, optional)
    • state: 状態で Dependabot アラートをフィルタリングします。デフォルトは open です。(string, optional)
comment-discussion Discussions
  • discussion_comment_write - ディスカッションのコメントを管理

    • OAuth Challenge Scopes: repo
    • body: コメントの内容('add'、'reply'、'update' メソッドで必須)(string, optional)
    • commentNodeID: ディスカッションコメントのノード ID('reply'、'update'、'delete'、'mark_answer'、'unmark_answer' メソッドで必須)。'reply' の場合は、返信先となるトップレベルのコメントを指定します。GitHub のディスカッションでサポートされるネストは 1 階層のみです。(string, optional)
    • discussionNumber: ディスカッション番号('add' および 'reply' メソッドで必須)(number, optional)
    • method: ディスカッションコメントに対して実行する書き込み操作。 指定可能な値:
      • 'add' - ディスカッションに新しいトップレベルのコメントを追加します。
      • 'reply' - トップレベルのディスカッションコメントに返信します(GitHub のディスカッションでサポートされるネストは 1 階層のみです)。
      • 'update' - 既存のディスカッションコメントを更新します。
      • 'delete' - ディスカッションコメントを削除します。
      • 'mark_answer' - ディスカッションコメントを回答としてマークします(Q&A のみ)。
      • 'unmark_answer' - ディスカッションコメントの回答マークを解除します(Q&A のみ)。 (string, required)
    • owner: リポジトリの所有者('add' および 'reply' メソッドで必須)(string, optional)
    • repo: リポジトリ名('add' および 'reply' メソッドで必須)(string, optional)
  • get_discussion - ディスカッションを取得

    • OAuth Challenge Scopes: repo
    • discussionNumber: ディスカッション番号 (number, required)
    • owner: リポジトリの所有者 (string, required)
    • repo: リポジトリ名 (string, required)
  • get_discussion_comments - ディスカッションのコメントを取得

    • OAuth Challenge Scopes: repo
    • after: ページネーション用のカーソル。前回のレスポンスのカーソルを使用してください。(string, optional)
    • discussionNumber: ディスカッション番号 (number, required)
    • includeReplies: true の場合、各トップレベルコメントに、そのコメントへの返信をネストして含めます(コメントごとに最大 100 件の返信。これは GitHub API の上限です)。デフォルトは false です。(boolean, optional)
    • owner: リポジトリの所有者 (string, required)
    • perPage: ページネーションで1ページあたりに返す結果の数(最小 1、最大 100)(number, optional)
    • repo: リポジトリ名 (string, required)
  • list_discussion_categories - ディスカッションカテゴリを一覧表示

    • OAuth Challenge Scopes: repo
    • owner: リポジトリの所有者 (string, required)
    • repo: リポジトリ名。指定しない場合は、組織レベルでディスカッションカテゴリが照会されます。(string, optional)
  • list_discussions - ディスカッションの一覧を取得

    • OAuth Challenge Scopes: repo
    • after: ページネーション用のカーソル。前回のレスポンスのカーソルを使用してください。(string、任意)
    • category: ディスカッションカテゴリ ID による任意のフィルター。指定した場合、このカテゴリのディスカッションのみが一覧表示されます。(string、任意)
    • direction: 並び順の方向。(string、任意)
    • orderBy: ディスカッションを並べ替えるフィールド。指定する場合は direction も指定する必要があります。(string、任意)
    • owner: リポジトリのオーナー(string、必須)
    • perPage: ページネーションの 1 ページあたりの結果数(最小 1、最大 100)(number、任意)
    • repo: リポジトリ名。指定しない場合、ディスカッションは組織レベルで検索されます。(string、任意)
logo-gist Gists
  • create_gist - Gist を作成

    • OAuth Challenge Scopes: gist
    • content: 単一ファイルの簡易 Gist 作成用のコンテンツ(string、必須)
    • description: Gist の説明(string、任意)
    • filename: 単一ファイルの簡易 Gist 作成用のファイル名(string、必須)
    • public: Gist を公開するかどうか(boolean、任意)
  • get_gist - Gist のコンテンツを取得

    • gist_id: Gist の ID(string、必須)
  • list_gists - Gist の一覧を取得

    • page: ページネーション用のページ番号(最小 1)(number、任意)
    • perPage: ページネーションの 1 ページあたりの結果数(最小 1、最大 100)(number、任意)
    • since: この時刻以降に更新された Gist のみ(ISO 8601 形式のタイムスタンプ)(string、任意)
    • username: GitHub のユーザー名(認証済みユーザーの Gist を対象とする場合は省略)(string、任意)
  • update_gist - Gist を更新

    • OAuth Challenge Scopes: gist
    • content: ファイルのコンテンツ(string、必須)
    • description: Gist の更新後の説明(string、任意)
    • filename: 更新または作成するファイル名(string、必須)
    • gist_id: 更新する Gist の ID(string、必須)
git-branch Git
  • get_repository_tree - リポジトリのツリーを取得
    • OAuth Challenge Scopes: repo
    • owner: リポジトリのオーナー(ユーザー名または組織名)(string、必須)
    • path_filter: ツリーの結果をフィルタリングするための任意のパスプレフィックス(例:src/ を指定すると src ディレクトリ内のファイルのみを表示)(string、任意)
    • recursive: このパラメーターを true に設定すると、ツリーが参照するオブジェクトまたはサブツリーも返されます。デフォルトは false です。(boolean、任意)
    • repo: リポジトリ名(string、必須)
    • tree_sha: ツリーの SHA1 値、またはブランチやタグなどの ref 名。デフォルトはリポジトリのデフォルトブランチです。(string、任意)
law Governance - **create_repository_ruleset** - リポジトリルールセットを作成 - **OAuth Challenge Scopes**: `repo`, `admin:org`, `admin:enterprise` - `bypass_actors`: このルールセット内のルールをバイパスできるアクター(object[]、省略可) - `conditions`: このルールセットを適用する条件。例: {"ref_name": {"include": ["refs/heads/main"], "exclude": []}}(object、省略可) - `enforcement`: ルールセットの適用レベル。'evaluate' を指定すると、管理者はルールを適用する前にテストできます(string、必須) - `enterprise`: エンタープライズのスラッグ。level が 'enterprise' の場合に必須です。(string、省略可) - `level`: ルールセットが設定されるレベル: - 'repository': 単一のリポジトリに対するルールセット('owner' と 'repo' が必要)。 - 'organization': 組織内のリポジトリを対象とするルールセット('org' が必要)。 - 'enterprise': エンタープライズ全体のリポジトリを対象とするルールセット('enterprise' が必要)。(string、必須) - `name`: ルールセットの名前(string、必須) - `org`: 組織名。level が 'organization' の場合に必須です。(string、省略可) - `owner`: リポジトリのオーナー。level が 'repository' の場合に必須です。(string、省略可) - `repo`: リポジトリ名。level が 'repository' の場合に必須です。(string、省略可) - `rules`: ルールセット内のルールの配列。各ルールは 'type'(例: 'creation'、'deletion'、'non_fast_forward'、'required_signatures'、'pull_request'、'required_status_checks')を持つオブジェクトで、設定が必要なルールには 'parameters' オブジェクトを指定します(object[]、必須) - `target`: ルールセットの対象。デフォルトは 'branch' です。'repository' は 'organization' および 'enterprise' レベルのルールセットでのみ有効です。(string、省略可)
  • custom_properties_read - カスタムプロパティを読み取る

    • OAuth Challenge Scopes: repo, read:org, read:enterprise
    • enterprise: エンタープライズのスラッグ。level が 'enterprise' の場合に必須です。(string、省略可)
    • level: カスタムプロパティが管理されるレベル:
      • 'repository': リポジトリに割り当てられたカスタムプロパティの値('owner' と 'repo' が必要)。
      • 'organization': 組織のカスタムプロパティの定義(スキーマ)('org' が必要)。
      • 'enterprise': エンタープライズのカスタムプロパティの定義(スキーマ)('enterprise' が必要)。(string、必須)
    • org: 組織名。level が 'organization' の場合に必須です。(string、省略可)
    • owner: リポジトリのオーナー。level が 'repository' の場合に必須です。(string、省略可)
    • repo: リポジトリ名。level が 'repository' の場合に必須です。(string、省略可)
  • custom_properties_write - カスタムプロパティを設定する

    • OAuth Challenge Scopes: repo, admin:org, admin:enterprise
    • enterprise: エンタープライズのスラッグ。level が 'enterprise' の場合に必須です。(string、省略可)
    • level: カスタムプロパティが管理されるレベル:
      • 'repository': リポジトリに割り当てられたカスタムプロパティの値('owner' と 'repo' が必要)。
      • 'organization': 組織のカスタムプロパティの定義(スキーマ)('org' が必要)。
      • 'enterprise': エンタープライズのカスタムプロパティの定義(スキーマ)('enterprise' が必要)。(string、必須)
    • org: 組織名。level が 'organization' の場合に必須です。(string、省略可)
    • owner: リポジトリのオーナー。level が 'repository' の場合に必須です。(string、省略可)
    • properties: 作成または更新するカスタムプロパティ。リポジトリレベルでは、各項目で値('property_name' と 'value')を割り当てます。組織およびエンタープライズレベルでは、各項目でスキーマ('property_name' と 'value_type'、および省略可能な定義フィールド)を定義します。(object[]、必須)
    • repo: リポジトリ名。level が 'repository' の場合に必須です。(string、省略可)
  • repository_ruleset_read - リポジトリのルールセットを読み取る

    • OAuth Challenge Scopes: repo, read:org, read:enterprise
    • actor_name: ルールスイートをフィルタリングする対象の GitHub ユーザーアカウントのハンドル。'list_rule_suites' メソッドで使用されます。(string, optional)
    • branch: ブランチ名。'get_rules_for_branch' メソッドでは必須です。(string, optional)
    • enterprise: エンタープライズのスラッグ。level が 'enterprise' の場合は必須です。(string, optional)
    • evaluate_status: ルールセットの評価モードでルールスイートをフィルタリングします。'list_rule_suites' メソッドで使用されます。(string, optional)
    • includes_parents: 上位レベルで設定され、同様に適用されるルールセットを含めます。デフォルトは true です。リポジトリレベルの 'get' および 'list' メソッドで使用されます。(boolean, optional)
    • level: ルールセットが設定されるレベル:
      • 'repository': 単一のリポジトリに対するルールセット('owner' と 'repo' が必要)。
      • 'organization': 組織内のリポジトリを対象とするルールセット('org' が必要)。
      • 'enterprise': エンタープライズ全体のリポジトリを対象とするルールセット('enterprise' が必要)。(string, required)
    • method: 実行する操作:
      • 'get': ID を指定して特定のルールセットを取得します('ruleset_id' が必要)。すべてのレベルでサポートされます。
      • 'list': すべてのルールセットを一覧表示します。すべてのレベルでサポートされます。
      • 'get_rules_for_branch': ブランチに適用されるすべてのルールを取得します('branch' が必要)。リポジトリレベルのみ。
      • 'list_rule_suites': プッシュに対するルールの評価であるルールスイートを一覧表示します。リポジトリレベルと組織レベルのみ。
      • 'get_rule_suite': ID を指定して特定のルールスイートを取得します('rule_suite_id' が必要)。リポジトリレベルと組織レベルのみ。(string, required)
    • org: 組織名。level が 'organization' の場合は必須です。(string, optional)
    • owner: リポジトリのオーナー。level が 'repository' の場合は必須です。(string, optional)
    • page: ページネーション用のページ番号(最小 1)(number, optional)
    • perPage: ページネーション用の 1 ページあたりの結果数(最小 1、最大 100)(number, optional)
    • ref: ルールスイートをフィルタリングする ref(ブランチ、タグなど)の名前。'list_rule_suites' メソッドで使用されます。(string, optional)
    • repo: リポジトリ名。level が 'repository' の場合は必須です。(string, optional)
    • repository_name: ルールスイートをフィルタリングするリポジトリ名。組織レベルの 'list_rule_suites' メソッドで使用されます。(string, optional)
    • rule_suite_id: ルールスイートの ID。'get_rule_suite' メソッドでは必須です。(number, optional)
    • rule_suite_result: フィルタリングするルールスイートの結果。'list_rule_suites' メソッドで使用されます。(string, optional)
    • ruleset_id: ルールセットの ID。'get' メソッドでは必須です。(number, optional)
    • time_period: ルールスイートをフィルタリングする期間。'list_rule_suites' メソッドで使用されます。(string, optional)
issue-opened Issues
  • add_issue_comment - Issue または Pull Request にコメントを追加

    • OAuth Challenge Scopes: repo
    • body: コメントの内容。reaction が指定されていない場合は必須です。(string, optional)
    • comment_id: リアクションを付ける Issue または Pull Request コメントの数値 ID。コメントへのリアクションにはこれを使用し、Issue または Pull Request 自体にリアクションする場合は省略します。body と併用することはできません。(integer, optional)
    • issue_number: コメントまたはリアクションを付ける Issue または Pull Request の番号。(number, required)
    • owner: リポジトリのオーナー(string, required)
    • reaction: 追加する絵文字リアクション。body が指定されていない場合は必須です。(string, optional)
    • repo: リポジトリ名(string, required)
  • get_label - リポジトリから特定のラベルを取得します

    • OAuth Challenge Scopes: repo
    • name: ラベル名。(string, required)
    • owner: リポジトリのオーナー(ユーザー名または組織名)(string, required)
    • repo: リポジトリ名 (string, required)
  • issue_read - Issue の詳細を取得します

    • OAuth Challenge Scopes: repo
    • issue_number: Issue の番号 (number, required)
    • method: 単一の Issue に対して実行する読み取り操作。 指定可能な値は以下のとおりです:
      1. get - Issue の詳細を取得します。ベストエフォートの階層フラグ(has_parent、has_children)も返します。parent と sub_issues_summary は任意の関係概要で、closed_by_pull_requests は Issue をクローズするように設定されたプルリクエストの概要を、total_count と最大 5 件の references として返します。
      2. get_comments - Issue のコメントを取得します。
      3. get_sub_issues - Issue のサブ Issue(子)を取得します。
      4. get_parent - この Issue が別の Issue のサブ Issue である場合、親 Issue を取得します。
      5. get_labels - Issue に割り当てられたラベルを取得します。 (string, required)
    • owner: リポジトリのオーナー (string, required)
    • page: ページネーション用のページ番号(最小 1)(number, optional)
    • perPage: ページネーション用の 1 ページあたりの結果数(最小 1、最大 100)(number, optional)
    • repo: リポジトリ名 (string, required)
  • issue_write - Issue またはプルリクエストを作成または更新します

    • OAuth Challenge Scopes: repo
    • MCP App UI: ui://github-mcp-server/issue-write
    • assignees: この Issue に割り当てるユーザー名 (string[], optional)
    • body: Issue の本文 (string, optional)
    • duplicate_of: この Issue が重複している Issue の番号。state_reason が 'duplicate' の場合は必須です。(number, optional)
    • issue_fields: 設定またはクリアする Issue フィールドの値。各項目には 'field_name' と、'value'、'field_option_name'、'delete: true' のいずれか 1 つのみが必要です。(object[], optional)
    • issue_number: 更新する Issue の番号 (number, optional)
    • labels: この Issue に適用するラベル (string[], optional)
    • method: 単一の Issue に対して実行する書き込み操作。 指定可能な値は以下のとおりです:
      • 'create' - 新しい Issue を作成します。
      • 'update' - 既存の Issue を更新します。 (string, required)
    • milestone: マイルストーンの番号 (number, optional)
    • owner: リポジトリのオーナー (string, required)
    • parent_issue_number: 親 Issue の番号。method が 'create' の場合にのみ使用され、issue_fields と併用できません。新しい Issue は同じ操作でこの親 Issue に紐付けられて作成されます。(number, optional)
    • parent_owner: 親 Issue のリポジトリのオーナー。parent_repo と併せて指定する必要があります。両方を省略すると owner と repo を使用します。method が 'create' かつ parent_issue_number が指定されている場合にのみ使用されます。(string, optional)
    • parent_repo: 親 Issue のリポジトリ名。parent_owner と併せて指定する必要があります。両方を省略すると owner と repo を使用します。method が 'create' かつ parent_issue_number が指定されている場合にのみ使用されます。(string, optional)
    • repo: リポジトリ名 (string, required)
    • state: 新しい状態 (string, optional)
    • state_reason: 状態変更の理由。state が変更されない限り無視されます。(string, optional)
    • title: Issue のタイトル (string, optional)
    • type: この Issue の種類。更新時に現在の種類を削除するには null を渡します。リポジトリで Issue の種類が有効になっている場合にのみ使用してください。このリポジトリまたはその所属組織で有効な種類の値を取得するには list_issue_types を使用します。リポジトリが Issue の種類をサポートしていない場合は、このパラメーターを省略してください。(string | null, optional)
  • list_issue_fields - Issue フィールドを一覧表示します

    • OAuth Challenge Scopes: repo, read:org
    • owner: リポジトリまたは組織のアカウントのオーナー。名前は大文字と小文字を区別しません。(string, required)
    • repo: リポジトリ名。指定すると、このリポジトリ用のフィールドを返します(所属組織から継承されたものです)。省略すると、組織レベルのフィールドを直接返します。(string, optional)
  • list_issue_types - 利用可能な Issue タイプを一覧表示

    • OAuth Challenge Scopes: repo, read:org
    • owner: リポジトリまたは組織のアカウント所有者。(string, required)
    • repo: リポジトリ名。指定すると、この特定のリポジトリの Issue タイプを返します。省略すると、組織レベルの Issue タイプを直接返します。(string, optional)
  • list_issues - Issue を一覧表示

    • OAuth Challenge Scopes: repo
    • after: ページネーション用のカーソル。前回のレスポンスのカーソルを使用してください。(string, optional)
    • direction: 並び順の方向。指定する場合は 'orderBy' も指定する必要があります。(string, optional)
    • field_filters: カスタム Issue フィールドの値でフィルタリングします。各エントリには field_name と value を指定します。サーバーはフィールドを検索し、値をそのフィールドの型(単一選択のオプション名、テキスト、数値、または YYYY-MM-DD 形式の日付)に変換します。(object[], optional)
    • fields: 各 Issue について返すフィールドのサブセット。省略すると、すべてのフィールドを返します。特定のフィールドだけが必要な場合にレスポンスサイズを減らすために使用してください。特に 'body' と 'field_values' を省略すると、結果ごとの最大のデータ量が削減されます。(string[], optional)
    • labels: ラベルでフィルタリング (string[], optional)
    • orderBy: フィールドで Issue を並べ替えます。指定する場合は 'direction' も指定する必要があります。(string, optional)
    • owner: リポジトリの所有者 (string, required)
    • perPage: ページネーションの 1 ページあたりの結果数 (最小 1、最大 100) (number, optional)
    • repo: リポジトリ名 (string, required)
    • since: 日付でフィルタリング (ISO 8601 タイムスタンプ) (string, optional)
    • state: 状態でフィルタリング。指定しない場合、デフォルトでオープンとクローズの両方の Issue を返します (string, optional)
  • search_issues - Issue を検索

    • OAuth Challenge Scopes: repo
    • fields: 各 Issue 検索結果について返すフィールドのサブセット。省略すると、すべてのフィールドを返します。特定のフィールドだけが必要な場合にレスポンスサイズを減らすために使用してください。特に 'body'、'reactions'、'labels' を省略すると、結果ごとの最大のデータ量が削減されます。(string[], optional)
    • order: 並び順 (string, optional)
    • owner: 任意のリポジトリ所有者。repo と併せて指定すると、このリポジトリの Issue のみを一覧表示します。(string, optional)
    • page: ページネーションのページ番号 (最小 1) (number, optional)
    • perPage: ページネーションの 1 ページあたりの結果数 (最小 1、最大 100) (number, optional)
    • query: 自然言語による検索クエリ。ユーザーが別の言い回しを示した場合は、OR で結合せず、プレーンな単語として含めてください。(string, required)
    • repo: 任意のリポジトリ名。owner と併せて指定すると、このリポジトリの Issue のみを一覧表示します。(string, optional)
    • sort: カテゴリの一致数で並べ替えるフィールド。デフォルトは最も一致するもの (string, optional)
  • sub_issue_write - サブイシューを変更

    • OAuth Challenge Scopes: repo
    • after_id: 優先順位を後にするサブイシューの ID(after_id または before_id のいずれかを指定する必要があります)(数値、任意)
    • before_id: 優先順位を前にするサブイシューの ID(after_id または before_id のいずれかを指定する必要があります)(数値、任意)
    • issue_number: 親イシューの番号(数値、必須)
    • method: 単一のサブイシューに対して実行する操作 選択肢:
      • 'add' - GitHub リポジトリの親イシューにサブイシューを追加します。
      • 'remove' - GitHub リポジトリの親イシューからサブイシューを削除します。
      • 'reprioritize' - GitHub リポジトリの親イシュー内でサブイシューの順序を変更します。新しい位置を指定するには、'after_id' または 'before_id' を使用します。 イシューヒエラルキーを書き込みます。サブイシューを新しい親に移動するには、replace_parent=true を指定して add を使用してください。書き込み可能な parent フィールドはありません。 (文字列、必須)
    • owner: リポジトリのオーナー(文字列、必須)
    • replace_parent: true の場合、サブイシューの現在の親イシューを置き換えます。'add' メソッドでのみ使用します。(ブール値、任意)
    • repo: リポジトリ名(文字列、必須)
    • sub_issue_id: 追加するサブイシューの ID。ID はイシュ―番号とは異なります(数値、必須)
  • update_issue_comment - イシューのコメントを更新

    • OAuth Challenge Scopes: repo
    • body: 新しいコメントの内容(文字列、必須)
    • comment_id: 更新するイシューまたはプルリクエストの会話コメントの数値 ID。プルリクエストのレビューコメント ID は使用しないでください。(整数、必須)
    • owner: リポジトリのオーナー(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
タグ ラベル
  • get_label - リポジトリから特定のラベルを取得

    • OAuth Challenge Scopes: repo
    • name: ラベル名。(文字列、必須)
    • owner: リポジトリのオーナー(ユーザー名または組織名)(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
  • label_write - リポジトリのラベルに対する書き込み操作

    • OAuth Challenge Scopes: repo
    • color: '#' 接頭辞なしの6文字の16進数カラーコード(例:'f29513')。'create' では必須、'update' では任意です。(文字列、任意)
    • description: ラベルの説明文。'create' と 'update' では任意です。(文字列、任意)
    • method: 実行する操作:'create'、'update'、または 'delete'(文字列、必須)
    • name: ラベル名。すべての操作で必須です(文字列、必須)
    • new_name: ラベルの新しい名前(名前を変更する 'update' メソッドでのみ使用)(文字列、任意)
    • owner: リポジトリのオーナー(ユーザー名または組織名)(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
  • list_label - リポジトリのラベルを一覧表示

    • OAuth Challenge Scopes: repo
    • after: ページネーション用カーソル。前回のレスポンスに含まれるカーソルを使用してください。(文字列、任意)
    • owner: リポジトリのオーナー(ユーザー名または組織名)。すべての操作で必須です(文字列、必須)
    • perPage: ページネーションの1ページあたりの結果数(最小 1、最大 100)(数値、任意)
    • repo: リポジトリ名。すべての操作で必須です(文字列、必須)
ベル 通知 - **dismiss_notification** - 通知を非表示にする - **OAuth Challenge Scopes**: `notifications` - `state`: 通知の新しい状態(read/done)(string、必須) - `threadID`: 通知スレッドのID(string、必須)
  • get_notification_details - 通知の詳細を取得する

    • OAuth Challenge Scopes: notifications
    • notificationID: 通知のID(string、必須)
  • list_notifications - 通知を一覧表示する

    • OAuth Challenge Scopes: notifications
    • before: 指定した時刻(ISO 8601形式)より前に更新された通知のみを表示します(string、任意)
    • filter: 通知を絞り込みます。指定がない場合はデフォルトを使用します。既読通知は、ユーザーがすでに確認済みの通知です。参加中の通知は、ユーザーがコメントまたは作成した issue や pull request など、ユーザーが直接関与している通知です。(string、任意)
    • owner: リポジトリのオーナー(任意)。repo とともに指定した場合、このリポジトリの通知のみが一覧表示されます。(string、任意)
    • page: ページネーションのページ番号(最小値 1)(number、任意)
    • perPage: ページネーションの1ページあたりの結果数(最小値 1、最大値 100)(number、任意)
    • repo: リポジトリ名(任意)。owner とともに指定した場合、このリポジトリの通知のみが一覧表示されます。(string、任意)
    • since: 指定した時刻(ISO 8601形式)より後に更新された通知のみを表示します(string、任意)
  • manage_notification_subscription - 通知の購読を管理する

    • OAuth Challenge Scopes: notifications
    • action: 実行する操作:通知の購読を ignore、watch、または delete します。(string、必須)
    • notificationID: 通知スレッドのID。(string、必須)
  • manage_repository_notification_subscription - リポジトリ通知の購読を管理する

    • OAuth Challenge Scopes: notifications
    • action: 実行する操作:リポジトリ通知の購読を ignore、watch、または delete します。(string、必須)
    • owner: リポジトリのアカウントオーナー。(string、必須)
    • repo: リポジトリ名。(string、必須)
  • mark_all_notifications_read - すべての通知を既読にする

    • OAuth Challenge Scopes: notifications
    • lastReadAt: 通知を最後に確認した時点を示します(任意)。デフォルト:現在(string、任意)
    • owner: リポジトリのオーナー(任意)。repo とともに指定した場合、このリポジトリの通知のみが既読になります。(string、任意)
    • repo: リポジトリ名(任意)。owner とともに指定した場合、このリポジトリの通知のみが既読になります。(string、任意)
組織 組織
  • search_orgs - 組織を検索する
    • OAuth Challenge Scopes: read:org
    • order: 並べ替え順(string、任意)
    • page: ページネーションのページ番号(最小値 1)(number、任意)
    • perPage: ページネーションの1ページあたりの結果数(最小値 1、最大値 100)(number、任意)
    • query: 組織の検索クエリ。例:'microsoft'、'location:california'、'created:>=2025-01-01'。検索対象は自動的に type:org に絞り込まれます。(string、必須)
    • sort: カテゴリ別の並べ替えフィールド(string、任意)
プロジェクト プロジェクト - **projects_get** - GitHub Projects リソースの詳細を取得します - **OAuth Challenge Scopes**: `read:project` - `field_id`: フィールドの ID です。'get_project_field' メソッドでは必須です。(number, optional) - `field_names`: プロジェクトアイテムを取得する際にレスポンスに含めるフィールド名の一覧です (例: ["Status", "Priority"])。サーバー側でフィールド ID に解決されます。人が読める名前しかわからない場合は、'fields' の代わりにこちらを指定してください。'fields' と排他的です。どちらか一方のみを指定してください。'get_project_item' メソッドでのみ使用されます。(string[], optional) - `fields`: プロジェクトアイテムを取得する際にレスポンスに含めるフィールド ID の一覧です (例: ["102589", "985201", "169875"])。'fields' と 'field_names' のどちらも指定しない場合、タイトルフィールドのみが含まれます。'field_names' と排他的です。どちらか一方のみを指定してください。'get_project_item' メソッドでのみ使用されます。(string[], optional) - `item_id`: アイテムの ID です。'get_project_item' メソッドでは必須です。(number, optional) - `method`: 実行するメソッドです。(string, required) - `owner`: オーナー(ユーザーまたは organization のログイン名)です。名前は大文字と小文字を区別しません。(string, optional) - `owner_type`: オーナーの種類(user または org)です。指定しない場合は自動的に判定されます。(string, optional) - `project_number`: プロジェクトの番号です。(number, optional) - `status_update_id`: プロジェクトのステータス更新の node ID です。'get_project_status_update' メソッドでは必須です。(string, optional) - `view_id`: プロジェクトビューの node ID です。'get_project_view' メソッドでは必須です。(string, optional)
  • projects_list - GitHub Projects リソースを一覧表示します
    • OAuth Challenge Scopes: read:project
    • after: 前のレスポンスの pageInfo.nextCursor から得られる、順方向のページネーションカーソルです。(string, optional)
    • before: 前のレスポンスの pageInfo.prevCursor から得られる、逆方向のページネーションカーソルです(まれに使用します)。(string, optional)
    • field_names: プロジェクトアイテムを一覧表示する際に含めるフィールド名です (例: ["Status", "Priority"])。サーバー側でフィールド ID に解決されます。人が読める名前しかわからない場合は、'fields' の代わりにこちらを指定してください。解決できない名前の場合は、構造化されたエラーを返します。'fields' と排他的です。どちらか一方のみを指定してください。'list_project_items' メソッドでのみ使用されます。(string[], optional)
    • fields: プロジェクトアイテムを一覧表示する際に含めるフィールド ID です (例: ["102589", "985201"])。重要: フィールドの値を取得するには、必ず指定してください。指定しない場合('field_names' も指定しない場合)は、タイトルのみが返されます。'field_names' と排他的です。どちらか一方のみを指定してください。'list_project_items' メソッドでのみ使用されます。(string[], optional)
    • method: 実行するアクションです。(string, required)
    • owner: オーナー(ユーザーまたは organization のログイン名)です。名前は大文字と小文字を区別しません。(string, required)
    • owner_type: オーナーの種類(user または org)です。指定しない場合は、両方を自動的に試行します。(string, optional)
    • perPage: 1 ページあたりの結果数です(最大 50)。(number, optional)
    • project_number: プロジェクトの番号です。'list_project_fields'、'list_project_items'、'list_project_views'、'list_project_status_updates' メソッドでは必須です。(number, optional)
    • query: フィルター・クエリ文字列です。list_projects では、タイトルのテキストと状態で絞り込みます (例: "roadmap is:open")。list_project_items では、GitHub のプロジェクトフィルター構文を使った高度なフィルタリングを行います。(string, optional)
  • projects_write - GitHub Projects を管理します
    • OAuth チャレンジスコープ: project
    • body: ステータス更新の本文(Markdown)です。'create_project_status_update' メソッドで使用します。(string, optional)
    • field_name: イテレーションフィールドの名前です(例: 'Sprint')。'create_iteration_field' メソッドでは必須です。(string, optional)
    • filter: 保存済みビューのフィルターです。更新時に省略すると現在の値を維持し、null を渡すとクリアします。(string | null, optional)
    • issue_number: Issue 番号です。item_type が 'issue' の場合、'add_project_item' では必須です。'update_project_item' でも、Issue 番号でアイテムを特定するために指定できます(item_owner および item_repo と組み合わせてください)。(number, optional)
    • item_id: プロジェクトアイテムの ID です。'delete_project_item' では必須です。'update_project_item' では、item_id か、(item_owner + item_repo + issue_number) のいずれかを指定してアイテムを特定してください。(number, optional)
    • item_owner: Issue または Pull Request を含むリポジトリのオーナー(ユーザーまたは組織)です。'add_project_item' メソッドでは必須です。'update_project_item' で Issue 番号によってアイテムを特定する場合にも指定できます。(string, optional)
    • item_repo: Issue または Pull Request を含むリポジトリの名前です。'add_project_item' メソッドでは必須です。'update_project_item' で Issue 番号によってアイテムを特定する場合にも指定できます。(string, optional)
    • item_type: アイテムの種類で、issue または pull_request のいずれかです。'add_project_item' メソッドでは必須です。(string, optional)
    • items: トップレベルの 'updated_field' を適用するアイテムの配列です。'update_project_items' では必須で、ループ内で 'update_project_item' を呼び出すより、こちらを優先してください。各エントリは、'node_id'、数値の 'item_id'、または 'item_owner' + 'item_repo' + 'issue_number' のいずれか 1 つの参照形式に正確に一致する必要があります。1 回の呼び出しで最大 50 件です。(object[], optional)
    • iteration_duration: フィールドのイテレーションの期間(日数)です(例: 週次なら 7、隔週なら 14)。'create_iteration_field' メソッドでは必須です。(number, optional)
    • iterations: 'create_iteration_field' メソッドでカスタムのイテレーションを指定します。期間が異なるイテレーション、間の休止期間、または特定のタイトルが必要な場合にのみ設定してください。それ以外は省略してください。省略すると、GitHub が 'start_date' から始まる 'iteration_duration' 日間のイテレーションを 3 つ自動作成します。ほとんどの場合はこの方法が適切です。(object[], optional)
    • layout: ビューのレイアウトです。ビューを作成する場合は必須です。(string, optional)
    • method: 実行するメソッドです。(string, required)
    • name: ビューの名前です。ビューを作成する場合は必須です。(string, optional)
    • owner: プロジェクトのオーナー(ユーザーまたは組織のログイン名)です。名前は大文字と小文字を区別しません。(string, required)
    • owner_type: オーナーの種類(user または org)です。'create_project' メソッドでは必須です。他のメソッドで指定しない場合は自動的に判定されます。(string, optional)
    • project_number: プロジェクトの番号です。'create_project' を除くすべてのメソッドで必須です。(number, optional)
    • pull_request_number: Pull Request 番号です('add_project_item' メソッドで item_type が 'pull_request' の場合に使用します)。issue_number か pull_request_number のいずれかを指定してください。(number, optional)
    • start_date: 開始日です(YYYY-MM-DD 形式)。'create_project_status_update' および 'create_iteration_field' メソッドで使用します。(string, optional)
    • status: プロジェクトのステータスです。'create_project_status_update' メソッドで使用します。(string, optional)
    • target_date: ステータス更新の目標日です(YYYY-MM-DD 形式)。'create_project_status_update' メソッドで使用します。(string, optional)
    • title: プロジェクトのタイトルです。'create_project' メソッドでは必須です。(string, optional)
    • updated_field: 適用するフィールドと値です。{"id": 123, "value": ...} または {"name": "Status", "value": ...} の形式で指定します。null を指定するとフィールドがクリアされます。'update_project_item' および 'update_project_items' では必須です。'update_project_items' では、1 つのトップレベルのフィールドと値がバッチ内のすべてのアイテムに適用されます。'update_project_item' の SINGLE_SELECT フィールドでは、name 形式でオプション名を指定でき、ID 形式ではオプション ID を指定します。(object, optional)
    • view_id: 更新または削除するプロジェクトビューのノード ID です。owner/project_number に属している必要があります。(string, optional)
    • visible_field_names: 表示するプロジェクトフィールド名を順序付きで指定します。作成時に指定するか、更新時にはすべて置き換えます。更新時に省略すると現在の値を維持し、[] を渡すとリセットされます。visible_fields と同時に指定することはできません。Roadmap では [] のみ指定できます。(string[], optional)
    • visible_fields: 表示するプロジェクトフィールドのデータベース ID を順序付きで指定します。作成時に指定するか、更新時にはすべて置き換えます。更新時に省略すると現在の値を維持し、[] を渡すとリセットされます。visible_field_names と同時に指定することはできません。Roadmap では [] のみ指定できます。(string[], optional)
git-pull-request Pull Requests
  • add_comment_to_pending_review - リクエスト元の最新の保留中のプルリクエストレビューにレビューコメントを追加

    • OAuth Challenge Scopes: repo
    • body: レビューコメントのテキスト (string, required)
    • line: コメントが適用されるプルリクエストの差分内の blob の行。複数行コメントの場合は、範囲の最後の行 (number, optional)
    • owner: リポジトリのオーナー (string, required)
    • path: コメントが必要となるファイルへの相対パス (string, required)
    • pullNumber: プルリクエスト番号 (number, required)
    • repo: リポジトリ名 (string, required)
    • side: コメントを付ける差分の側。LEFT は変更前の状態、RIGHT は変更後の状態を示します (string, optional)
    • startLine: 複数行コメントの場合、コメントが適用される範囲の最初の行 (number, optional)
    • startSide: 複数行コメントの場合、コメントが適用される差分の開始側。LEFT は変更前の状態、RIGHT は変更後の状態を示します (string, optional)
    • subjectType: コメントの対象となるレベル (string, required)
  • add_reply_to_pull_request_comment - プルリクエストのコメントに返信を追加

    • OAuth Challenge Scopes: repo
    • body: 返信のテキスト。reaction が指定されていない場合は必須です。 (string, optional)
    • commentId: 返信またはリアクションを行う、プルリクエストレビューコメントの数値 ID。GraphQL のスレッドノード ID (PRRT_...) ではなく、#discussion_r... アンカーの数字を使用してください。 (number, required)
    • owner: リポジトリのオーナー (string, required)
    • pullNumber: プルリクエスト番号。body が指定されている場合は必須です。 (number, optional)
    • reaction: 追加する絵文字リアクション。body が指定されていない場合は必須です。 (string, optional)
    • repo: リポジトリ名 (string, required)
  • create_pull_request - 新しいプルリクエストを作成

    • OAuth Challenge Scopes: repo
    • MCP App UI: ui://github-mcp-server/pr-write
    • base: マージ先のブランチ (string, required)
    • body: PR の説明 (string, optional)
    • draft: ドラフト PR として作成 (boolean, optional)
    • head: 変更を含むブランチ (string, required)
    • maintainer_can_modify: メンテナーによる編集を許可 (boolean, optional)
    • owner: リポジトリのオーナー (string, required)
    • repo: リポジトリ名 (string, required)
    • reviewers: レビューを依頼する GitHub ユーザー名、または ORG/team-slug 形式のチームレビュアー (string[], optional)
    • title: PR のタイトル (string, required)
  • list_pull_requests - プルリクエストを一覧表示

    • OAuth Challenge Scopes: repo
    • base: マージ先のブランチで絞り込み (string, optional)
    • direction: ソートの方向 (string, optional)
    • fields: 各プルリクエストについて返すフィールドのサブセット。省略した場合はすべてのフィールドが返されます。特定のフィールドのみが必要な場合に、レスポンスサイズを減らすために使用します。特に 'body' を省略すると、結果ごとの最大のデータを除外できます。 (string[], optional)
    • head: ヘッドのユーザー/組織とブランチで絞り込み (string, optional)
    • owner: リポジトリのオーナー (string, required)
    • page: ページネーション用のページ番号 (最小 1) (number, optional)
    • perPage: ページネーション用の 1 ページあたりの結果数 (最小 1、最大 100) (number, optional)
    • repo: リポジトリ名 (string, required)
    • sort: ソートの基準 (string, optional)
    • state: 状態で絞り込み (string, optional)
  • merge_pull_request - プルリクエストをマージ

    • OAuth Challenge Scopes: repo
    • commit_message: マージコミットの詳細情報(文字列、任意)
    • commit_title: マージコミットのタイトル(文字列、任意)
    • expectedHeadSha: プルリクエストの HEAD ref として想定される SHA(文字列、任意)
    • merge_method: マージ方法(文字列、任意)
    • owner: リポジトリのオーナー(文字列、必須)
    • pullNumber: プルリクエスト番号(数値、必須)
    • repo: リポジトリ名(文字列、必須)
  • pull_request_read - 単一のプルリクエストの詳細を取得

    • OAuth Challenge Scopes: repo
    • after: ページネーション用のカーソル。get_review_comments メソッドでのみ使用されます。次のページを取得するには、前のページの PageInfo にある endCursor を渡してください。(文字列、任意)
    • method: GitHub からどのプルリクエストデータを取得するかを指定するアクション。 指定可能なオプション:
      1. get - 特定のプルリクエストの詳細を取得します。
      2. get_diff - プルリクエストの差分を取得します。
      3. get_status - プルリクエストの HEAD コミットに対する結合されたコミットステータスを取得します。
      4. get_files - プルリクエストで変更されたファイルの一覧を取得します。ページネーションパラメータと併用して、返される結果の数を制御します。
      5. get_commits - プルリクエスト上のコミットの一覧を取得します。ページネーションパラメータと併用して、返される結果の数を制御します。
      6. get_review_comments - プルリクエストのレビュースレッドを取得します。各スレッドには、プルリクエストのレビュー中に同じコードの位置に対して論理的にまとめられたレビューコメントが含まれます。スレッドのメタデータと、null 許容の現在およびオリジナルの行範囲座標(line、start_line、original_line、original_start_line)を含むコメントを返します。現在の座標は、古いコメントなど利用できない場合には省略されます。結果を制御するには、カーソルベースのページネーション(perPage、after)を使用してください。
      7. get_reviews - プルリクエストのレビューを取得します。レビューコメントを求められた場合は、get_review_comments メソッドを使用してください。ページネーションパラメータと併用して、返される結果の数を制御します。
      8. get_comments - プルリクエストのコメントを取得します。ユーザーがレビューコメントを特に求めていない場合はこちらを使用してください。ページネーションパラメータと併用して、返される結果の数を制御します。
      9. get_check_runs - プルリクエストの HEAD コミットのチェックランを取得します。チェックランは、PR 上で実行される個々の CI/CD ジョブおよびチェックです。 (文字列、必須)
    • owner: リポジトリのオーナー(文字列、必須)
    • page: ページネーション用のページ番号(最小 1)(数値、任意)
    • perPage: ページネーション用の 1 ページあたりの結果数(最小 1、最大 100)(数値、任意)
    • pullNumber: プルリクエスト番号(数値、必須)
    • repo: リポジトリ名(文字列、必須)
  • pull_request_review_write - プルリクエストのレビューに対する書き込み操作(作成、送信、削除)

    • OAuth Challenge Scopes: repo
    • body: レビューコメントのテキスト(文字列、任意)
    • commitID: レビュー対象のコミットの SHA(文字列、任意)
    • event: 実行するレビューアクション。(文字列、任意)
    • method: プルリクエストのレビューに対して実行する書き込み操作。(文字列、必須)
    • owner: リポジトリのオーナー(文字列、必須)
    • pullNumber: プルリクエスト番号(数値、必須)
    • repo: リポジトリ名(文字列、必須)
    • threadId: レビュースレッドのノード ID(例: PRRT_kwDOxxx)。resolve_thread および unresolve_thread メソッドで必須です。スレッド ID は、method が get_review_comments の pull_request_read から取得してください。(文字列、任意)
  • search_pull_requests - プルリクエストを検索

    • OAuth Challenge Scopes: repo
    • fields: 各プルリクエスト結果に含めるフィールドのサブセット。省略すると、すべてのフィールドが返されます。特定のフィールドだけが必要な場合に、レスポンスサイズを減らすために使用します。特に 'body'、'reactions'、'labels' を省略すると、結果ごとの最も大きなデータが除外されます。(string[], optional)
    • order: ソート順 (string, optional)
    • owner: 任意のリポジトリオーナー。repo と併せて指定した場合、このリポジトリのプルリクエストのみが一覧表示されます。(string, optional)
    • page: ページネーション用のページ番号 (最小 1) (number, optional)
    • perPage: ページネーション用の1ページあたりの結果数 (最小 1、最大 100) (number, optional)
    • query: GitHub のプルリクエスト検索構文を使用した検索クエリ (string, required)
    • repo: 任意のリポジトリ名。owner と併せて指定した場合、このリポジトリのプルリクエストのみが一覧表示されます。(string, optional)
    • sort: カテゴリの一致数によるソートフィールド。デフォルトは最も一致するもの (string, optional)
  • update_pull_request - プルリクエストを編集

    • OAuth Challenge Scopes: repo
    • MCP App UI: ui://github-mcp-server/pr-edit
    • base: 新しいベースブランチ名 (string, optional)
    • body: 新しい説明 (string, optional)
    • draft: プルリクエストをドラフトにする (true) か、レビュー可能な状態にする (false) かを指定します (boolean, optional)
    • maintainer_can_modify: メンテナーによる編集を許可 (boolean, optional)
    • owner: リポジトリオーナー (string, required)
    • pullNumber: 更新するプルリクエスト番号 (number, required)
    • repo: リポジトリ名 (string, required)
    • reviewers: レビューを依頼する GitHub ユーザー名、または ORG/team-slug 形式のチームレビュアー (string[], optional)
    • state: 新しい状態 (string, optional)
    • title: 新しいタイトル (string, optional)
  • update_pull_request_branch - プルリクエストのブランチを更新

    • OAuth Challenge Scopes: repo
    • expectedHeadSha: プルリクエストの HEAD ref として期待される SHA (string, optional)
    • owner: リポジトリオーナー (string, required)
    • pullNumber: プルリクエスト番号 (number, required)
    • repo: リポジトリ名 (string, required)
repo Repositories
  • create_branch - ブランチを作成

    • OAuth Challenge Scopes: repo
    • branch: 新しいブランチの名前 (string, required)
    • from_branch: 作成元のブランチ (デフォルトはリポジトリのデフォルトブランチ) (string, optional)
    • owner: リポジトリオーナー (string, required)
    • repo: リポジトリ名 (string, required)
  • create_or_update_file - ファイルを作成または更新

    • OAuth Challenge Scopes: repo, workflow
    • allow_symlink_write: シンボリックリンク自体を更新する場合は true を設定します。content には新しいターゲットパスを指定する必要があります。(boolean, optional)
    • branch: ファイルを作成/更新するブランチ (string, required)
    • content: 書き込み後にファイルに表示されるとおりの内容。base64 エンコードしないでください。このサーバーが REST API を呼び出す前にエンコードします。(string, required)
    • message: コミットメッセージ (string, required)
    • owner: リポジトリオーナー (ユーザー名または組織) (string, required)
    • path: ファイルを作成/更新するパス (string, required)
    • repo: リポジトリ名 (string, required)
    • sha: 置き換えるファイルの blob SHA。ファイルが既に存在する場合は必須です。同じ owner、repo、path を指定し、ref にこのツールの branch の値を設定して get_file_contents で取得します。(string, optional)
  • create_repository - リポジトリを作成

    • OAuth チャレンジスコープ: repo
    • autoInit: README を含めて初期化します(boolean、任意)
    • description: リポジトリの説明(string、任意)
    • name: リポジトリ名(string、必須)
    • organization: リポジトリを作成する組織(省略すると個人アカウントに作成されます)(string、任意)
    • private: リポジトリを非公開にするかどうか。省略時はtrue(非公開)になります。(boolean、任意)
  • delete_file - ファイルを削除

    • OAuth チャレンジスコープ: repo, workflow
    • branch: ファイルを削除するブランチ(string、必須)
    • message: コミットメッセージ(string、必須)
    • owner: リポジトリの所有者(ユーザー名または組織)(string、必須)
    • path: 削除するファイルのパス(string、必須)
    • repo: リポジトリ名(string、必須)
  • delete_repository - リポジトリを削除

    • OAuth チャレンジスコープ: delete_repo, repo
    • owner: リポジトリの所有者(ユーザー名または組織)(string、必須)
    • repo: リポジトリ名(string、必須)
  • fork_repository - リポジトリをフォーク

    • OAuth チャレンジスコープ: repo
    • organization: フォーク先の組織(string、任意)
    • owner: リポジトリの所有者(string、必須)
    • repo: リポジトリ名(string、必須)
  • get_commit - コミットの詳細を取得

    • OAuth チャレンジスコープ: repo
    • detail: 変更されたファイルに含める詳細レベル。"none" は stats と files を完全に省略します。"stats"(デフォルト)は、ファイル名、ステータス、コード行数(追加、削除、変更)などのファイルごとのメタデータを含みますが、パッチの内容は含みません。"full_patch" は各ファイルの unified diff の内容も追加で含むため、非常に大きくなる場合があります。(string、任意)
    • owner: リポジトリの所有者(string、必須)
    • page: ページネーション用のページ番号(最小 1)(number、任意)
    • perPage: ページネーション用の1ページあたりの結果数(最小 1、最大 100)(number、任意)
    • repo: リポジトリ名(string、必須)
    • sha: コミット SHA、ブランチ名、またはタグ名(string、必須)
  • get_file_contents - ファイルまたはディレクトリの内容を取得

    • OAuth チャレンジスコープ: repo
    • fields: パスがディレクトリの場合に各エントリで返すフィールドのサブセット。省略するとすべてのフィールドを返します。パスが単一ファイルの場合は無視されます。ディレクトリ一覧で必要なフィールドだけを取得し、レスポンスサイズを減らしたい場合に使用します(例:'name' と 'type' のみ)。(string[]、任意)
    • owner: リポジトリの所有者(ユーザー名または組織)(string、必須)
    • path: ファイルまたはディレクトリのパス(string、任意)
    • ref: refs/tags/{tag}、refs/heads/{branch}、refs/pull/{pr_number}/head などの任意の git ref を指定できます(string、任意)
    • repo: リポジトリ名(string、必須)
    • sha: 任意のコミット SHA を指定できます。指定された場合、ref の代わりにこの値が使用されます(string、任意)
  • get_latest_release - 最新のリリースを取得

    • OAuth チャレンジスコープ: repo
    • owner: リポジトリの所有者(string、必須)
    • repo: リポジトリ名(string、必須)
  • get_release_by_tag - タグ名でリリースを取得

    • OAuth チャレンジスコープ: repo
    • owner: リポジトリの所有者(string、必須)
    • repo: リポジトリ名(string、必須)
    • tag: タグ名(例:'v1.0.0')(string、必須)
  • get_tag - タグの詳細を取得

    • OAuth チャレンジスコープ: repo
    • owner: リポジトリの所有者(string、必須)
    • repo: リポジトリ名(string、必須)
    • tag: タグ名(string、必須)
  • list_branches - ブランチを一覧表示

    • OAuth チャレンジスコープ: repo
    • owner: リポジトリの所有者(string、必須)
    • page: ページネーション用のページ番号(最小 1)(number、任意)
    • perPage: ページネーション用の1ページあたりの結果数(最小 1、最大 100)(number、任意)
    • repo: リポジトリ名(string、必須)
  • list_commits - コミットを一覧表示

    • OAuth Challenge Scopes: repo
    • author: コミットをフィルタリングする作成者のユーザー名またはメールアドレス (string, optional)
    • fields: 各コミットで返すフィールドのサブセット。省略した場合はすべてのフィールドが返されます。特定のフィールドのみが必要な場合は、レスポンスサイズを減らすために使用します。例: 'sha' と 'html_url' のみ。 (string[], optional)
    • owner: リポジトリのオーナー (string, required)
    • page: ページネーションのページ番号 (最小 1) (number, optional)
    • path: このファイルパスを含むコミットのみが返されます (string, optional)
    • perPage: ページネーションでのページあたりの結果数 (最小 1、最大 100) (number, optional)
    • repo: リポジトリ名 (string, required)
    • sha: 一覧表示するコミットの SHA、ブランチ名、またはタグ名。指定されない場合は、リポジトリのデフォルトブランチを使用します。コミット SHA を指定した場合、その SHA までのコミットを一覧表示します。 (string, optional)
    • since: この日付以降のコミットのみが返されます (ISO 8601 形式: YYYY-MM-DDTHH:MM:SSZ または YYYY-MM-DD) (string, optional)
    • until: この日付以前のコミットのみが返されます (ISO 8601 形式: YYYY-MM-DDTHH:MM:SSZ または YYYY-MM-DD) (string, optional)
  • list_releases - リリースを一覧表示

    • OAuth Challenge Scopes: repo
    • fields: 各リリースで返すフィールドのサブセット。省略した場合はすべてのフィールドが返されます。特定のフィールドのみが必要な場合は、レスポンスサイズを減らすために使用します。特に 'body' を省略すると、リリースごとの最大のデータが除外されます。 (string[], optional)
    • owner: リポジトリのオーナー (string, required)
    • page: ページネーションのページ番号 (最小 1) (number, optional)
    • perPage: ページネーションでのページあたりの結果数 (最小 1、最大 100) (number, optional)
    • repo: リポジトリ名 (string, required)
  • list_repository_collaborators - リポジトリのコラボレーターを一覧表示

    • OAuth Challenge Scopes: repo
    • affiliation: 所属によるフィルター。'outside' (外部コラボレーター)、'direct' (組織のメンバーシップに関係なく権限を持つすべてのユーザー)、'all' (すべてのコラボレーター) のいずれかを指定できます。デフォルト: 'all' (string, optional)
    • owner: リポジトリのオーナー (string, required)
    • page: ページネーションのページ番号 (デフォルト 1、最小 1) (number, optional)
    • perPage: ページネーションでのページあたりの結果数 (デフォルト 30、最小 1、最大 100) (number, optional)
    • repo: リポジトリ名 (string, required)
  • list_tags - タグを一覧表示

    • OAuth Challenge Scopes: repo
    • owner: リポジトリのオーナー (string, required)
    • page: ページネーションのページ番号 (最小 1) (number, optional)
    • perPage: ページネーションでのページあたりの結果数 (最小 1、最大 100) (number, optional)
    • repo: リポジトリ名 (string, required)
  • push_files - リポジトリにファイルをプッシュ

    • OAuth Challenge Scopes: repo, workflow
    • branch: プッシュ先のブランチ (string, required)
    • files: プッシュするファイルオブジェクトの配列。各オブジェクトは path (string) と content (string) を持ちます (object[], required)
    • message: コミットメッセージ (string, required)
    • owner: リポジトリのオーナー (string, required)
    • repo: リポジトリ名 (string, required)
  • search_code - コードを検索

    • OAuth Challenge Scopes: repo
    • fields: 各コード検索結果に対して返すフィールドのサブセット。省略するとすべてのフィールドが返されます。特定のフィールドのみが必要な場合は、レスポンスサイズを減らすために使用してください。特に repository と text_matches を省略すると、結果ごとの最も大きなデータが除外されます。(string[], optional)
    • order: 結果の並び順 (string, optional)
    • page: ページネーション用のページ番号 (最小 1) (number, optional)
    • perPage: ページネーション用の1ページあたりの結果数 (最小 1、最大 100) (number, optional)
    • query: 検索クエリ (GitHub コード検索 REST)。用語間は暗黙的に AND になります。OR、NOT、および完全一致用の "quoted phrase" をサポートします。修飾子: repo:owner/repo、org:、user:、language:、path:dir (前方一致)、filename:exact.ext、extension:、in:file、in:path、size:、is:archived、is:fork。最大 256 文字。例: WithContext language:go org:github; "package main" repo:o/r; func extension:go path:cmd repo:o/r; NOT TODO language:go repo:o/r。(string, required)
    • sort: ソートフィールド (indexed のみ) (string, optional)
  • search_commits - コミットを検索

    • OAuth Challenge Scopes: repo
    • order: 並び順 (string, optional)
    • page: ページネーション用のページ番号 (最小 1) (number, optional)
    • perPage: ページネーション用の1ページあたりの結果数 (最小 1、最大 100) (number, optional)
    • query: コミット検索クエリ (GitHub コミット検索 REST)。デフォルトブランチのコミットメッセージのみを検索します。repo:owner/repo、org:、または user: で検索範囲を指定してください (範囲指定の修飾子がないクエリは GitHub 全体に対して一致するため、通常は望ましくありません)。その他の修飾子: author:、committer:、author-name:、committer-name:、author-email:、committer-email:、author-date:、committer-date: (>、<、>=、<=、YYYY-MM-DD..YYYY-MM-DD の範囲をサポート)、merge:true|false、hash:、tree:、parent:、is:public。例: repo:owner/repo fix panic; org:github author:defunkt committer-date:>=2024-01-01; "refactor cache" repo:o/r; hash:abc1234 repo:o/r。(string, required)
    • sort: 作成者またはコミッターの日付でソート (デフォルトは最適一致) (string, optional)
  • search_repositories - リポジトリを検索

    • OAuth Challenge Scopes: repo
    • minimal_output: リポジトリの最小限の情報を返します (デフォルト: true)。false の場合、最新のクライアントには、完全な GitHub API オブジェクトではなく、厳選された追加のリポジトリ詳細が返されます。レガシークライアントには、完全な GitHub API リポジトリオブジェクトが引き続き返されます。(boolean, optional)
    • order: 並び順 (string, optional)
    • page: ページネーション用のページ番号 (最小 1) (number, optional)
    • perPage: ページネーション用の1ページあたりの結果数 (最小 1、最大 100) (number, optional)
    • query: リポジトリ検索クエリ。例: 'machine learning in:name stars:>1000 language:python'、'topic:react'、'user:facebook'。正確な絞り込みのための高度な検索構文をサポートします。(string, required)
    • sort: リポジトリをフィールドでソート。デフォルトは最適一致 (string, optional)
shield-lock Secret Protection
  • get_secret_scanning_alert - シークレットスキャンアラートを取得
    • OAuth Challenge Scopes: security_events
    • alertNumber: アラートの番号。(number, required)
    • owner: リポジトリの所有者。(string, required)
    • repo: リポジトリの名前。(string, required)
  • list_secret_scanning_alerts - シークレットスキャンのアラートを一覧表示
    • OAuth Challenge Scopes: security_events
    • owner: リポジトリのオーナーです。(string, required)
    • page: ページネーション用のページ番号 (最小 1) (number, optional)
    • perPage: ページネーション用の1ページあたりの結果数 (最小 1、最大 100) (number, optional)
    • repo: リポジトリの名前です。(string, required)
    • resolution: 解決状況でフィルタリングします (string, optional)
    • secret_type: 返却するシークレットタイプのカンマ区切りリストです。デフォルトのシークレットパターンはすべて返されます。汎用パターンを返すには、パラメータにトークン名を渡してください。 (string, optional)
    • state: 状態でフィルタリングします (string, optional)
shield Security Advisories
  • get_global_security_advisory - グローバルセキュリティアドバイザリを取得

    • OAuth Challenge Scopes: security_events
    • ghsaId: GitHub Security Advisory ID (形式: GHSA-xxxx-xxxx-xxxx)。(string, required)
  • list_global_security_advisories - グローバルセキュリティアドバイザリを一覧表示

    • OAuth Challenge Scopes: security_events
    • affects: 影響を受けるパッケージまたはバージョンでアドバイザリをフィルタリングします (例: "package1,[email protected]")。(string, optional)
    • cveId: CVE ID でフィルタリングします。(string, optional)
    • cwes: Common Weakness Enumeration ID でフィルタリングします (例: ["79", "284", "22"])。(string[], optional)
    • ecosystem: パッケージエコシステムでフィルタリングします。(string, optional)
    • ghsaId: GitHub Security Advisory ID でフィルタリングします (形式: GHSA-xxxx-xxxx-xxxx)。(string, optional)
    • isWithdrawn: 取り下げられたアドバイザリのみを返すかどうかです。(boolean, optional)
    • modified: 公開日または更新日、もしくは日付範囲でフィルタリングします (ISO 8601 の日付または範囲)。(string, optional)
    • published: 公開日または日付範囲でフィルタリングします (ISO 8601 の日付または範囲)。(string, optional)
    • severity: 深刻度でフィルタリングします。(string, optional)
    • type: アドバイザリのタイプです。(string, optional)
    • updated: 更新日または日付範囲でフィルタリングします (ISO 8601 の日付または範囲)。(string, optional)
  • list_org_repository_security_advisories - Organization のリポジトリセキュリティアドバイザリを一覧表示

    • OAuth Challenge Scopes: security_events
    • direction: ソートの方向です。(string, optional)
    • org: Organization のログイン名です。(string, required)
    • sort: ソートするフィールドです。(string, optional)
    • state: アドバイザリの状態でフィルタリングします。(string, optional)
  • list_repository_security_advisories - リポジトリのセキュリティアドバイザリを一覧表示

    • OAuth Challenge Scopes: security_events
    • direction: ソートの方向です。(string, optional)
    • owner: リポジトリのオーナーです。(string, required)
    • repo: リポジトリの名前です。(string, required)
    • sort: ソートするフィールドです。(string, optional)
    • state: アドバイザリの状態でフィルタリングします。(string, optional)
star Stargazers
  • list_starred_repositories - スターを付けたリポジトリを一覧表示

    • OAuth Challenge Scopes: repo
    • direction: 結果をソートする方向です。(string, optional)
    • page: ページネーション用のページ番号 (最小 1) (number, optional)
    • perPage: ページネーション用の1ページあたりの結果数 (最小 1、最大 100) (number, optional)
    • sort: 結果のソート方法です。'created' (リポジトリにスターを付けた日時) または 'updated' (リポジトリが最後にプッシュされた日時) を指定できます。(string, optional)
    • username: スターを付けたリポジトリを一覧表示するユーザー名です。デフォルトは認証済みユーザーです。(string, optional)
  • star_repository - リポジトリにスターを付ける

    • OAuth Challenge Scopes: repo
    • owner: リポジトリのオーナー (string, required)
    • repo: リポジトリ名 (string, required)
  • unstar_repository - リポジトリのスターを外す

    • OAuth Challenge Scopes: repo
    • owner: リポジトリのオーナー (string, required)
    • repo: リポジトリ名 (string, required)
people Users
  • search_users - ユーザーを検索
    • OAuth Challenge Scopes: repo
    • order: 並び順 (string, optional)
    • page: ページネーション用のページ番号 (最小 1) (number, optional)
    • perPage: ページネーション用の1ページあたりの結果数 (最小 1、最大 100) (number, optional)
    • query: ユーザー検索クエリ。例: 'john smith'、'location:seattle'、'followers:>100'。検索は自動的に type:user にスコープされます。 (string, required)
    • sort: フォロワー数やリポジトリ数、または GitHub に参加した日時でユーザーを並べ替えます。 (string, optional)
Remote GitHub MCP Server の追加ツール
Copilot
  • create_pull_request_with_copilot - GitHub Copilot コーディングエージェントでタスクを実行
    • owner: リポジトリのオーナー。オーナーを推測することはできますが、進める前にユーザーに確認してください。 (string, required)
    • repo: リポジトリ名。リポジトリ名を推測することはできますが、進める前にユーザーに確認してください。 (string, required)
    • problem_statement: 実行するタスクの詳細な説明 (例: 'X を行う機能を実装する'、'バグ Y を修正する' など) (string, required)
    • title: 作成されるプルリクエストのタイトル (string, required)
    • base_ref: エージェントが作業を開始する Git リファレンス (例: ブランチ)。指定しない場合は、リポジトリのデフォルトブランチが使用されます (string, optional)
Copilot Spaces
  • 認証に関する注意

    • きめ細かい PAT は、クラシック PAT のスコープフィルタリングによって非表示になることはないため、トークンがこれらのツールを使用できない場合でもツールが表示されることがあります。
    • 組織所有のスペースの場合、きめ細かい PAT は所有組織にインストールされている必要があり、organization_copilot_spaces: read を含んでいる必要があります。
    • 組織所有のスペースにリポジトリベースのリソースが含まれている場合、トークンは参照されているすべてのリポジトリにアクセスできる必要があります。アクセスできない場合、スペースは見つからないものとして扱われる可能性があります。
  • get_copilot_space - Copilot Space を取得

    • owner: スペースのオーナー。 (string, required)
    • name: スペースの名前。 (string, required)
  • list_copilot_spaces - Copilot Spaces を一覧表示

GitHub Support Docs Search
  • github_support_docs_search - GitHub の製品およびサポートに関する質問に答えるための関連ドキュメントを取得します。サポートトピックには、GitHub Actions Workflows、Authentication、GitHub Support Inquiries、Pull Request Practices、Repository Maintenance、GitHub Pages、GitHub Packages、GitHub Discussions、Copilot Spaces が含まれます
    • query: 回答が必要な質問に関するユーザーからの入力。これは、ユーザーの最新の未編集の生のメッセージです。ユーザーメッセージは必ずそのまま残し、決して変更しないでください。 (string, required)

読み取り専用モード

サーバーを読み取り専用モードで実行するには、--read-only フラグを使用します。これにより読み取り専用のツールのみが提供され、リポジトリ、Issue、プルリクエストなどへの変更が防止されます。

./github-mcp-server --read-only

Docker を使用する場合は、環境変数として読み取り専用モードを渡すことができます:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_READ_ONLY=1 \
  ghcr.io/github/github-mcp-server

ロックダウンモード

ロックダウンモードは、サーバーが公開リポジトリから提示するコンテンツを制限します。有効にすると、サーバーは各項目の作成者がそのリポジトリに対するプッシュアクセス権を持っているかを確認します。プライベートリポジトリは影響を受けず、コラボレーターは自分のコンテンツへのフルアクセスを維持します。

ロックダウンモードは、信頼できないリポジトリコンテンツ(イシュー、プルリクエスト、コメント、コミットなど)からのプロンプトインジェクションのリスクを軽減することを目的とした、ベストエフォート型のコンテンツフィルターです。認可の境界ではありません。基盤となる GitHub の認証情報が読み取りまたは書き込みできる内容は変わらず、フィルタリングされたツールレスポンスから除外されたコンテンツも、同じ認証情報で他のツールや GitHub API を直接利用することで到達可能な場合があります。

意図的な例外として、信頼できる少数のボットアカウント(現在は github-actions[bot] と copilot)が作成したコンテンツは、プッシュアクセス権の有無にかかわらず常に安全なものとして扱われます。これは、ロックダウンモードでは除外されてしまう、CI によって生成されたコミットやコメントなどの定型的な自動化出力がフィルタリングされるのを防ぐためです。

./github-mcp-server --lockdown-mode

Docker で実行する場合は、対応する環境変数を設定してください。

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_LOCKDOWN_MODE=1 \
  ghcr.io/github/github-mcp-server

HTTP モードでは、このフラグ(または GITHUB_LOCKDOWN_MODE)が上限として機能します。オペレーターが有効にしていない場合、X-MCP-Lockdown リクエストヘッダーでロックダウンモードを有効にできますが、オペレーターがすでに有効にしたロックダウンモードを無効にすることはできません。詳細は サーバー設定ガイド を参照してください。

ロックダウンモードの動作は、呼び出されるツールによって異なります。

以下のツールは、作成者にプッシュアクセス権がない場合にエラーを返します。

  • issue_read:get
  • pull_request_read:get
  • pull_request_read:get_diff
  • pull_request_read:get_files
  • pull_request_read:get_commits

以下のツールは、プッシュアクセス権を持たないユーザーのコンテンツをフィルタリングして除外します。

  • issue_read:get_comments
  • issue_read:get_sub_issues
  • pull_request_read:get_comments
  • pull_request_read:get_review_comments
  • pull_request_read:get_reviews

i18n / 説明文の上書き

ツールの説明文は、バイナリと同じディレクトリに github-mcp-server-config.json ファイルを作成することで上書きできます。

このファイルは、キーをツール名、値を新しい説明文とする JSON オブジェクトを含む必要があります。例:

{
  "TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
  "TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}

--export-translations フラグを付けてバイナリを実行すると、現在の翻訳のエクスポートを作成できます。

このフラグは、これまでに行った翻訳や上書きを保持しつつ、前回エクスポートしてからバイナリに追加された新しい翻訳を追加します。

./github-mcp-server --export-translations
cat github-mcp-server-config.json

環境変数を使って説明文を上書きすることもできます。環境変数名は JSON ファイルのキーと同じで、先頭に GITHUB_MCP_ が付き、すべて大文字になります。

例えば、TOOL_ADD_ISSUE_COMMENT_DESCRIPTION ツールの説明文を上書きするには、次の環境変数を設定します。

export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"
サーバー名とタイトルの上書き

同じ上書きの仕組みを使って、初期化レスポンスに含まれる MCP サーバーの name と title フィールドをカスタマイズできます。これは、複数の GitHub MCP Server インスタンス(例: github.com 用と GitHub Enterprise Server 用)を実行する場合に、エージェントがそれらを区別できるようにするために便利です。

キー環境変数デフォルト
SERVER_NAMEGITHUB_MCP_SERVER_NAMEgithub-mcp-server
SERVER_TITLEGITHUB_MCP_SERVER_TITLEGitHub MCP Server

例えば、GitHub Enterprise Server 用のサーバーインスタンスを設定するには、次のようにします。

{
  "SERVER_NAME": "ghes-mcp-server",
  "SERVER_TITLE": "GHES MCP Server"
}

または環境変数を使う場合:

export GITHUB_MCP_SERVER_NAME="ghes-mcp-server"
export GITHUB_MCP_SERVER_TITLE="GHES MCP Server"

ライブラリとしての利用

本モジュールがエクスポートする Go API は現時点では不安定なものとみなし、破壊的変更が加わる可能性があります。将来的には安定性を提供するかもしれません。これが価値を持つユースケースがあれば、Issue を作成してください。

コントリビュート

コントリビュートを歓迎します。プルリクエストを作成する前に、セットアップ、テスト、リンティング、ドキュメント生成の手順について、コントリビュートガイドをお読みください。

サポート

GitHub MCP Server の使い方については、サポートガイドをご覧ください。バグを見つけた場合や機能をリクエストしたい場合は、新しいissueを作成する前に既存のissueを検索してください。

セキュリティ

セキュリティの脆弱性は、公開のissueで報告しないでください。脆弱性を適切に報告するには、セキュリティポリシーの指示に従ってください。

ライセンス

このプロジェクトは MIT オープンソースライセンスの条件に基づいてライセンスされています。全文については MIT をご参照ください。

コメント

MCP は初めてですか?

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

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