GitHub MCP
公式GitHub MCPの公式サーバーで、リポジトリ検索、Issue、プルリクエスト、コードコンテキスト、GitHubワークフローをMCP対応のAIクライアントで利用できます。
GitHub MCPで何ができますか?
- リポジトリ探索 — アシスタントにコードの閲覧、ファイル検索、アクセス可能な任意のリポジトリのコミット分析を依頼できます。
- Issue と PR の管理 — AI による Issue やプルリクエストの作成、更新、トリアージに加え、コード変更のレビューが可能です。
- CI/CD モニタリング — GitHub Actions のワークフロー実行に関する洞察を得て、ビルド失敗を分析し、リリースを管理できます。
- セキュリティ分析 — コードスキャンの結果を調査し、脆弱性に関する Dependabot アラートを確認できます。
- チームコラボレーション — ディスカッションへのアクセス、通知の管理、プロジェクト全体のチーム活動の分析が可能です。
ホスト型 MCP サーバー
npx add-mcp 'https://api.githubcopilot.com/mcp/'Claude Code、Codex、Cursor などにインストールできます
ドキュメント
GitHub MCP サーバー
GitHub MCP サーバーは、AI ツールを GitHub のプラットフォームに直接接続します。これにより、AI エージェント、アシスタント、チャットボットは、リポジトリやコードファイルの読み取り、Issue や PR の管理、コード分析、ワークフローの自動化を、すべて自然言語のやり取りを通じて行うことができます。
ユースケース
- リポジトリ管理: アクセス権のある任意のリポジトリに対して、コードの閲覧・検索、ファイルの検索、コミットの分析、プロジェクト構造の把握ができます。
- Issue・PR の自動化: Issue やプルリクエストの作成、更新、管理ができます。AI によるバグのトリアージ、コード変更のレビュー、プロジェクトボードの管理を活用できます。
- CI/CD とワークフローのインテリジェンス: GitHub Actions のワークフロー実行の監視、ビルド失敗の分析、リリース管理、開発パイプラインに関する洞察を得ることができます。
- コード分析: セキュリティ上の指摘事項の調査、Dependabot アラートの確認、コードパターンの理解、コードベースに関する包括的な洞察を得ることができます。
- チームコラボレーション: ディスカッションへのアクセス、通知の管理、チーム活動の分析、チームのプロセス効率化ができます。
AI ツールを GitHub のコンテキストと機能に接続したい開発者のために作られており、シンプルな自然言語クエリから複雑なマルチステップのエージェントワークフローまで対応します。
Go モジュールの使用
Go モジュールのパスは github.com/github/github-mcp-server/v2 です。ライブラリの利用者は、
インポート時にこのプレフィックスを使用する必要があります。例えば、
github.com/github/github-mcp-server/v2/pkg/github や go get コマンドで使用します。
リポジトリのチェックアウトからビルドする場合、/v2 サブディレクトリは不要です。
既存の v2.0.0 タグは、このモジュールパス修正より前のものであり、Go モジュールとして使用することはできません。この変更がマージされた後、v2.0.1 などの新しいリリースを、修正されたモジュールパスを含むコミットからタグ付けする必要があります。それまでは、この変更を含むコミットから疑似バージョンを使用できます。
リモート GitHub MCP サーバー
リモート GitHub MCP サーバーは GitHub によってホストされており、最も簡単に使い始めることができます。お使いの MCP ホストがリモート MCP サーバーをサポートしていない場合でも、心配はいりません。GitHub MCP サーバーのローカル版を使用できます。
前提条件
- リモートサーバーをサポートする互換性のある MCP ホスト(VS Code 1.101+、Claude Desktop、Cursor、Windsurf など)
- 該当するポリシーが有効になっていること
VS Code へのインストール
簡単にインストールするには、上記のワンクリックインストールボタンを使用します。フローが完了したら、Agent モード(Copilot Chat のテキスト入力の近くにあります)を切り替えると、サーバーが起動します。リモート MCP と OAuth サポートには、VS Code 1.101 以降を使用していることを確認してください。
または、VS Code を手動で設定するには、以下の例から適切な JSON ブロックを選択し、ホスト設定に追加します:
| OAuth を使用 | GitHub PAT を使用 |
|---|---|
| VS Code(バージョン 1.101 以上) | |
|
|
他の 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 パスを使用 | ヘッダーを使用 |
|---|---|
|
|
詳細と例についてはリモートサーバードキュメントを、利用可能な機能の完全なリストについてはInsiders 機能を参照してください。
GitHub Enterprise
データ所在地を備えた GitHub Enterprise Cloud(ghe.com)
GitHub Enterprise Cloud でもリモートサーバーを利用できます。
https://octocorp.ghe.com と GitHub PAT トークンを使用した例:
{
...
"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 とデータ所在地を備えた Enterprise Cloud(ghe.com)を参照してください。
ローカル GitHub MCP サーバー
前提条件
-
コンテナでサーバーを実行するには、Docker がインストールされている必要があります。
-
Docker がインストールされたら、Docker が実行されていることを確認する必要もあります。Docker イメージは
ghcr.io/github/github-mcp-serverで入手できます。イメージは公開されています。プル時にエラーが発生した場合、トークンの有効期限が切れている可能性があるため、docker logout ghcr.ioする必要があります。 -
認証。 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 ホスト間で再利用できるようにするには:
-
PAT を環境変数に保存します
export GITHUB_PAT=your_token_hereまたは、
.envファイルを作成します:GITHUB_PAT=your_token_here -
.envファイルを保護します# Add to .gitignore to prevent accidental commits echo ".env" >> .gitignore -
設定でトークンを参照します
# 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" }
注: 環境変数のサポートはホストアプリと IDE によって異なります。一部のアプリケーション(Windsurf など)では、設定ファイルにトークンをハードコードする必要があります。
トークンセキュリティのベストプラクティス
-
最小スコープ: 必要な権限のみを付与します
repo- リポジトリ操作read:packages- Docker イメージへのアクセスread:org- 組織チームへのアクセス
-
トークンの分離: プロジェクトや環境ごとに異なる PAT を使用します
-
定期的なローテーション: トークンを定期的に更新します
-
コミットしない: トークンをバージョン管理に含めないでください
-
ファイル権限: トークンを含む設定ファイルへのアクセスを制限します
chmod 600 ~/.your-app/config.json
GitHub Enterprise Server とデータ所在地を備えた 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 へのインストール
簡単にインストールするには、上記のワンクリックインストールボタンを使用します。フローが完了したら、Agent モード(Copilot Chat のテキスト入力の近くにあります)を切り替えると、サーバーが起動します。
VS Code のエージェントモードドキュメントで MCP サーバーツールの使用について詳しく説明しています。
他の IDE(JetBrains、Visual Studio、Eclipse など)の GitHub Copilot へのインストール
IDE の MCP 設定に、以下の JSON ブロックのいずれかを追加します。
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}"
}
}
}
}
}
オプションで、ワークスペースの .vscode/mcp.json というファイルに同様の例(mcp キーを含まない)を追加できます。これにより、同じ形式を受け入れる他のホストアプリケーションと設定を共有できます。
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のインストールガイド
- GitHub Copilot in other IDEs - JetBrains、Visual Studio、Eclipse、Xcodeでの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をお持ちでない場合は、go buildを使用してcmd/github-mcp-serverディレクトリ内にバイナリをビルドし、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サーバーは、--toolsetsフラグを介して特定の機能グループの有効化または無効化をサポートしています。これにより、AIツールが利用できるGitHub API機能を制御できます。必要なツールセットのみを有効にすると、LLMのツール選択に役立ち、コンテキストサイズを削減できます。
ツールセットはツールに限定されません。関連するMCPリソースとプロンプトも該当する場合に含まれます。
ツールセットが指定されていない場合、デフォルトのツールセットが使用されます。
例をお探しですか? 最小限のセットアップ、読み取り専用モード、ツールとツールセットの組み合わせなどの一般的なレシピについては、サーバー設定ガイドを参照してください。
ツールセットの指定
LLMが利用できるツールセットを指定するには、許可リストを次の2つの方法で渡すことができます:
-
コマンドライン引数の使用:
github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security -
環境変数の使用:
GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./github-mcp-server
両方が指定された場合、環境変数GITHUB_TOOLSETSがコマンドライン引数よりも優先されます。
個別ツールの指定
--toolsフラグを使用して、特定のツールを設定することもできます。ツールは独立して使用することも、ツールセットと組み合わせて細かく制御することもできます。
-
コマンドライン引数の使用:
github-mcp-server --tools get_file_contents,issue_read,create_pull_request -
環境変数の使用:
GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./github-mcp-server -
ツールセットとの組み合わせ(加算的):
github-mcp-server --toolsets repos,issues --tools get_gistこれにより、
reposおよびissuesツールセットのすべてのツールに加えて、get_gistが登録されます。
重要な注意事項:
- ツールとツールセットは一緒に使用できます
- 読み取り専用モードが優先されます:
--read-onlyが設定されている場合、--toolsで明示的に要求された場合でも、書き込みツールはスキップされます - ツール名は正確に一致する必要があります(例:
get_file_contents、getFileContentsではありません)。無効なツール名は、サーバーが起動時にエラーメッセージで失敗する原因になります - ツールの名前が変更された場合、後方互換性のために古い名前がエイリアスとして保持されます。詳細については、ツールの名前変更を参照してください。
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サーバーは、新機能や実験的なツールへの早期アクセスを提供するインサイダーバージョンを提供しています。
-
コマンドライン引数の使用:
./github-mcp-server --insiders -
環境変数の使用:
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
利用可能なツールセット
次のツールセットが利用可能です:
| ツールセット | 説明 | |
|---|---|---|
context | 強く推奨:現在のユーザーと操作しているGitHubコンテキストに関するコンテキストを提供するツール | |
actions | GitHub ActionsワークフローとCI/CD操作 | |
code_quality | GitHubコード品質関連ツール | |
code_security | GitHub Code Scanningなどのコードセキュリティ関連ツール | |
copilot | Copilot関連ツール | |
copilot_issue_intents | 意図メタデータ(根拠、信頼度、提案)を運ぶオプトインのCopilot issue割り当てツール | |
dependabot | Dependabotツール | |
discussions | GitHub Discussions関連ツール | |
gists | GitHub Gist関連ツール | |
git | 低レベルのGit操作のためのGitHub Git API関連ツール | |
governance | リポジトリ、組織、エンタープライズレベルでルールセットとカスタムプロパティを管理するためのリポジトリガバナンスツール | |
issues | GitHub Issues関連ツール | |
labels | GitHub Labels関連ツール | |
notifications | GitHub Notifications関連ツール | |
orgs | GitHub Organization関連ツール | |
projects | GitHub Projects関連ツール | |
pull_requests | GitHub Pull Request関連ツール | |
repos | GitHub Repository関連ツール | |
secret_protection | GitHub Secret Scanningなどのシークレット保護関連ツール | |
security_advisories | セキュリティアドバイザリ関連ツール | |
stargazers | GitHub Stargazers関連ツール | |
users | GitHub User関連ツール |
リモートGitHub MCPサーバーでの追加ツールセット
| ツールセット | 説明 |
|---|---|
copilot | Copilot関連ツール(例:Copilot Coding Agent) |
copilot_spaces | Copilot Spaces関連ツール |
github_support_docs_search | GitHub製品およびサポートに関する質問に答えるための検索ドキュメント |
ツール
リポジトリツールは、ネゴシエートされたMCPプロトコルバージョンがサポートされているバージョン2026-07-28以降である場合、出力スキーマと型付きstructuredContentを公開します。古いクライアント、プロトコルバージョンが不明なクライアント、およびバージョンを省略したクライアントは、出力スキーマや構造化出力なしで既存のコンテンツを受け取ります。不明なバージョンは、2026-07-28より後にソートされるという理由だけでサポートされているとは見なされません。
get_file_contentsの場合、ディレクトリ結果(フィールドプロジェクションを含む)は構造化された配列です。ファイルのダウンロードとメタデータのみの応答は、型付きテキスト、埋め込みリソース、またはリソースリンクブロックのcontent配列を使用し、ステータスメッセージ、テキスト、base64ブロブ、空のファイル、ダウンロードリンクを保持します。スター付けや削除などのテキストのみのリポジトリ変更も構造化されたmessageを返します。フォーク応答は、リポジトリ参照と進行中メッセージを区別します。リポジトリの削除は、完了した結果を返す前に、既存の確認フローを引き続き必要とします。
構造化されたリポジトリ結果は、生のRESTオブジェクトではなくコンパクトなDTOを使用します。リリース検索は、リリース一覧と同じコンパクトなリリース形状を共有します。Git参照は、ref、オブジェクトタイプ、SHAを保持します。注釈付きタグは、タグ/メッセージ/タガー/ターゲット情報を保持します。削除コミットは、SHA、メッセージ、著者、ツリーSHA、親SHA、および利用可能な場合の人間向けのhtml_urlを保持します。ディレクトリエントリは、ファイルメタデータと有用なHTML/ダウンロードリンクを保持しますが、プロジェクションで要求された場合でも、APIおよびハイパーメディアルーティングURLは省略します。レガシーおよび不明なプロトコルバージョンは、元のテキストをバイト単位で保持します。最新のテキストのみのJSONレスポンスは、structuredContentと同じコンパクトなDTOをシリアライズします。非テキストリソースブロックおよびツールエラーは、既存のコンテンツ動作を保持します。構造化プロジェクションは、レガシーフォーマッタと同じサニタイズおよびフィルタリングされたソースを使用します。
get_repository_tree、list_gists、get_gist、create_gist、およびupdate_gistの場合、gist結果はファイル名、コンテンツ、サイズ、言語/タイプ情報、タイムスタンプ、可視性、およびコンパクトなオーナープロファイルを保持しますが、API/ノードおよび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、または失敗したジョブコレクションのバリアントを保持します。

Actions
-
actions_get - GitHub Actionsリソース(ワークフロー、ワークフロー実行、ジョブ、およびアーティファクト)の詳細を取得します
- OAuthチャレンジスコープ:
repo method: 実行するメソッド(文字列、必須)owner: リポジトリのオーナー(文字列、必須)repo: リポジトリ名(文字列、必須)resource_id: リソースの一意の識別子。指定された「メソッド」によって異なるため、正しい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を提供します。 (文字列、必須)
- OAuthチャレンジスコープ:
-
actions_list - リポジトリ内のGitHub Actionsワークフローを一覧表示します
- OAuthチャレンジスコープ:
repo method: 実行するアクション(文字列、必須)owner: リポジトリのオーナー(文字列、必須)page: ページネーションのページ番号(デフォルト:1)(数値、オプション)perPage: ページネーションの1ページあたりの結果数(デフォルト:30、最大:100)(数値、オプション)repo: リポジトリ名(文字列、必須)resource_id: リソースの一意の識別子。指定された「メソッド」によって異なるため、正しいIDを提供してください:- 'list_workflows'メソッドには、リソースIDを提供しないでください。
- 'list_workflow_runs'メソッドには、ワークフローIDまたはワークフローファイル名(例:ci.yaml)を提供するか、省略してリポジトリ内のすべてのワークフロー実行を一覧表示します。
- 'list_workflow_jobs'および'list_workflow_run_artifacts'メソッドには、ワークフロー実行IDを提供します。 (文字列、オプション)
workflow_jobs_filter: ワークフロージョブのフィルター。メソッドが'list_workflow_jobs'の場合にのみ使用されます(オブジェクト、オプション)workflow_runs_filter: ワークフロー実行のフィルター。メソッドが'list_workflow_runs'の場合にのみ使用されます(オブジェクト、オプション)
- OAuthチャレンジスコープ:
-
actions_run_trigger - GitHub Actionsワークフローアクションをトリガーします
- OAuthチャレンジスコープ:
repo inputs: ワークフローが受け入れる入力。'run_workflow'メソッドにのみ使用されます。(オブジェクト、オプション)method: 実行するメソッド(文字列、必須)owner: リポジトリのオーナー(文字列、必須)ref: ワークフローのGit参照。参照はブランチまたはタグ名にできます。'run_workflow'メソッドに必要です。(文字列、オプション)repo: リポジトリ名(文字列、必須)run_id: ワークフロー実行のID。'run_workflow'以外のすべてのメソッドに必要です。(数値、オプション)workflow_id: ワークフローID(数値)またはワークフローファイル名(例:main.yml、ci.yaml)。'run_workflow'メソッドに必要です。(文字列、オプション)
- OAuthチャレンジスコープ:
-
get_job_logs - GitHub Actionsワークフロージョブログを取得します
- OAuthチャレンジスコープ:
repo failed_only: trueの場合、run_idで指定されたワークフロー実行内のすべての失敗したジョブのログを取得します。run_idを提供する必要があります。(ブール値、オプション)job_id: ワークフロージョブの一意の識別子。単一のジョブのログを取得する場合に必要です。(数値、オプション)owner: リポジトリのオーナー(文字列、必須)repo: リポジトリ名(文字列、必須)return_content: URLの代わりに実際のログコンテンツを返します(ブール値、オプション)run_id: ワークフロー実行の一意の識別子。failed_onlyがtrueの場合、実行内のすべての失敗したジョブのログを取得するために必要です。(数値、オプション)tail_lines: ログの末尾から返す行数(数値、オプション)
- OAuthチャレンジスコープ:

コード品質
- get_code_quality_finding - コード品質の検出結果を取得します
- OAuthチャレンジスコープ:
repo findingNumber: 検出結果の番号。(数値、必須)owner: リポジトリのオーナー。(文字列、必須)repo: リポジトリの名前。(文字列、必須)
- OAuthチャレンジスコープ:

コードセキュリティ
-
get_code_scanning_alert - コードスキャニングアラートを取得します
- OAuthチャレンジスコープ:
security_events alertNumber: アラートの番号。(数値、必須)owner: リポジトリのオーナー。(文字列、必須)repo: リポジトリの名前。(文字列、必須)
- OAuthチャレンジスコープ:
-
list_code_scanning_alerts - コードスキャニングアラートを一覧表示します
- OAuthチャレンジスコープ:
security_events owner: リポジトリのオーナー。(文字列、必須)page: ページネーションのページ番号(最小1)(数値、オプション)perPage: ページネーションの1ページあたりの結果数(最小1、最大100)(数値、オプション)ref: 一覧表示する結果のGit参照。(文字列、オプション)repo: リポジトリの名前。(文字列、必須)severity: 重大度でコードスキャニングアラートをフィルタリングします(文字列、オプション)state: 状態でコードスキャニングアラートをフィルタリングします。デフォルトはopenです(文字列、オプション)tool_name: コードスキャニングに使用されたツールの名前。(文字列、オプション)
- OAuthチャレンジスコープ:

コンテキスト
-
get_me - 自分のユーザープロファイルを取得します
- MCPアプリUI:
ui://github-mcp-server/get-me - パラメータは不要です
- MCPアプリUI:
-
get_team_members - チームメンバーを取得します
- OAuthチャレンジスコープ:
read:org org: チームを含む組織のログイン(オーナー)。(文字列、必須)team_slug: チームスラッグ(文字列、必須)
- OAuthチャレンジスコープ:
-
get_teams - チームを取得します
- OAuthチャレンジスコープ:
read:org user: チームを取得するユーザー名。指定しない場合、認証されたユーザーを使用します。(文字列、オプション)
- OAuthチャレンジスコープ:
-
ui_get - UIデータを取得します
- OAuthチャレンジスコープ:
repo、read:org method: 取得するデータのタイプ(文字列、必須)owner: リポジトリのオーナー(すべてのメソッドに必要)(文字列、必須)repo: リポジトリ名(ラベル、担当者、マイルストーン、ブランチ、イシューフィールド、レビュアーに必要)(文字列、オプション)
- OAuthチャレンジスコープ:

Copilot
-
assign_copilot_to_issue - Copilotをイシューに割り当てます
- OAuthチャレンジスコープ:
repo base_ref: エージェントが作業を開始するGit参照(例:ブランチ)。指定しない場合、リポジトリのデフォルトブランチにデフォルト設定されます(文字列、オプション)custom_instructions: イシューの本文を超えてエージェントをガイドするオプションのカスタム指示。イシューの説明に含まれていない追加のコンテキスト、制約、またはガイダンスを提供するために使用します(文字列、オプション)issue_number: イシュー番号(数値、必須)owner: リポジトリのオーナー(文字列、必須)repo: リポジトリ名(文字列、必須)
- OAuthチャレンジスコープ:
-
request_copilot_review - Copilotレビューをリクエストします
- OAuthチャレンジスコープ:
repo owner: リポジトリのオーナー(文字列、必須)pullNumber: プルリクエスト番号(数値、必須)repo: リポジトリ名(文字列、必須)
- OAuthチャレンジスコープ:

Copilotイシューインテント
- assign_copilot_to_issue_with_intent - Copilotをインテント付きでIssueに割り当てる
- OAuthチャレンジスコープ:
repo base_ref: エージェントが作業を開始するGit参照(例: ブランチ)。指定しない場合、リポジトリのデフォルトブランチにデフォルト設定されます。is_suggestionがtrueの場合は無視されます(文字列、任意)confidence: この選択に対する確信度。明確なシグナルまたは明示的なユーザーリクエストの場合は「HIGH」、ある程度の曖昧さを伴う合理的な推論の場合は「MEDIUM」、限られたシグナルによる最善の推測の場合は「LOW」。(文字列、必須)custom_instructions: Issue本文に加えてエージェントを導くための任意のカスタム指示。is_suggestionがtrueの場合は無視されます(文字列、任意)is_suggestion: trueの場合、エージェントを起動する代わりに保留中のCopilot割り当てインテントを記録します。承認後に起動コンテキストが提供されます。この場合、base_refとcustom_instructionsは無視されます。(ブール値、必須)issue_number: Issue番号(数値、必須)owner: リポジトリの所有者(文字列、必須)rationale: Issueのどの点がCopilotの選択につながったかを説明する簡潔な一文。具体的なシグナルを明記してください(例: 「明確な受け入れ基準を備えた適切にスコープされたタスク」)。(文字列、必須)repo: リポジトリ名(文字列、必須)
- OAuthチャレンジスコープ:

Dependabot
-
get_dependabot_alert - Dependabotアラートを取得
- OAuthチャレンジスコープ:
security_events alertNumber: アラートの番号。(数値、必須)owner: リポジトリの所有者。(文字列、必須)repo: リポジトリの名前。(文字列、必須)
- OAuthチャレンジスコープ:
-
list_dependabot_alerts - Dependabotアラートを一覧表示
- OAuthチャレンジスコープ:
security_events after: ページネーション用のカーソル。前回のレスポンスのカーソルを使用してください。(文字列、任意)owner: リポジトリの所有者。(文字列、必須)perPage: ページネーションの1ページあたりの結果数(最小1、最大100)(数値、任意)repo: リポジトリの名前。(文字列、必須)severity: 深刻度でDependabotアラートをフィルタリング(文字列、任意)state: 状態でDependabotアラートをフィルタリング。デフォルトはopen(文字列、任意)
- OAuthチャレンジスコープ:

Discussions
-
discussion_comment_write - ディスカッションコメントを管理
- OAuthチャレンジスコープ:
repo body: コメント内容(「add」、「reply」、「update」メソッドで必須)(文字列、任意)commentNodeID: ディスカッションコメントのNode ID(「reply」、「update」、「delete」、「mark_answer」、「unmark_answer」メソッドで必須)。「reply」の場合、これは返信先のトップレベルコメントです。GitHub Discussionsはネストを1レベルしかサポートしていません。(文字列、任意)discussionNumber: ディスカッション番号(「add」および「reply」メソッドで必須)(数値、任意)method: ディスカッションコメントに対して実行する書き込み操作。 オプションは以下のとおりです:- 'add' - ディスカッションに新しいトップレベルコメントを追加します。
- 'reply' - トップレベルのディスカッションコメントに返信します(GitHub Discussionsはネストを1レベルしかサポートしていません)。
- 'update' - 既存のディスカッションコメントを更新します。
- 'delete' - ディスカッションコメントを削除します。
- 'mark_answer' - ディスカッションコメントを回答としてマークします(Q&Aのみ)。
- 'unmark_answer' - ディスカッションコメントの回答マークを解除します(Q&Aのみ)。 (文字列、必須)
owner: リポジトリの所有者(「add」および「reply」メソッドで必須)(文字列、任意)repo: リポジトリ名(「add」および「reply」メソッドで必須)(文字列、任意)
- OAuthチャレンジスコープ:
-
get_discussion - ディスカッションを取得
- OAuthチャレンジスコープ:
repo discussionNumber: ディスカッション番号(数値、必須)owner: リポジトリの所有者(文字列、必須)repo: リポジトリ名(文字列、必須)
- OAuthチャレンジスコープ:
-
get_discussion_comments - ディスカッションコメントを取得
- OAuthチャレンジスコープ:
repo after: ページネーション用のカーソル。前回のレスポンスのカーソルを使用してください。(文字列、任意)discussionNumber: ディスカッション番号(数値、必須)includeReplies: trueの場合、各トップレベルコメントにその返信がネストされて含まれます(コメントあたり最大100件の返信。これはGitHub APIの最大値です)。デフォルトはfalseです。(ブール値、任意)owner: リポジトリの所有者(文字列、必須)perPage: ページネーションの1ページあたりの結果数(最小1、最大100)(数値、任意)repo: リポジトリ名(文字列、必須)
- OAuthチャレンジスコープ:
-
list_discussion_categories - ディスカッションカテゴリを一覧表示
- OAuthチャレンジスコープ:
repo owner: リポジトリの所有者(文字列、必須)repo: リポジトリ名。指定しない場合、ディスカッションカテゴリは組織レベルで照会されます。(文字列、任意)
- OAuthチャレンジスコープ:
-
list_discussions - ディスカッションを一覧表示
- OAuthチャレンジスコープ:
repo after: ページネーション用のカーソル。前回のレスポンスのカーソルを使用してください。(文字列、任意)category: ディスカッションカテゴリIDによる任意のフィルター。指定した場合、このカテゴリのディスカッションのみが一覧表示されます。(文字列、任意)direction: 並べ替えの方向。(文字列、任意)orderBy: フィールドでディスカッションを並べ替え。指定する場合、「direction」も指定する必要があります。(文字列、任意)owner: リポジトリの所有者(文字列、必須)perPage: ページネーションの1ページあたりの結果数(最小1、最大100)(数値、任意)repo: リポジトリ名。指定しない場合、ディスカッションは組織レベルで照会されます。(文字列、任意)
- OAuthチャレンジスコープ:

Gists
-
create_gist - Gistを作成
- OAuthチャレンジスコープ:
gist content: 単一ファイルのGistを簡単に作成するためのコンテンツ(文字列、必須)description: Gistの説明(文字列、任意)filename: 単一ファイルのGistを簡単に作成するためのファイル名(文字列、必須)public: Gistが公開かどうか(ブール値、任意)
- OAuthチャレンジスコープ:
-
get_gist - Gistコンテンツを取得
gist_id: GistのID(文字列、必須)
-
list_gists - Gistを一覧表示
page: ページネーションのページ番号(最小1)(数値、任意)perPage: ページネーションの1ページあたりの結果数(最小1、最大100)(数値、任意)since: この時刻以降に更新されたGistのみ(ISO 8601タイムスタンプ)(文字列、任意)username: GitHubユーザー名(認証済みユーザーのGistの場合は省略)(文字列、任意)
-
update_gist - Gistを更新
- OAuthチャレンジスコープ:
gist content: ファイルのコンテンツ(文字列、必須)description: Gistの更新された説明(文字列、任意)filename: 更新または作成するファイル名(文字列、必須)gist_id: 更新するGistのID(文字列、必須)
- OAuthチャレンジスコープ:

Git
- get_repository_tree - リポジトリツリーを取得
- OAuthチャレンジスコープ:
repo owner: リポジトリの所有者(ユーザー名または組織)(文字列、必須)path_filter: ツリー結果をフィルタリングするための任意のパスプレフィックス(例: 「src/」でsrcディレクトリ内のファイルのみを表示)(文字列、任意)recursive: このパラメータをtrueに設定すると、ツリーによって参照されるオブジェクトまたはサブツリーが返されます。デフォルトはfalseです(ブール値、任意)repo: リポジトリ名(文字列、必須)tree_sha: ツリーのSHA1値またはref(ブランチまたはタグ)名。デフォルトはリポジトリのデフォルトブランチです(文字列、任意)
- OAuthチャレンジスコープ:

Governance
-
create_repository_ruleset - リポジトリルールセットを作成
- OAuthチャレンジスコープ:
repo,admin:org,admin:enterprise bypass_actors: このルールセットのルールをバイパスできるアクター(オブジェクト配列、任意)conditions: このルールセットが適用される条件(例: {"ref_name": {"include": ["refs/heads/main"], "exclude": []}})(オブジェクト、任意)enforcement: ルールセットの適用レベル。「evaluate」を使用すると、管理者はルールを適用する前にテストできます(文字列、必須)enterprise: エンタープライズスラッグ。levelが「enterprise」の場合に必須です。(文字列、任意)level: ルールセットが設定されるレベル:- 'repository': 単一リポジトリのルールセット(「owner」と「repo」が必要)。
- 'organization': 組織内のリポジトリを対象とするルールセット(「org」が必要)。
- 'enterprise': エンタープライズ全体のリポジトリを対象とするルールセット(「enterprise」が必要)。(文字列、必須)
name: ルールセットの名前(文字列、必須)org: 組織名。levelが「organization」の場合に必須です。(文字列、任意)owner: リポジトリの所有者。levelが「repository」の場合に必須です。(文字列、任意)repo: リポジトリ名。levelが「repository」の場合に必須です。(文字列、任意)rules: ルールセット内のルールの配列。各ルールは「type」(例: 'creation'、'deletion'、'non_fast_forward'、'required_signatures'、'pull_request'、'required_status_checks')と、設定が必要なルールの場合は「parameters」オブジェクトを持つオブジェクトです(オブジェクト配列、必須)target: ルールセットのターゲット。デフォルトは「branch」です。「repository」は「organization」および「enterprise」レベルのルールセットでのみ有効です。(文字列、任意)
- OAuthチャレンジスコープ:
-
custom_properties_read - カスタムプロパティを読み取り
- OAuthチャレンジスコープ:
repo,read:org,read:enterprise enterprise: エンタープライズスラッグ。levelが「enterprise」の場合に必須です。(文字列、任意)level: カスタムプロパティが管理されるレベル:- 'repository': リポジトリに割り当てられたカスタムプロパティの値(「owner」と「repo」が必要)。
- 'organization': 組織のカスタムプロパティの定義(スキーマ)(「org」が必要)。
- 'enterprise': エンタープライズのカスタムプロパティの定義(スキーマ)(「enterprise」が必要)。(文字列、必須)
org: 組織名。levelが「organization」の場合に必須です。(文字列、任意)owner: リポジトリの所有者。levelが「repository」の場合に必須です。(文字列、任意)repo: リポジトリ名。levelが「repository」の場合に必須です。(文字列、任意)
- OAuthチャレンジスコープ:
-
custom_properties_write - カスタムプロパティを設定する
- OAuthチャレンジスコープ:
repo,admin:org,admin:enterprise enterprise: エンタープライズスラッグ。levelが'enterprise'の場合に必須です。(string, optional)level: カスタムプロパティが管理されるレベル:- 'repository': リポジトリに割り当てられたカスタムプロパティの値('owner'と'repo'が必要です)。
- 'organization': 組織のカスタムプロパティ定義(スキーマ)('org'が必要です)。
- 'enterprise': エンタープライズのカスタムプロパティ定義(スキーマ)('enterprise'が必要です)。(string, required)
org: 組織名。levelが'organization'の場合に必須です。(string, optional)owner: リポジトリのオーナー。levelが'repository'の場合に必須です。(string, optional)properties: 作成または更新するカスタムプロパティ。リポジトリレベルでは各項目が値('property_name'と'value')を割り当てます。組織およびエンタープライズレベルでは各項目がスキーマ('property_name'と'value_type'、およびオプションの定義フィールド)を定義します。(object[], required)repo: リポジトリ名。levelが'repository'の場合に必須です。(string, optional)
- OAuthチャレンジスコープ:
-
repository_ruleset_read - リポジトリのルールセットを読み取る
- OAuthチャレンジスコープ:
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)
- OAuthチャレンジスコープ:

イシュー
-
add_issue_comment - イシューまたはプルリクエストにコメントを追加する
- OAuthチャレンジスコープ:
repo body: コメントの内容。reactionが提供されない限り必須です。(string, optional)comment_id: リアクションするイシューまたはプルリクエストのコメントの数値ID。コメントへのリアクションにはこれを使用します。イシューまたはプルリクエスト自体へのリアクションには省略します。bodyと組み合わせることはできません。(integer, optional)issue_number: コメントまたはリアクションするイシューまたはプルリクエストの番号。(number, required)owner: リポジトリのオーナー (string, required)reaction: 追加する絵文字リアクション。bodyが提供されない限り必須です。(string, optional)repo: リポジトリ名 (string, required)
- OAuthチャレンジスコープ:
-
get_label - リポジトリから特定のラベルを取得する
- OAuthチャレンジスコープ:
repo name: ラベル名。(string, required)owner: リポジトリのオーナー(ユーザー名または組織名)(string, required)repo: リポジトリ名 (string, required)
- OAuthチャレンジスコープ:
-
issue_read - イシューの詳細を取得する
- OAuthチャレンジスコープ:
repo issue_number: イシューの番号 (number, required)method: 単一のイシューに対して実行する読み取り操作。 オプションは以下のとおりです:- get - イシューの詳細を取得します。ベストエフォートの階層フラグ(
has_parent、has_children)も返します。parentとsub_issues_summaryはオプションの関係の要約であり、closed_by_pull_requestsはイシューをtotal_countとしてクローズするように設定されたプルリクエストと、最大5つのreferencesを要約します。 - get_comments - イシューのコメントを取得します。
- get_sub_issues - イシューのサブイシュー(子)を取得します。
- get_parent - このイシューが別のイシューのサブイシューである場合、親イシューを取得します。
- get_labels - イシューに割り当てられたラベルを取得します。 (string, required)
- get - イシューの詳細を取得します。ベストエフォートの階層フラグ(
owner: リポジトリのオーナー (string, required)page: ページネーションのページ番号(最小1)(number, optional)perPage: ページネーションの1ページあたりの結果数(最小1、最大100)(number, optional)repo: リポジトリの名前 (string, required)
- OAuthチャレンジスコープ:
-
issue_write - イシュー/プルリクエストを作成または更新する
- OAuthチャレンジスコープ:
repo - MCPアプリUI:
ui://github-mcp-server/issue-write assignees: このイシューに割り当てるユーザー名 (string[], optional)body: イシューの本文コンテンツ (string, optional)duplicate_of: このイシューが重複しているイシュー番号。state_reasonが'duplicate'の場合に必須です。(number, optional)issue_fields: 設定またはクリアするイシューフィールドの値。各項目には'field_name'と、'value'、'field_option_name'、または'delete: true'のいずれか1つが必要です。(object[], optional)issue_number: 更新するイシュー番号 (number, optional)labels: このイシューに適用するラベル (string[], optional)method: 単一のイシューに対して実行する書き込み操作。 オプションは以下のとおりです:- 'create' - 新しいイシューを作成します。
- 'update' - 既存のイシューを更新します。 (string, required)
milestone: マイルストーン番号 (number, optional)owner: リポジトリのオーナー (string, required)parent_issue_number: 親イシューのイシュー番号。methodが'create'の場合にのみ使用され、issue_fieldsと組み合わせることはできません。新しいイシューが作成され、同じ操作でこの親に添付されます。(number, optional)parent_owner: 親イシューのリポジトリオーナー。parent_repoと一緒に指定する必要があります。両方を省略するとownerとrepoが使用されます。methodが'create'でparent_issue_numberが提供される場合にのみ使用されます。(string, optional)parent_repo: 親イシューのリポジトリ名。parent_ownerと一緒に指定する必要があります。両方を省略するとownerとrepoが使用されます。methodが'create'でparent_issue_numberが提供される場合にのみ使用されます。(string, optional)repo: リポジトリ名 (string, required)state: 新しい状態 (string, optional)state_reason: 状態変更の理由。状態が変更されない限り無視されます。(string, optional)title: イシューのタイトル (string, optional)type: このイシューのタイプ。更新の場合、現在のタイプを削除するにはnullを渡します。このリポジトリでイシュータイプが有効な場合にのみ使用します。このリポジトリまたはそのオーナー組織の有効なタイプ値を取得するには、list_issue_typesを使用します。リポジトリがイシュータイプをサポートしていない場合は、このパラメータを省略します。(string | null, optional)
- OAuthチャレンジスコープ:
-
list_issue_fields - イシューフィールドを一覧表示する
- OAuthチャレンジスコープ:
repo,read:org owner: リポジトリまたは組織のアカウントオーナー。名前は大文字と小文字を区別しません。(string, required)repo: リポジトリの名前。提供された場合、この特定のリポジトリ(その組織から継承された)のフィールドを返します。省略された場合、組織レベルのフィールドを直接返します。(string, optional)
- OAuthチャレンジスコープ:
-
list_issue_types - 利用可能なイシュータイプを一覧表示する
- OAuthチャレンジスコープ:
repo,read:org owner: リポジトリまたは組織のアカウントオーナー。(string, required)repo: リポジトリの名前。提供された場合、この特定のリポジトリのイシュータイプを返します。省略された場合、組織レベルのイシュータイプを直接返します。(string, optional)
- OAuthチャレンジスコープ:
-
list_issues - イシューを一覧表示する
- OAuthチャレンジスコープ:
repo after: ページネーション用のカーソル。前のレスポンスのカーソルを使用します。(string, optional)direction: 並べ替え方向。提供される場合、'orderBy'も提供する必要があります。(string, optional)field_filters: カスタムイシューフィールドの値でフィルタリングします。各エントリはfield_nameとvalueを取り、サーバーはフィールドを検索して値をそのタイプ(単一選択オプション名、テキスト、数値、またはYYYY-MM-DD形式の日付)に変換します。(object[], optional)fields: 各イシューに対して返すフィールドのサブセット。省略された場合、すべてのフィールドが返されます。特定のフィールドのみが必要な場合にレスポンスサイズを減らすためにこれを使用します。特に'body'と'field_values'を省略すると、結果ごとの最大のデータが削除されます。(string[], optional)labels: ラベルでフィルタリングします (string[], optional)orderBy: フィールドでイシューを並べ替えます。提供される場合、'direction'も提供する必要があります。(string, optional)owner: リポジトリのオーナー (string, required)perPage: ページネーションの1ページあたりの結果数(最小1、最大100)(number, optional)repo: リポジトリ名 (string, required)since: 日付でフィルタリングします(ISO 8601タイムスタンプ)(string, optional)state: 状態でフィルタリングします。デフォルトでは、提供されない場合、オープンとクローズの両方のイシューが返されます (string, optional)
- OAuthチャレンジスコープ:
-
search_issues - イシューを検索
- OAuthチャレンジスコープ:
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: 自然言語での検索クエリ。ユーザーが別の言い回しをした場合は、ORで結合するのではなく、そのままの単語として含めてください。(string, required)repo: 任意のリポジトリ名。ownerと一緒に指定した場合、このリポジトリのイシューのみが一覧表示されます。(string, optional)sort: カテゴリの一致数による並べ替えフィールド。デフォルトはベストマッチ (string, optional)
- OAuthチャレンジスコープ:
-
sub_issue_write - サブイシューを変更
- OAuthチャレンジスコープ:
repo after_id: 優先順位を後にするサブイシューのID(after_idまたはbefore_idのいずれかを指定する必要があります)(number, optional)before_id: 優先順位を前にするサブイシューのID(after_idまたはbefore_idのいずれかを指定する必要があります)(number, optional)issue_number: 親イシューの番号 (number, required)method: 単一のサブイシューに対して実行するアクション オプションは以下のとおりです:- 'add' - GitHubリポジトリ内の親イシューにサブイシューを追加します。
- 'remove' - GitHubリポジトリ内の親イシューからサブイシューを削除します。
- 'reprioritize' - GitHubリポジトリ内の親イシュー内のサブイシューの順序を変更します。新しい位置を指定するには、'after_id'または'before_id'のいずれかを使用します。
イシューの階層を書き込みます。サブイシューを新しい親に移動するには、
addをreplace_parent=trueと一緒に使用します。書き込み可能な親フィールドはありません。 (string, required)
owner: リポジトリ所有者 (string, required)replace_parent: trueの場合、サブイシューの現在の親イシューを置き換えます。'add'メソッドでのみ使用してください。(boolean, optional)repo: リポジトリ名 (string, required)sub_issue_id: 追加するサブイシューのID。IDはイシュー番号と同じではありません (number, required)
- OAuthチャレンジスコープ:
-
update_issue_comment - イシューコメントを更新
- OAuthチャレンジスコープ:
repo body: 新しいコメント内容 (string, required)comment_id: 更新するイシューまたはプルリクエストの会話コメントの数値ID。プルリクエストのレビューコメントIDは使用しないでください。(integer, required)owner: リポジトリ所有者 (string, required)repo: リポジトリ名 (string, required)
- OAuthチャレンジスコープ:

ラベル
-
get_label - リポジトリから特定のラベルを取得
- OAuthチャレンジスコープ:
repo name: ラベル名。(string, required)owner: リポジトリ所有者(ユーザー名または組織名)(string, required)repo: リポジトリ名 (string, required)
- OAuthチャレンジスコープ:
-
label_write - リポジトリのラベルに対する書き込み操作
- OAuthチャレンジスコープ:
repo color: '#'プレフィックスなしの6文字の16進コードでのラベル色(例: 'f29513')。'create'では必須、'update'では任意です。(string, optional)description: ラベルの説明テキスト。'create'および'update'では任意です。(string, optional)method: 実行する操作: 'create'、'update'、または'delete' (string, required)name: ラベル名 - すべての操作で必須 (string, required)new_name: ラベルの新しい名前(名前を変更するための'update'メソッドでのみ使用)(string, optional)owner: リポジトリ所有者(ユーザー名または組織名)(string, required)repo: リポジトリ名 (string, required)
- OAuthチャレンジスコープ:
-
list_label - リポジトリからラベルを一覧表示
- OAuthチャレンジスコープ:
repo after: ページネーション用のカーソル。前のレスポンスのカーソルを使用します。(string, optional)owner: リポジトリ所有者(ユーザー名または組織名)- すべての操作で必須 (string, required)perPage: ページネーション用の1ページあたりの結果数 (最小1、最大100) (number, optional)repo: リポジトリ名 - すべての操作で必須 (string, required)
- OAuthチャレンジスコープ:

通知
-
dismiss_notification - 通知を閉じる
- OAuthチャレンジスコープ:
notifications state: 通知の新しい状態 (read/done) (string, required)threadID: 通知スレッドのID (string, required)
- OAuthチャレンジスコープ:
-
get_notification_details - 通知の詳細を取得
- OAuthチャレンジスコープ:
notifications notificationID: 通知のID (string, required)
- OAuthチャレンジスコープ:
-
list_notifications - 通知を一覧表示
- OAuthチャレンジスコープ:
notifications before: 指定された時間(ISO 8601形式)より前に更新された通知のみを表示 (string, optional)filter: 通知をフィルタリングします。指定がない限りデフォルトを使用します。既読通知は、ユーザーがすでに確認した通知です。参加通知は、ユーザーが直接関与している通知で、コメントまたは作成したイシューやプルリクエストなどです。(string, optional)owner: 任意のリポジトリ所有者。repoと一緒に指定した場合、このリポジトリの通知のみが一覧表示されます。(string, optional)page: ページネーション用のページ番号 (最小1) (number, optional)perPage: ページネーション用の1ページあたりの結果数 (最小1、最大100) (number, optional)repo: 任意のリポジトリ名。ownerと一緒に指定した場合、このリポジトリの通知のみが一覧表示されます。(string, optional)since: 指定された時間(ISO 8601形式)より後に更新された通知のみを表示 (string, optional)
- OAuthチャレンジスコープ:
-
manage_notification_subscription - 通知サブスクリプションを管理
- OAuthチャレンジスコープ:
notifications action: 実行するアクション: 通知サブスクリプションを無視、ウォッチ、または削除します。(string, required)notificationID: 通知スレッドのID。(string, required)
- OAuthチャレンジスコープ:
-
manage_repository_notification_subscription - リポジトリ通知サブスクリプションを管理
- OAuthチャレンジスコープ:
notifications action: 実行するアクション: リポジトリ通知サブスクリプションを無視、ウォッチ、または削除します。(string, required)owner: リポジトリのアカウント所有者。(string, required)repo: リポジトリの名前。(string, required)
- OAuthチャレンジスコープ:
-
mark_all_notifications_read - すべての通知を既読にする
- OAuthチャレンジスコープ:
notifications lastReadAt: 通知が最後に確認された時点を説明します(任意)。デフォルト: 現在 (string, optional)owner: 任意のリポジトリ所有者。repoと一緒に指定した場合、このリポジトリの通知のみが既読としてマークされます。(string, optional)repo: 任意のリポジトリ名。ownerと一緒に指定した場合、このリポジトリの通知のみが既読としてマークされます。(string, optional)
- OAuthチャレンジスコープ:

組織
- search_orgs - 組織を検索
- OAuthチャレンジスコープ:
read:org order: 並べ替え順 (string, optional)page: ページネーション用のページ番号 (最小1) (number, optional)perPage: ページネーション用の1ページあたりの結果数 (最小1、最大100) (number, optional)query: 組織の検索クエリ。例: 'microsoft'、'location:california'、'created:>=2025-01-01'。検索は自動的にtype:orgにスコープされます。(string, required)sort: カテゴリによる並べ替えフィールド (string, optional)
- OAuthチャレンジスコープ:

プロジェクト
-
projects_get - GitHub Projectsリソースの詳細を取得
- OAuthチャレンジスコープ:
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: 所有者(ユーザーまたは組織のログイン)。名前は大文字と小文字を区別しません。(string, optional)owner_type: 所有者タイプ(userまたはorg)。指定しない場合は、自動的に検出されます。(string, optional)project_number: プロジェクトの番号。(number, optional)status_update_id: プロジェクトステータス更新のノードID。'get_project_status_update'メソッドに必要です。(string, optional)view_id: プロジェクトビューのノードID。'get_project_view'メソッドに必要です。(string, optional)
- OAuthチャレンジスコープ:
-
projects_list - GitHub Projects リソースを一覧表示します
- OAuth チャレンジスコープ:
read:project after: 前のページの pageInfo.nextCursor からの前方ページネーションカーソル。(文字列、任意)before: 前のページの pageInfo.prevCursor からの後方ページネーションカーソル(まれ)。(文字列、任意)field_names: プロジェクト項目を一覧表示するときに含めるフィールド名(例: ["Status", "Priority"])。サーバー側でフィールド ID に解決されます。人間が読める名前だけがわかっている場合は、'fields' の代わりにこれを渡します。解決に失敗した名前は構造化エラーを返します。'fields' とは相互に排他的です。どちらか一方のみを指定してください。'list_project_items' メソッドでのみ使用されます。(文字列配列、任意)fields: プロジェクト項目を一覧表示するときに含めるフィールド ID(例: ["102589", "985201"])。重要: フィールド値を取得するには常にこれを指定してください。これ(および 'field_names')がない場合、タイトルのみが返されます。'field_names' とは相互に排他的です。どちらか一方のみを指定してください。'list_project_items' メソッドでのみ使用されます。(文字列配列、任意)method: 実行するアクション(文字列、必須)owner: オーナー(ユーザーまたは組織のログイン)。名前は大文字と小文字を区別しません。(文字列、必須)owner_type: オーナータイプ(ユーザーまたは組織)。指定しない場合、自動的に両方を試行します。(文字列、任意)perPage: ページあたりの結果数(最大 50)(数値、任意)project_number: プロジェクトの番号。'list_project_fields'、'list_project_items'、'list_project_views'、'list_project_status_updates' メソッドに必要です。(数値、任意)query: フィルター/クエリ文字列。list_projects の場合: タイトルテキストと状態でフィルターします(例: "roadmap is:open")。list_project_items の場合: GitHub のプロジェクトフィルタリング構文を使用した高度なフィルタリング。(文字列、任意)
- OAuth チャレンジスコープ:
-
projects_write - GitHub Projects を管理します
- OAuth チャレンジスコープ:
project body: ステータス更新の本文(マークダウン)。'create_project_status_update' メソッドで使用されます。(文字列、任意)field_name: イテレーションフィールドの名前(例: 'Sprint')。'create_iteration_field' メソッドに必要です。(文字列、任意)filter: 保存されたビューフィルター。更新時に省略すると保持され、null を渡すとクリアされます。(文字列 | null、任意)issue_number: イシュー番号。item_type が 'issue' の場合、'add_project_item' に必要です。'update_project_item' でも、イシュー番号で項目を解決するために受け入れられます(item_owner と item_repo と組み合わせます)。(数値、任意)item_id: プロジェクト項目 ID。'delete_project_item' に必要です。'update_project_item' の場合、item_id または(item_owner + item_repo + issue_number)のいずれかを指定して、イシューで項目を解決します。(数値、任意)item_owner: イシューまたはプルリクエストを含むリポジトリのオーナー(ユーザーまたは組織)。'add_project_item' メソッドに必要です。'update_project_item' でイシュー番号によって項目を解決する場合にも受け入れられます。(文字列、任意)item_repo: イシューまたはプルリクエストを含むリポジトリの名前。'add_project_item' メソッドに必要です。'update_project_item' でイシュー番号によって項目を解決する場合にも受け入れられます。(文字列、任意)item_type: 項目のタイプ。issue または pull_request のいずれかです。'add_project_item' メソッドに必要です。(文字列、任意)items: トップレベルの 'updated_field' で更新する項目。'update_project_items' に必要です。ループ内で 'update_project_item' を呼び出すよりもこれを優先してください。各エントリは、'node_id'、数値の 'item_id'、または 'item_owner' + 'item_repo' + 'issue_number' のいずれか 1 つの参照バリアントと正確に一致する必要があります。制限: 呼び出しあたり 50 項目。(オブジェクト配列、任意)iteration_duration: フィールドのイテレーションの期間(日数)(例: 毎週の場合は 7、隔週の場合は 14)。'create_iteration_field' メソッドに必要です。(数値、任意)iterations: 'create_iteration_field' メソッド用のカスタムイテレーション。期間が異なるイテレーション、イテレーション間の休止、または特定のタイトルが必要な場合にのみ設定してください。それ以外の場合は省略してください。GitHub は 'start_date' から始まる 'iteration_duration' 日間のイテレーションを 3 つ自動的に作成します。これはほとんどの場合に適切な選択です。(オブジェクト配列、任意)layout: ビューレイアウト。ビューを作成するときに必要です。(文字列、任意)method: 実行するメソッド(文字列、必須)name: ビュー名。ビューを作成するときに必要です。(文字列、任意)owner: プロジェクトオーナー(ユーザーまたは組織のログイン)。名前は大文字と小文字を区別しません。(文字列、必須)owner_type: オーナータイプ(ユーザーまたは組織)。'create_project' メソッドに必要です。他のメソッドで指定しない場合、自動的に検出されます。(文字列、任意)project_number: プロジェクトの番号。'create_project' を除くすべてのメソッドに必要です。(数値、任意)pull_request_number: プルリクエスト番号('add_project_item' メソッドで item_type が 'pull_request' の場合に使用)。issue_number または pull_request_number のいずれかを指定してください。(数値、任意)start_date: YYYY-MM-DD 形式の開始日。'create_project_status_update' および 'create_iteration_field' メソッドで使用されます。(文字列、任意)status: プロジェクトのステータス。'create_project_status_update' メソッドで使用されます。(文字列、任意)target_date: YYYY-MM-DD 形式のステータス更新の目標日。'create_project_status_update' メソッドで使用されます。(文字列、任意)title: プロジェクトのタイトル。'create_project' メソッドに必要です。(文字列、任意)updated_field: 適用するフィールド/値。{"id": 123, "value": ...} または {"name": "Status", "value": ...} を使用します。null はフィールドをクリアします。'update_project_item' および 'update_project_items' に必要です。1 つのトップレベルのフィールド/値がバッチ内のすべての項目に適用されます。'update_project_item' の SINGLE_SELECT フィールドの場合、名前形式はオプション名を受け入れ、ID 形式はオプション ID を期待します。(オブジェクト、任意)view_id: 更新または削除するプロジェクトビューのノード ID。owner/project_number に属している必要があります。(文字列、任意)visible_field_names: 作成時に表示する、または更新時に置き換える順序付きプロジェクトフィールド名。更新時に省略すると保持され、[] を渡すとリセットされます。visible_fields とは相互に排他的です。ロードマップは [] のみを受け入れます。(文字列配列、任意)visible_fields: 作成時に表示する、または更新時に置き換える順序付きプロジェクトフィールドデータベース ID。更新時に省略すると保持され、[] を渡すとリセットされます。visible_field_names とは相互に排他的です。ロードマップは [] のみを受け入れます。(文字列配列、任意)
- OAuth チャレンジスコープ:

プルリクエスト
-
add_comment_to_pending_review - リクエスターの最新の保留中のプルリクエストレビューにレビューコメントを追加します
- OAuth チャレンジスコープ:
repo body: レビューコメントのテキスト(文字列、必須)line: コメントが適用されるプルリクエスト差分内のブロブの行。複数行コメントの場合、範囲の最後の行(数値、任意)owner: リポジトリオーナー(文字列、必須)path: コメントが必要なファイルへの相対パス(文字列、必須)pullNumber: プルリクエスト番号(数値、必須)repo: リポジトリ名(文字列、必須)side: コメントする差分の側。LEFT は以前の状態を示し、RIGHT は新しい状態を示します(文字列、任意)startLine: 複数行コメントの場合、コメントが適用される範囲の最初の行(数値、任意)startSide: 複数行コメントの場合、コメントが適用される差分の開始側。LEFT は以前の状態を示し、RIGHT は新しい状態を示します(文字列、任意)subjectType: コメントが対象とするレベル(文字列、必須)
- OAuth チャレンジスコープ:
-
add_reply_to_pull_request_comment - プルリクエストコメントに返信を追加します
- OAuth チャレンジスコープ:
repo body: 返信のテキスト。reaction が指定されていない限り必須です。(文字列、任意)commentId: 返信またはリアクションするプルリクエストレビューコメントの数値 ID。#discussion_r... アンカーからの番号を使用してください。GraphQL スレッドノード ID(PRRT_...)は使用しないでください。(数値、必須)owner: リポジトリオーナー(文字列、必須)pullNumber: プルリクエスト番号。body が指定されている場合に必要です。(数値、任意)reaction: 追加する絵文字リアクション。body が指定されていない限り必須です。(文字列、任意)repo: リポジトリ名(文字列、必須)
- OAuth チャレンジスコープ:
-
create_pull_request - 新しいプルリクエストを開きます
- OAuth チャレンジスコープ:
repo - MCP アプリ UI:
ui://github-mcp-server/pr-write base: マージ先のブランチ(文字列、必須)body: PR の説明(文字列、任意)draft: ドラフト PR として作成(ブール値、任意)head: 変更を含むブランチ(文字列、必須)maintainer_can_modify: メンテナーによる編集を許可(ブール値、任意)owner: リポジトリオーナー(文字列、必須)repo: リポジトリ名(文字列、必須)reviewers: レビューをリクエストする GitHub ユーザー名または ORG/team-slug チームレビューアー(文字列配列、任意)title: PR タイトル(文字列、必須)
- OAuth チャレンジスコープ:
-
list_pull_requests - プルリクエストを一覧表示します
- OAuth チャレンジスコープ:
repo base: ベースブランチでフィルター(文字列、任意)direction: 並べ替え方向(文字列、任意)fields: 各プルリクエストに対して返すフィールドのサブセット。省略した場合、すべてのフィールドが返されます。特定のフィールドのみが必要な場合に応答サイズを減らすためにこれを使用します。特に 'body' を省略すると、結果ごとの最大のデータが削除されます。(文字列配列、任意)head: ヘッドのユーザー/組織とブランチでフィルター(文字列、任意)owner: リポジトリオーナー(文字列、必須)page: ページネーションのページ番号(最小 1)(数値、任意)perPage: ページネーションのページあたりの結果数(最小 1、最大 100)(数値、任意)repo: リポジトリ名(文字列、必須)sort: 並べ替え基準(文字列、任意)state: 状態でフィルター(文字列、任意)
- OAuth チャレンジスコープ:
-
merge_pull_request - プルリクエストをマージします
- OAuth チャレンジスコープ:
repo commit_message: マージコミットの追加詳細(文字列、任意)commit_title: マージコミットのタイトル(文字列、任意)expectedHeadSha: プルリクエストの HEAD 参照の予期される SHA(文字列、任意)merge_method: マージ方法(文字列、任意)owner: リポジトリオーナー(文字列、必須)pullNumber: プルリクエスト番号(数値、必須)repo: リポジトリ名(文字列、必須)
- OAuth チャレンジスコープ:
-
pull_request_read - 単一のプルリクエストの詳細を取得する
- OAuthチャレンジスコープ:
repo after: ページネーション用のカーソル。get_review_commentsメソッドでのみ使用されます。前のページのPageInfoからendCursorを渡して次のページを取得します。(string, optional)method: GitHubから取得するプルリクエストデータを指定するアクション。 可能なオプション:- get - 特定のプルリクエストの詳細を取得します。
- get_diff - プルリクエストの差分を取得します。
- get_status - プルリクエストの先頭コミットの結合コミットステータスを取得します。
- get_files - プルリクエストで変更されたファイルのリストを取得します。ページネーションパラメータを使用して返される結果数を制御します。
- get_commits - プルリクエストのコミットのリストを取得します。ページネーションパラメータを使用して返される結果数を制御します。
- get_review_comments - プルリクエストのレビュースレッドを取得します。各スレッドには、プルリクエストのレビュー中に同じコード位置に対して行われた論理的にグループ化されたレビューコメントが含まれます。スレッドのメタデータと、現在および元の行範囲の座標(line、start_line、original_line、original_start_line)がnull許容で含まれるコメントを返します。現在の座標は、古いコメントなど利用できない場合は省略されます。カーソルベースのページネーション(perPage、after)を使用して結果を制御します。
- get_reviews - プルリクエストのレビューを取得します。レビューコメントを求められた場合は、get_review_commentsメソッドを使用してください。ページネーションパラメータを使用して返される結果数を制御します。
- get_comments - プルリクエストのコメントを取得します。ユーザーが特にレビューコメントを求めていない場合はこれを使用します。ページネーションパラメータを使用して返される結果数を制御します。
- get_check_runs - プルリクエストの先頭コミットのチェックランを取得します。チェックランは、PRで実行される個々のCI/CDジョブとチェックです。 (string, required)
owner: リポジトリの所有者 (string, required)page: ページネーションのページ番号(最小1)(number, optional)perPage: ページネーションの1ページあたりの結果数(最小1、最大100)(number, optional)pullNumber: プルリクエスト番号 (number, required)repo: リポジトリ名 (string, required)
- OAuthチャレンジスコープ:
-
pull_request_review_write - プルリクエストのレビューに対する書き込み操作(作成、送信、削除)
- OAuthチャレンジスコープ:
repo body: レビューコメントのテキスト (string, optional)commitID: レビューするコミットのSHA (string, optional)event: 実行するレビューアクション。 (string, optional)method: プルリクエストのレビューに対して実行する書き込み操作。 (string, required)owner: リポジトリの所有者 (string, required)pullNumber: プルリクエスト番号 (number, required)repo: リポジトリ名 (string, required)threadId: レビュースレッドのノードID(例:PRRT_kwDOxxx)。resolve_threadおよびunresolve_threadメソッドに必要です。スレッドIDは、pull_request_readでメソッドget_review_commentsを使用して取得します。 (string, optional)
- OAuthチャレンジスコープ:
-
search_pull_requests - プルリクエストを検索する
- OAuthチャレンジスコープ:
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)
- OAuthチャレンジスコープ:
-
update_pull_request - プルリクエストを編集する
- OAuthチャレンジスコープ:
repo - MCPアプリ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/チームスラッグのチームレビューアー (string[], optional)state: 新しい状態 (string, optional)title: 新しいタイトル (string, optional)
- OAuthチャレンジスコープ:
-
update_pull_request_branch - プルリクエストのブランチを更新する
- OAuthチャレンジスコープ:
repo expectedHeadSha: プルリクエストのHEAD参照の期待されるSHA (string, optional)owner: リポジトリの所有者 (string, required)pullNumber: プルリクエスト番号 (number, required)repo: リポジトリ名 (string, required)
- OAuthチャレンジスコープ:

リポジトリ
-
create_branch - ブランチを作成する
- OAuthチャレンジスコープ:
repo branch: 新しいブランチの名前 (string, required)from_branch: ソースブランチ(デフォルトはリポジトリのデフォルト)(string, optional)owner: リポジトリの所有者 (string, required)repo: リポジトリ名 (string, required)
- OAuthチャレンジスコープ:
-
create_or_update_file - ファイルを作成または更新する
- OAuthチャレンジスコープ:
repo,workflow allow_symlink_write: シンボリックリンク自体を更新する場合はtrueに設定します。コンテンツはその新しいターゲットパスである必要があります。 (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)
- OAuthチャレンジスコープ:
-
create_repository - リポジトリを作成する
- OAuthチャレンジスコープ:
repo autoInit: READMEで初期化します (boolean, optional)description: リポジトリの説明 (string, optional)name: リポジトリ名 (string, required)organization: リポジトリを作成する組織(個人アカウントに作成する場合は省略)(string, optional)private: リポジトリをプライベートにするかどうか。省略した場合のデフォルトはtrue(プライベート)です。 (boolean, optional)
- OAuthチャレンジスコープ:
-
delete_file - ファイルを削除する
- OAuthチャレンジスコープ:
repo,workflow branch: ファイルを削除するブランチ (string, required)message: コミットメッセージ (string, required)owner: リポジトリの所有者(ユーザー名または組織)(string, required)path: 削除するファイルのパス (string, required)repo: リポジトリ名 (string, required)
- OAuthチャレンジスコープ:
-
delete_repository - リポジトリを削除する
- OAuthチャレンジスコープ:
delete_repo,repo owner: リポジトリの所有者(ユーザー名または組織)(string, required)repo: リポジトリ名 (string, required)
- OAuthチャレンジスコープ:
-
fork_repository - リポジトリをフォークする
- OAuthチャレンジスコープ:
repo organization: フォーク先の組織 (string, optional)owner: リポジトリの所有者 (string, required)repo: リポジトリ名 (string, required)
- OAuthチャレンジスコープ:
-
get_commit - コミットの詳細を取得する
- OAuthチャレンジスコープ:
repo detail: 変更されたファイルに含める詳細レベル。"none"は統計とファイルを完全に省略します。"stats"(デフォルト)には、ファイルごとのメタデータ(ファイル名、ステータス、コード行数(追加、削除、変更))が含まれ、パッチコンテンツは含まれません。"full_patch"には、各ファイルの統合差分コンテンツも含まれ、非常に大きくなる可能性があります。 (string, optional)owner: リポジトリの所有者 (string, required)page: ページネーションのページ番号(最小1)(number, optional)perPage: ページネーションの1ページあたりの結果数(最小1、最大100)(number, optional)repo: リポジトリ名 (string, required)sha: コミットSHA、ブランチ名、またはタグ名 (string, required)
- OAuthチャレンジスコープ:
-
get_file_contents - ファイルまたはディレクトリのコンテンツを取得する
- OAuthチャレンジスコープ:
repo fields: パスがディレクトリの場合に各エントリに対して返すフィールドのサブセット。省略した場合はすべてのフィールドが返されます。パスが単一のファイルの場合は無視されます。ディレクトリを一覧表示し、特定のフィールドのみ(例:'name'と'type'のみ)が必要な場合に応答サイズを減らすために使用します。 (string[], optional)owner: リポジトリの所有者(ユーザー名または組織)(string, required)path: ファイル/ディレクトリへのパス (string, optional)ref:refs/tags/{tag}、refs/heads/{branch}、refs/pull/{pr_number}/headなどのオプションのgit参照を受け入れます (string, optional)repo: リポジトリ名 (string, required)sha: オプションのコミットSHAを受け入れます。指定した場合、refの代わりに使用されます (string, optional)
- OAuthチャレンジスコープ:
-
get_latest_release - 最新リリースを取得する
- OAuthチャレンジスコープ:
repo owner: リポジトリの所有者 (string, required)repo: リポジトリ名 (string, required)
- OAuthチャレンジスコープ:
-
get_release_by_tag - タグ名でリリースを取得する
- OAuthチャレンジスコープ:
repo owner: リポジトリの所有者 (string, required)repo: リポジトリ名 (string, required)tag: タグ名(例:'v1.0.0')(string, required)
- OAuthチャレンジスコープ:
-
get_tag - タグの詳細を取得する
- OAuthチャレンジスコープ:
repo owner: リポジトリの所有者 (string, required)repo: リポジトリ名 (string, required)tag: タグ名 (string, required)
- OAuthチャレンジスコープ:
-
list_branches - ブランチを一覧表示する
- OAuthチャレンジスコープ:
repo owner: リポジトリの所有者 (string, required)page: ページネーションのページ番号(最小1)(number, optional)perPage: ページネーションの1ページあたりの結果数(最小1、最大100)(number, optional)repo: リポジトリ名 (string, required)
- OAuthチャレンジスコープ:
-
list_commits - コミット一覧を取得
- OAuthチャレンジスコープ:
repo author: コミットをフィルタリングする著者のユーザー名またはメールアドレス(文字列、任意)fields: 各コミットに対して返すフィールドのサブセット。省略した場合はすべてのフィールドが返されます。特定のフィールド(例: 'sha' や 'html_url')だけが必要な場合にレスポンスサイズを削減するために使用します。(文字列配列、任意)owner: リポジトリの所有者(文字列、必須)page: ページネーション用のページ番号(最小1)(数値、任意)path: このファイルパスを含むコミットのみが返されます(文字列、任意)perPage: ページネーション用の1ページあたりの結果数(最小1、最大100)(数値、任意)repo: リポジトリ名(文字列、必須)sha: コミットを一覧表示するコミットSHA、ブランチ名、またはタグ名。指定しない場合はリポジトリのデフォルトブランチが使用されます。コミットSHAが指定された場合は、そのSHAまでのコミットが一覧表示されます。(文字列、任意)since: この日付以降のコミットのみが返されます(ISO 8601形式: YYYY-MM-DDTHH:MM:SSZ または YYYY-MM-DD)(文字列、任意)until: この日付以前のコミットのみが返されます(ISO 8601形式: YYYY-MM-DDTHH:MM:SSZ または YYYY-MM-DD)(文字列、任意)
- OAuthチャレンジスコープ:
-
list_releases - リリース一覧を取得
- OAuthチャレンジスコープ:
repo fields: 各リリースに対して返すフィールドのサブセット。省略した場合はすべてのフィールドが返されます。特定のフィールドだけが必要な場合にレスポンスサイズを削減するために使用します。特に 'body' を省略すると、リリースごとの最大のデータが削減されます。(文字列配列、任意)owner: リポジトリの所有者(文字列、必須)page: ページネーション用のページ番号(最小1)(数値、任意)perPage: ページネーション用の1ページあたりの結果数(最小1、最大100)(数値、任意)repo: リポジトリ名(文字列、必須)
- OAuthチャレンジスコープ:
-
list_repository_collaborators - リポジトリのコラボレーター一覧を取得
- OAuthチャレンジスコープ:
repo affiliation: 所属によるフィルタリング。次のいずれか: 'outside'(外部コラボレーター)、'direct'(組織のメンバーシップに関係なく権限を持つすべてのユーザー)、'all'(すべてのコラボレーター)。デフォルト: 'all'(文字列、任意)owner: リポジトリの所有者(文字列、必須)page: ページネーション用のページ番号(デフォルト1、最小1)(数値、任意)perPage: ページネーション用の1ページあたりの結果数(デフォルト30、最小1、最大100)(数値、任意)repo: リポジトリ名(文字列、必須)
- OAuthチャレンジスコープ:
-
list_tags - タグ一覧を取得
- OAuthチャレンジスコープ:
repo owner: リポジトリの所有者(文字列、必須)page: ページネーション用のページ番号(最小1)(数値、任意)perPage: ページネーション用の1ページあたりの結果数(最小1、最大100)(数値、任意)repo: リポジトリ名(文字列、必須)
- OAuthチャレンジスコープ:
-
push_files - リポジトリにファイルをプッシュ
- OAuthチャレンジスコープ:
repo,workflow branch: プッシュ先のブランチ(文字列、必須)files: プッシュするファイルオブジェクトの配列。各オブジェクトは path(文字列)と content(文字列)を持ちます(オブジェクト配列、必須)message: コミットメッセージ(文字列、必須)owner: リポジトリの所有者(文字列、必須)repo: リポジトリ名(文字列、必須)
- OAuthチャレンジスコープ:
-
search_code - コードを検索
- OAuthチャレンジスコープ:
repo fields: 各コード検索結果に対して返すフィールドのサブセット。省略した場合はすべてのフィールドが返されます。特定のフィールドだけが必要な場合にレスポンスサイズを削減するために使用します。特に 'repository' と 'text_matches' を省略すると、結果ごとの最大のデータが削減されます。(文字列配列、任意)order: 結果の並び順(文字列、任意)page: ページネーション用のページ番号(最小1)(数値、任意)perPage: ページネーション用の1ページあたりの結果数(最小1、最大100)(数値、任意)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。(文字列、必須)sort: 並び替えフィールド('indexed' のみ)(文字列、任意)
- OAuthチャレンジスコープ:
-
search_commits - コミットを検索
- OAuthチャレンジスコープ:
repo order: 並び順(文字列、任意)page: ページネーション用のページ番号(最小1)(数値、任意)perPage: ページネーション用の1ページあたりの結果数(最小1、最大100)(数値、任意)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。(文字列、必須)sort: 著者またはコミッターの日付で並び替え(デフォルトは最適一致)(文字列、任意)
- OAuthチャレンジスコープ:
-
search_repositories - リポジトリを検索
- OAuthチャレンジスコープ:
repo minimal_output: 最小限のリポジトリ情報を返す(デフォルト: true)。falseの場合、モダンなクライアントは追加の厳選されたリポジトリ詳細を受け取りますが、完全なGitHub APIオブジェクトではありません。レガシークライアントは完全なGitHub APIリポジトリオブジェクトを保持します。(ブール値、任意)order: 並び順(文字列、任意)page: ページネーション用のページ番号(最小1)(数値、任意)perPage: ページネーション用の1ページあたりの結果数(最小1、最大100)(数値、任意)query: リポジトリ検索クエリ。例: 'machine learning in:name stars:>1000 language:python'、'topic:react'、'user:facebook'。精密なフィルタリングのための高度な検索構文をサポートします。(文字列、必須)sort: リポジトリをフィールドで並び替え、デフォルトは最適一致(文字列、任意)
- OAuthチャレンジスコープ:

シークレット保護
-
get_secret_scanning_alert - シークレットスキャニングアラートを取得
- OAuthチャレンジスコープ:
security_events alertNumber: アラートの番号。(数値、必須)owner: リポジトリの所有者。(文字列、必須)repo: リポジトリの名前。(文字列、必須)
- OAuthチャレンジスコープ:
-
list_secret_scanning_alerts - シークレットスキャニングアラート一覧を取得
- OAuthチャレンジスコープ:
security_events owner: リポジトリの所有者。(文字列、必須)page: ページネーション用のページ番号(最小1)(数値、任意)perPage: ページネーション用の1ページあたりの結果数(最小1、最大100)(数値、任意)repo: リポジトリの名前。(文字列、必須)resolution: 解決状態によるフィルタリング(文字列、任意)secret_type: 返すシークレットタイプのカンマ区切りリスト。すべてのデフォルトのシークレットパターンが返されます。ジェネリックパターンを返すには、パラメータにトークン名を渡します。(文字列、任意)state: 状態によるフィルタリング(文字列、任意)
- OAuthチャレンジスコープ:

セキュリティアドバイザリ
-
get_global_security_advisory - グローバルセキュリティアドバイザリを取得
- OAuthチャレンジスコープ:
security_events ghsaId: GitHubセキュリティアドバイザリID(形式: GHSA-xxxx-xxxx-xxxx)。(文字列、必須)
- OAuthチャレンジスコープ:
-
list_global_security_advisories - グローバルセキュリティアドバイザリ一覧を取得
- OAuthチャレンジスコープ:
security_events affects: 影響を受けるパッケージまたはバージョンでアドバイザリをフィルタリング(例: "package1,package2@1.0.0")。(文字列、任意)cveId: CVE IDによるフィルタリング。(文字列、任意)cwes: Common Weakness Enumeration IDによるフィルタリング(例: ["79", "284", "22"])。(文字列配列、任意)ecosystem: パッケージエコシステムによるフィルタリング。(文字列、任意)ghsaId: GitHubセキュリティアドバイザリIDによるフィルタリング(形式: GHSA-xxxx-xxxx-xxxx)。(文字列、任意)isWithdrawn: 撤回されたアドバイザリのみを返すかどうか。(ブール値、任意)modified: 公開日または更新日、または日付範囲によるフィルタリング(ISO 8601の日付または範囲)。(文字列、任意)published: 公開日または日付範囲によるフィルタリング(ISO 8601の日付または範囲)。(文字列、任意)severity: 重大度によるフィルタリング。(文字列、任意)type: アドバイザリの種類。(文字列、任意)updated: 更新日または日付範囲によるフィルタリング(ISO 8601の日付または範囲)。(文字列、任意)
- OAuthチャレンジスコープ:
-
list_org_repository_security_advisories - 組織のリポジトリセキュリティアドバイザリ一覧を取得
- OAuthチャレンジスコープ:
security_events direction: 並び順。(文字列、任意)org: 組織のログイン。(文字列、必須)sort: 並び替えフィールド。(文字列、任意)state: アドバイザリの状態によるフィルタリング。(文字列、任意)
- OAuthチャレンジスコープ:
-
list_repository_security_advisories - リポジトリのセキュリティアドバイザリ一覧を取得
- OAuthチャレンジスコープ:
security_events direction: 並び順。(文字列、任意)owner: リポジトリの所有者。(文字列、必須)repo: リポジトリの名前。(文字列、必須)sort: 並び替えフィールド。(文字列、任意)state: アドバイザリの状態によるフィルタリング。(文字列、任意)
- OAuthチャレンジスコープ:

スターゲイザー
-
list_starred_repositories - スター付きリポジトリ一覧を取得
- OAuthチャレンジスコープ:
repo direction: 結果の並び順。(文字列、任意)page: ページネーション用のページ番号(最小1)(数値、任意)perPage: ページネーション用の1ページあたりの結果数(最小1、最大100)(数値、任意)sort: 結果の並び替え方法。'created'(リポジトリがスターされた日時)または 'updated'(リポジトリが最後にプッシュされた日時)のいずれか。(文字列、任意)username: スター付きリポジトリを一覧表示するユーザー名。デフォルトは認証済みユーザー。(文字列、任意)
- OAuthチャレンジスコープ:
-
star_repository - リポジトリにスターを付ける
- OAuthチャレンジスコープ:
repo owner: リポジトリの所有者(文字列、必須)repo: リポジトリ名(文字列、必須)
- OAuthチャレンジスコープ:
-
unstar_repository - リポジトリのスターを外す
- OAuthチャレンジスコープ:
repo owner: リポジトリの所有者(文字列、必須)repo: リポジトリ名(文字列、必須)
- OAuthチャレンジスコープ:

ユーザー
- **search_users** - ユーザーを検索する
- **OAuthチャレンジスコープ**: `repo`
- `order`: 並び順(文字列、任意)
- `page`: ページネーションのページ番号(最小1)(数値、任意)
- `perPage`: ページネーションの1ページあたりの結果数(最小1、最大100)(数値、任意)
- `query`: ユーザー検索クエリ。例:「john smith」「location:seattle」「followers:>100」。検索は自動的にtype:userにスコープされます。(文字列、必須)
- `sort`: フォロワー数、リポジトリ数、またはGitHubへの参加時期でユーザーを並べ替えます。(文字列、任意)
リモートGitHub MCPサーバーの追加ツール
Copilot
- create_pull_request_with_copilot - GitHub Copilotコーディングエージェントでタスクを実行する
owner: リポジトリの所有者。所有者を推測できますが、先にユーザーに確認してください。(文字列、必須)repo: リポジトリ名。リポジトリ名を推測できますが、先にユーザーに確認してください。(文字列、必須)problem_statement: 実行するタスクの詳細な説明(例:「Xを行う機能を実装する」「バグYを修正する」など)(文字列、必須)title: 作成されるプルリクエストのタイトル(文字列、必須)base_ref: エージェントが作業を開始するGit参照(例:ブランチ)。指定しない場合、リポジトリのデフォルトブランチが使用されます(文字列、任意)
Copilot Spaces
-
認証に関する注意
- ファイングレインPATはクラシックPATのスコープフィルタリングでは非表示にならないため、トークンがそれらを使用できない場合でも、これらのツールが表示されることがあります。
- 組織所有のスペースの場合、ファイングレインPATは所有組織にインストールされ、
organization_copilot_spaces: readを含める必要があります。 - 組織所有のスペースにリポジトリバックアップのリソースが含まれている場合、トークンは参照されるすべてのリポジトリへのアクセス権も持っている必要があります。そうでない場合、スペースが見つからないと扱われる可能性があります。
-
get_copilot_space - Copilotスペースを取得する
owner: スペースの所有者。(文字列、必須)name: スペースの名前。(文字列、必須)
-
list_copilot_spaces - Copilotスペースを一覧表示する
GitHubサポートドキュメント検索
- github_support_docs_search - GitHub製品およびサポートに関する質問に回答するための関連ドキュメントを取得します。サポートトピックには、GitHub Actionsワークフロー、認証、GitHubサポートのお問い合わせ、プルリクエストのプラクティス、リポジトリのメンテナンス、GitHub Pages、GitHub Packages、GitHub Discussions、Copilot Spacesが含まれます。
query: 回答が必要な質問に関するユーザーからの入力。これは最新の未編集のユーザーメッセージです。ユーザーメッセージは常にそのままにし、決して変更しないでください。(文字列、必須)
読み取り専用モード
サーバーを読み取り専用モードで実行するには、--read-onlyフラグを使用できます。これにより、読み取り専用ツールのみが提供され、リポジトリ、イシュー、プルリクエストなどへの変更が防止されます。
./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:getpull_request_read:getpull_request_read:get_diffpull_request_read:get_filespull_request_read:get_commits
次のツールは、プッシュアクセス権を持たないユーザーからのコンテンツをフィルタリングします:
issue_read:get_commentsissue_read:get_sub_issuespull_request_read:get_commentspull_request_read:get_review_commentspull_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サーバーインスタンス(例:github.com用とGitHub Enterprise Server用)を実行する場合に、エージェントがそれらを区別できるようにするために役立ちます。
| キー | 環境変数 | デフォルト |
|---|---|---|
SERVER_NAME | GITHUB_MCP_SERVER_NAME | github-mcp-server |
SERVER_TITLE | GITHUB_MCP_SERVER_TITLE | GitHub 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は、現在不安定と見なされ、破壊的な変更の対象となる可能性があります。将来的には安定性を提供する可能性があります。これが価値のあるユースケースがある場合は、イシューを報告してください。
貢献
貢献を歓迎します。プルリクエストを開く前に、セットアップ、テスト、リンティング、ドキュメント生成の手順について貢献ガイドをお読みください。
サポート
GitHub MCPサーバーの使用に関するヘルプについては、サポートガイドを参照してください。バグを見つけた場合や機能をリクエストしたい場合は、新しいイシューを開く前に既存のイシューを検索してください。
セキュリティ
公開イシューを通じてセキュリティの脆弱性を報告しないでください。セキュリティポリシーの指示に従って、責任を持って脆弱性を報告してください。
ライセンス
このプロジェクトはMITオープンソースライセンスの条件に基づいてライセンスされています。完全な条件については、MITを参照してください。