GitHub MCP

公式

GitHub MCPの公式サーバーで、リポジトリ検索、Issue、プルリクエスト、コードコンテキスト、GitHubワークフローをMCP対応のAIクライアントで利用できます。

Git Hub MCPで何ができますか?

  • リポジトリの参照と検索 — アシスタントに依頼して、repos ツールセットのツールを使用し、ファイルの検索、コードの読み取り、コミット履歴の分析を行います。
  • Issue とプルリクエストの管理issues および pull_requests ツールセットのツールを使用して、Issue や PR の作成、更新、トリアージを行います。
  • CI/CD ワークフローの監視actions ツールセットを使用して、GitHub Actions の実行状況の確認、ビルド失敗の調査、リリースの管理を行います。
  • コードセキュリティアラートの確認code_securitydependabotsecret_protection ツールセットを使用して、コードスキャンの結果、Dependabot アラート、シークレットスキャンの結果を調査します。
  • ディスカッションとプロジェクトでのコラボレーションdiscussionsprojectsnotifications ツールセットを通じて、チームディスカッションへのアクセス、プロジェクトボードの管理、通知の処理を行います。

ドキュメント

Go Report Card

GitHub MCP Server

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

ユースケース

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

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


リモート 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 Server を接続、カスタマイズ、インストールするための包括的な手順と例を提供します。

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

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 とデータレジデンシー対応 Enterprise Cloud (ghe.com) のローカルサーバー設定を参照してください。


ローカル GitHub MCP Server

Install with Docker in VS Code Install with Docker in VS Code Insiders Install with Docker in Visual Studio

前提条件

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

  2. Docker がインストールされたら、Docker が実行されていることも確認する必要があります。Docker イメージは ghcr.io/github/github-mcp-server で入手できます。イメージは公開されています。プルでエラーが発生した場合、トークンの有効期限が切れている可能性があり、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 個人用アクセストークン で認証することもできます (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"
    }
    

: 環境変数のサポートは、ホストアプリや 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 スキームを付けます。そうしないと、デフォルトで http:// になりますが、これは GitHub Enterprise Server ではサポートされていません。
  • データレジデンシー対応 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>"
    }
}

インストール

GitHub Copilot on VS Code へのインストール

クイックインストールには、上記のワンクリックインストールボタンのいずれかを使用します。そのフローが完了したら、エージェントモード (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 ログイン を参照してください。

または、個人用アクセストークンで認証します。 代わりに 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 - GitHub Copilot を使用した JetBrains、Visual Studio、Eclipse、Xcode へのインストール
  • 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 Server にアクセスできるはずです。ただし、特定の設定プロセス、構文、統合の安定性はホストアプリケーションによって異なります。多くは上記の例と同様の形式に従う可能性がありますが、これは保証されていません。正しい MCP 設定構文とセットアッププロセスについては、ホストアプリケーションのドキュメントを参照してください。

ソースからのビルド

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

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

CLIユーティリティ

github-mcp-server バイナリには、サーバーのデバッグや探索に役立ついくつかのCLIサブコマンドが含まれています。

  • github-mcp-server tool-search "<query>" は、名前、説明、入力パラメータ名でツールを検索します。より多くの一致を返すには --max-results を使用します。 例(カラー出力にはTTYが必要です。Dockerで実行する場合は docker run -t(または -it)を使用してください):
docker run -it --rm ghcr.io/github/github-mcp-server tool-search "issue" --max-results 5
github-mcp-server tool-search "issue" --max-results 5

ツール設定

GitHub MCPサーバーは、--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 で明示的に要求されていても、書き込みツールはスキップされます
  • ツール名は完全に一致する必要があります(例: get_file_contentsgetFileContents ではない)。無効なツール名は、起動時にエラーメッセージとともにサーバーを失敗させます
  • ツールの名前が変更された場合、後方互換性のために古い名前はエイリアスとして保持されます。詳細については、ツールの名前変更を参照してください。

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

利用可能なツールセット

次のツールセットが利用可能です:

ツールセット説明
personcontext強く推奨: 現在のユーザーと操作しているGitHubコンテキストに関するコンテキストを提供するツール
workflowactionsGitHub ActionsのワークフローとCI/CD操作
code-squarecode_qualityGitHubのコード品質関連ツール
codescancode_securityGitHub Code Scanningなどのコードセキュリティ関連ツール
copilotcopilotCopilot関連ツール
dependabotdependabotDependabotツール
comment-discussiondiscussionsGitHub Discussions関連ツール
logo-gistgistsGitHub Gist関連ツール
git-branchgit低レベルのGit操作のためのGitHub Git API関連ツール
issue-openedissuesGitHub Issues関連ツール
taglabelsGitHub Labels関連ツール
bellnotificationsGitHub Notifications関連ツール
organizationorgsGitHub Organization関連ツール
projectprojectsGitHub Projects関連ツール
git-pull-requestpull_requestsGitHub Pull Request関連ツール
reporeposGitHub Repository関連ツール
shield-locksecret_protectionGitHub Secret Scanningなどのシークレット保護関連ツール
shieldsecurity_advisoriesセキュリティアドバイザリ関連ツール
starstargazersGitHub Stargazers関連ツール
peopleusersGitHub User関連ツール

リモートGitHub MCPサーバーの追加ツールセット

ツールセット説明
copilotCopilot関連ツール(例: Copilot Coding Agent)
copilot_spacesCopilot Spaces関連ツール
github_support_docs_searchGitHub製品およびサポートの質問に回答するためのドキュメント検索

ツール

workflow 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を指定します。 (文字列、必須)
  • actions_list - リポジトリ内のGitHub Actionsワークフローを一覧表示します

    • 必要なOAuthスコープ: repo
    • method: 実行するアクション(文字列、必須)
    • owner: リポジトリの所有者(文字列、必須)
    • page: ページネーションのページ番号(デフォルト: 1)(数値、オプション)
    • per_page: ページネーションの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'の場合にのみ使用されます(オブジェクト、オプション)
  • 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'メソッドに必須です。(文字列、オプション)
  • 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: ログの末尾から返す行数(数値、オプション)
code-square Code Quality - **get_code_quality_finding** - コード品質の検出事項を取得 - **必要な OAuth スコープ**: `repo` - `findingNumber`: 検出事項の番号。(数値、必須) - `owner`: リポジトリの所有者。(文字列、必須) - `repo`: リポジトリの名前。(文字列、必須)
codescan コードセキュリティ
  • get_code_scanning_alert - コードスキャンアラートを取得

    • 必要な OAuth スコープ: security_events
    • 許可される OAuth スコープ: repo, security_events
    • alertNumber: アラートの番号。(数値、必須)
    • owner: リポジトリの所有者。(文字列、必須)
    • repo: リポジトリの名前。(文字列、必須)
  • list_code_scanning_alerts - コードスキャンアラートを一覧表示

    • 必要な OAuth スコープ: security_events
    • 許可される OAuth スコープ: repo, security_events
    • owner: リポジトリの所有者。(文字列、必須)
    • page: ページネーションのページ番号 (最小 1) (数値、オプション)
    • perPage: ページネーションの1ページあたりの結果数 (最小 1、最大 100) (数値、オプション)
    • ref: 一覧表示する結果の Git 参照。(文字列、オプション)
    • repo: リポジトリの名前。(文字列、必須)
    • severity: コードスキャンアラートを重大度でフィルタリング (文字列、オプション)
    • state: コードスキャンアラートを状態でフィルタリング。デフォルトは open (文字列、オプション)
    • tool_name: コードスキャンに使用されたツールの名前。(文字列、オプション)
person コンテキスト
  • get_me - 自分のユーザープロフィールを取得

    • パラメータは不要です
  • get_team_members - チームメンバーを取得

    • 必要な OAuth スコープ: read:org
    • 許可される OAuth スコープ: admin:org, read:org, write:org
    • org: チームを含む組織のログイン (所有者)。(文字列、必須)
    • team_slug: チームスラッグ (文字列、必須)
  • get_teams - チームを取得

    • 必要な OAuth スコープ: read:org
    • 許可される OAuth スコープ: admin:org, read:org, write:org
    • user: チームを取得するユーザー名。指定しない場合、認証済みユーザーが使用されます。(文字列、オプション)
copilot Copilot
  • assign_copilot_to_issue - Copilot を Issue に割り当て

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

    • 必要な OAuth スコープ: repo
    • owner: リポジトリ所有者 (文字列、必須)
    • pullNumber: プルリクエスト番号 (数値、必須)
    • repo: リポジトリ名 (文字列、必須)
dependabot Dependabot
  • get_dependabot_alert - Dependabot アラートを取得

    • 必要な OAuth スコープ: security_events
    • 許可される OAuth スコープ: repo, security_events
    • alertNumber: アラートの番号。(数値、必須)
    • owner: リポジトリの所有者。(文字列、必須)
    • repo: リポジトリの名前。(文字列、必須)
  • list_dependabot_alerts - Dependabot アラートを一覧表示

    • 必要な OAuth スコープ: security_events
    • 許可される OAuth スコープ: repo, security_events
    • after: ページネーションのカーソル。前回のレスポンスのカーソルを使用してください。(文字列、オプション)
    • owner: リポジトリの所有者。(文字列、必須)
    • perPage: ページネーションの1ページあたりの結果数 (最小 1、最大 100) (数値、オプション)
    • repo: リポジトリの名前。(文字列、必須)
    • severity: Dependabot アラートを重大度でフィルタリング (文字列、オプション)
    • state: Dependabot アラートを状態でフィルタリング。デフォルトは open (文字列、オプション)
comment-discussion ディスカッション
  • discussion_comment_write - ディスカッションコメントを管理

    • 必要な OAuth スコープ: repo
    • body: コメント内容 ('add'、'reply'、'update' メソッドで必須) (文字列、オプション)
    • commentNodeID: ディスカッションコメントのノード 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' メソッドで必須) (文字列、オプション)
  • get_discussion - ディスカッションを取得

    • 必要な OAuth スコープ: repo
    • discussionNumber: ディスカッション番号 (数値、必須)
    • owner: リポジトリ所有者 (文字列、必須)
    • repo: リポジトリ名 (文字列、必須)
  • get_discussion_comments - ディスカッションコメントを取得

    • 必要な OAuth スコープ: repo
    • after: ページネーションのカーソル。前回のレスポンスのカーソルを使用してください。(文字列、オプション)
    • discussionNumber: ディスカッション番号 (数値、必須)
    • includeReplies: true の場合、各トップレベルコメントにはその返信がネストされて含まれます (GitHub API の最大値であるコメントあたり最大 100 件の返信)。デフォルトは false です。(真偽値、オプション)
    • owner: リポジトリ所有者 (文字列、必須)
    • perPage: ページネーションの1ページあたりの結果数 (最小 1、最大 100) (数値、オプション)
    • repo: リポジトリ名 (文字列、必須)
  • list_discussion_categories - ディスカッションカテゴリを一覧表示

    • 必要な OAuth スコープ: repo
    • owner: リポジトリ所有者 (文字列、必須)
    • repo: リポジトリ名。指定しない場合、ディスカッションカテゴリは組織レベルでクエリされます。(文字列、オプション)
  • list_discussions - ディスカッションを一覧表示

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

    • 必要な OAuth スコープ: gist
    • content: シンプルな単一ファイル Gist 作成のためのコンテンツ (文字列、必須)
    • description: Gist の説明 (文字列、オプション)
    • filename: シンプルな単一ファイル Gist 作成のためのファイル名 (文字列、必須)
    • public: Gist を公開するかどうか (真偽値、オプション)
  • 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 (文字列、必須)
git-branch Git
  • get_repository_tree - リポジトリツリーを取得
    • 必要な OAuth スコープ: repo
    • owner: リポジトリ所有者 (ユーザー名または組織) (文字列、必須)
    • path_filter: ツリー結果をフィルタリングするためのオプションのパスプレフィックス (例: 'src/' で src ディレクトリ内のファイルのみを表示) (文字列、オプション)
    • recursive: このパラメータを true に設定すると、ツリーによって参照されるオブジェクトまたはサブツリーが返されます。デフォルトは false です (真偽値、オプション)
    • repo: リポジトリ名 (文字列、必須)
    • tree_sha: ツリーの SHA1 値または ref (ブランチまたはタグ) 名。デフォルトはリポジトリのデフォルトブランチです (文字列、オプション)
issue-opened Issues
  • add_issue_comment - Issue またはプルリクエストにコメントを追加

    • 必要な OAuth スコープ: repo
    • body: コメント内容。リアクションが提供されない限り必須です。(文字列、オプション)
    • comment_id: リアクションする Issue またはプルリクエストコメントの数値 ID。コメントへのリアクションに使用します。Issue またはプルリクエスト自体にリアクションする場合は省略します。本文と組み合わせることはできません。(数値、オプション)
    • issue_number: コメントまたはリアクションする Issue またはプルリクエスト番号。(数値、必須)
    • owner: リポジトリ所有者 (文字列、必須)
    • reaction: 追加する絵文字リアクション。本文が提供されない限り必須です。(文字列、オプション)
    • repo: リポジトリ名 (文字列、必須)
  • get_label - リポジトリから特定のラベルを取得します

    • 必要な OAuth スコープ: repo
    • name: ラベル名。(string, 必須)
    • owner: リポジトリの所有者 (ユーザー名または組織名) (string, 必須)
    • repo: リポジトリ名 (string, 必須)
  • issue_read - Issue の詳細を取得します

    • 必要な OAuth スコープ: repo
    • issue_number: Issue 番号 (number, 必須)
    • method: 単一の Issue に対して実行する読み取り操作。 オプション:
      1. get - Issue の詳細を取得します。ベストエフォートの階層フラグ (has_parent, has_children) も返します。parentsub_issues_summary はオプションの関係サマリーです。
      2. get_comments - Issue のコメントを取得します。
      3. get_sub_issues - Issue のサブ Issue (子) を取得します。
      4. get_parent - この Issue が別の Issue のサブ Issue である場合、親 Issue を取得します。
      5. get_labels - Issue に割り当てられたラベルを取得します。 (string, 必須)
    • owner: リポジトリの所有者 (string, 必須)
    • page: ページネーションのページ番号 (最小 1) (number, オプション)
    • perPage: ページネーションの 1 ページあたりの結果数 (最小 1, 最大 100) (number, オプション)
    • repo: リポジトリ名 (string, 必須)
  • issue_write - Issue/プルリクエストを作成または更新します

    • 必要な OAuth スコープ: repo
    • assignees: この Issue に割り当てるユーザー名 (string[], オプション)
    • body: Issue の本文 (string, オプション)
    • duplicate_of: この Issue が重複している Issue 番号。state_reason が 'duplicate' の場合にのみ使用されます。(number, オプション)
    • issue_fields: 設定またはクリアする Issue フィールド値。各項目には 'field_name' と、'value'、'field_option_name'、または 'delete: true' のいずれか 1 つが必要です。(object[], オプション)
    • issue_number: 更新する Issue 番号 (number, オプション)
    • labels: この Issue に適用するラベル (string[], オプション)
    • method: 単一の Issue に対して実行する書き込み操作。 オプション:
      • 'create' - 新しい Issue を作成します。
      • 'update' - 既存の Issue を更新します。 (string, 必須)
    • milestone: マイルストーン番号 (number, オプション)
    • owner: リポジトリの所有者 (string, 必須)
    • repo: リポジトリ名 (string, 必須)
    • state: 新しい状態 (string, オプション)
    • state_reason: 状態変更の理由。状態が変更されない限り無視されます。(string, オプション)
    • title: Issue のタイトル (string, オプション)
    • type: この Issue のタイプ。このリポジトリで Issue タイプが有効になっている場合にのみ使用します。このリポジトリまたはその所有者組織の有効なタイプ値を取得するには、list_issue_types ツールを使用してください。リポジトリが Issue タイプをサポートしていない場合は、このパラメータを省略してください。(string, オプション)
  • list_issue_fields - Issue フィールドを一覧表示します

    • 必要な OAuth スコープ (いずれか): repo, read:org
    • 受け入れられる OAuth スコープ: admin:org, read:org, repo, write:org
    • owner: リポジトリまたは組織のアカウント所有者。名前は大文字と小文字を区別しません。(string, 必須)
    • repo: リポジトリ名。指定された場合、この特定のリポジトリのフィールドを返します (その組織から継承)。省略された場合、組織レベルのフィールドを直接返します。(string, オプション)
  • list_issue_types - 利用可能な Issue タイプを一覧表示します

    • 必要な OAuth スコープ (いずれか): repo, read:org
    • 受け入れられる OAuth スコープ: admin:org, read:org, repo, write:org
    • owner: リポジトリまたは組織のアカウント所有者。(string, 必須)
    • repo: リポジトリ名。指定された場合、この特定のリポジトリの Issue タイプを返します。省略された場合、組織レベルの Issue タイプを直接返します。(string, オプション)
  • list_issues - Issue を一覧表示します

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

    • 必要な OAuth スコープ: repo
    • order: ソート順 (string, オプション)
    • owner: オプションのリポジトリ所有者。repo と共に指定された場合、このリポジトリの Issue のみが一覧表示されます。(string, オプション)
    • page: ページネーションのページ番号 (最小 1) (number, オプション)
    • perPage: ページネーションの 1 ページあたりの結果数 (最小 1, 最大 100) (number, オプション)
    • query: GitHub Issue 検索構文を使用した検索クエリ (string, 必須)
    • repo: オプションのリポジトリ名。owner と共に指定された場合、このリポジトリの Issue のみが一覧表示されます。(string, オプション)
    • sort: カテゴリの一致数によるソートフィールド。デフォルトはベストマッチです (string, オプション)
  • sub_issue_write - サブ Issue を変更します

    • 必要な OAuth スコープ: repo
    • after_id: 後に優先させるサブ Issue の ID (after_id または before_id のいずれかを指定する必要があります) (number, オプション)
    • before_id: 前に優先させるサブ Issue の ID (after_id または before_id のいずれかを指定する必要があります) (number, オプション)
    • issue_number: 親 Issue の番号 (number, 必須)
    • method: 単一のサブ Issue に対して実行するアクション オプション:
      • 'add' - GitHub リポジトリの親 Issue にサブ Issue を追加します。
      • 'remove' - GitHub リポジトリの親 Issue からサブ Issue を削除します。
      • 'reprioritize' - GitHub リポジトリの親 Issue 内のサブ Issue の順序を変更します。新しい位置を指定するには、'after_id' または 'before_id' を使用します。 Issue 階層を書き込みます。サブ Issue を新しい親に移動するには、addreplace_parent=true を使用します。書き込み可能な親フィールドはありません。 (string, 必須)
    • owner: リポジトリの所有者 (string, 必須)
    • replace_parent: true の場合、サブ Issue の現在の親 Issue を置き換えます。'add' メソッドでのみ使用します。(boolean, オプション)
    • repo: リポジトリ名 (string, 必須)
    • sub_issue_id: 追加するサブ Issue の ID。ID は Issue 番号と同じではありません (number, 必須)
tag ラベル
  • get_label - リポジトリから特定のラベルを取得します

    • 必要な OAuth スコープ: repo
    • name: ラベル名。(string, 必須)
    • owner: リポジトリの所有者 (ユーザー名または組織名) (string, 必須)
    • repo: リポジトリ名 (string, 必須)
  • label_write - リポジトリラベルに対する書き込み操作

    • 必要な OAuth スコープ: repo
    • color: '#' プレフィックスなしの 6 文字の 16 進コードとしてのラベルの色 (例: 'f29513')。'create' では必須、'update' ではオプションです。(string, オプション)
    • description: ラベルの説明テキスト。'create' および 'update' でオプションです。(string, オプション)
    • method: 実行する操作: 'create'、'update'、または 'delete' (string, 必須)
    • name: ラベル名 - すべての操作で必須 (string, 必須)
    • new_name: ラベルの新しい名前 ('update' メソッドで名前を変更する場合にのみ使用) (string, オプション)
    • owner: リポジトリの所有者 (ユーザー名または組織名) (string, 必須)
    • repo: リポジトリ名 (string, 必須)
  • list_label - リポジトリからラベルを一覧表示します

    • 必要な OAuth スコープ: repo
    • owner: リポジトリの所有者 (ユーザー名または組織名) - すべての操作で必須 (string, 必須)
    • repo: リポジトリ名 - すべての操作で必須 (string, 必須)
bell 通知
  • dismiss_notification - 通知を閉じます

    • 必要な OAuth スコープ: notifications
    • state: 通知の新しい状態 (read/done) (string, 必須)
    • threadID: 通知スレッドの ID (string, 必須)
  • get_notification_details - 通知の詳細を取得します

    • 必要な OAuth スコープ: notifications
    • notificationID: 通知の ID (string, 必須)
  • list_notifications - 通知を一覧表示します

    • 必要な OAuth スコープ: notifications
    • before: 指定された時刻 (ISO 8601 形式) より前に更新された通知のみを表示します (string, オプション)
    • filter: 通知をフィルタリングします。指定がない限りデフォルトを使用します。既読通知は、ユーザーが既に確認したものです。参加通知は、ユーザーがコメントしたり作成したりした Issue やプルリクエストなど、ユーザーが直接関与しているものです。(string, オプション)
    • owner: オプションのリポジトリ所有者。repo と共に指定された場合、このリポジトリの通知のみが一覧表示されます。(string, オプション)
    • page: ページネーションのページ番号 (最小 1) (number, オプション)
    • perPage: ページネーションの 1 ページあたりの結果数 (最小 1, 最大 100) (number, オプション)
    • repo: オプションのリポジトリ名。owner と共に指定された場合、このリポジトリの通知のみが一覧表示されます。(string, オプション)
    • since: 指定された時刻 (ISO 8601 形式) より後に更新された通知のみを表示します (string, オプション)
  • manage_notification_subscription - 通知サブスクリプションを管理します

    • 必要な OAuth スコープ: notifications
    • action: 実行するアクション: 通知サブスクリプションを ignore、watch、または delete します。(string, 必須)
    • notificationID: 通知スレッドの ID。(string, 必須)
  • manage_repository_notification_subscription - リポジトリ通知サブスクリプションを管理します

    • 必要な OAuth スコープ: notifications
    • action: 実行するアクション: リポジトリ通知サブスクリプションを ignore、watch、または delete します。(string, 必須)
    • owner: リポジトリのアカウント所有者。(string, 必須)
    • repo: リポジトリ名。(string, 必須)
  • mark_all_notifications_read - すべての通知を既読にします

    • 必要な OAuth スコープ: notifications
    • lastReadAt: 通知が最後にチェックされた時点を示します (オプション)。デフォルト: 現在時刻 (string, オプション)
    • owner: オプションのリポジトリ所有者。repo と共に指定された場合、このリポジトリの通知のみが既読としてマークされます。(string, オプション)
    • repo: オプションのリポジトリ名。owner と共に指定された場合、このリポジトリの通知のみが既読としてマークされます。(string, オプション)
organization Organizations
  • search_orgs - 組織を検索
    • 必要な OAuth スコープ: read:org
    • 許可される OAuth スコープ: admin:org, read:org, write:org
    • order: ソート順 (文字列, オプション)
    • page: ページネーションのページ番号 (最小 1) (数値, オプション)
    • perPage: ページネーションの1ページあたりの結果数 (最小 1, 最大 100) (数値, オプション)
    • query: 組織の検索クエリ。例: 'microsoft', 'location:california', 'created:>=2025-01-01'。検索は自動的に type:org にスコープされます。(文字列, 必須)
    • sort: カテゴリ別のソートフィールド (文字列, オプション)
project Projects
  • projects_get - GitHub Projects リソースの詳細を取得

    • 必要な OAuth スコープ: read:project
    • 許可される OAuth スコープ: project, read:project
    • field_id: フィールドの ID。'get_project_field' メソッドで必須。(数値, オプション)
    • field_names: プロジェクトアイテム取得時にレスポンスに含めるフィールド名のリスト (例: ["Status", "Priority"])。サーバーサイドでフィールド ID に解決されます — 人間が読める名前しかわからない場合は 'fields' の代わりにこれを渡します。'fields' とは相互排他的で、どちらか一方を指定してください。'get_project_item' メソッドでのみ使用されます。(文字列配列, オプション)
    • fields: プロジェクトアイテム取得時にレスポンスに含めるフィールド ID のリスト (例: ["102589", "985201", "169875"])。'fields' も 'field_names' も指定されない場合、タイトルフィールドのみが含まれます。'field_names' とは相互排他的で、どちらか一方を指定してください。'get_project_item' メソッドでのみ使用されます。(文字列配列, オプション)
    • item_id: アイテムの ID。'get_project_item' メソッドで必須。(数値, オプション)
    • method: 実行するメソッド (文字列, 必須)
    • owner: オーナー (ユーザーまたは組織のログイン)。名前は大文字小文字を区別しません。(文字列, オプション)
    • owner_type: オーナータイプ (user または org)。指定がない場合、自動的に検出されます。(文字列, オプション)
    • project_number: プロジェクトの番号。(数値, オプション)
    • status_update_id: プロジェクトステータス更新のノード ID。'get_project_status_update' メソッドで必須。(文字列, オプション)
  • projects_list - GitHub Projects リソースを一覧表示

    • 必要な OAuth スコープ: read:project
    • 許可される OAuth スコープ: project, 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: オーナータイプ (user または org)。指定がない場合、自動的に両方が試行されます。(文字列, オプション)
    • per_page: 1ページあたりの結果数 (最大 50) (数値, オプション)
    • project_number: プロジェクトの番号。'list_project_fields'、'list_project_items'、'list_project_status_updates' メソッドで必須。(数値, オプション)
    • query: フィルター/クエリ文字列。list_projects の場合: タイトルテキストと状態でフィルター (例: "roadmap is:open")。list_project_items の場合: GitHub のプロジェクトフィルタリング構文を使用した高度なフィルタリング。(文字列, オプション)
  • projects_write - GitHub Projects を管理

    • 必要な OAuth スコープ: project
    • body: ステータス更新の本文 (markdown)。'create_project_status_update' メソッドで使用。(文字列, オプション)
    • field_name: イテレーションフィールドの名前 (例: 'Sprint')。'create_iteration_field' メソッドで必須。(文字列, オプション)
    • issue_number: Issue 番号。item_type が 'issue' の場合、'add_project_item' で必須。'update_project_item' でも、Issue 番号でアイテムを解決するために受け付けられます (item_owner および item_repo と組み合わせて)。(数値, オプション)
    • item_id: プロジェクトアイテム ID。'delete_project_item' で必須。'update_project_item' では、item_id、または (item_owner + item_repo + issue_number) のいずれかを指定して、Issue でアイテムを解決します。(数値, オプション)
    • item_owner: Issue またはプルリクエストを含むリポジトリのオーナー (ユーザーまたは組織)。'add_project_item' メソッドで必須。'update_project_item' でも、Issue 番号でアイテムを解決する際に受け付けられます。(文字列, オプション)
    • item_repo: Issue またはプルリクエストを含むリポジトリの名前。'add_project_item' メソッドで必須。'update_project_item' でも、Issue 番号でアイテムを解決する際に受け付けられます。(文字列, オプション)
    • item_type: アイテムのタイプ。issue または pull_request。'add_project_item' メソッドで必須。(文字列, オプション)
    • iteration_duration: フィールドのイテレーション期間 (日数) (例: 週次なら 7、隔週なら 14)。'create_iteration_field' メソッドで必須。(数値, オプション)
    • iterations: 'create_iteration_field' メソッド用のカスタムイテレーション。期間が異なる、間に休止期間がある、または特定のタイトルが必要な場合にのみ設定してください。それ以外の場合は省略します: GitHub は 'start_date' から始まる 'iteration_duration' 日間のイテレーションを3つ自動作成します。これはほとんどの場合に適切な選択です。(オブジェクト配列, オプション)
    • method: 実行するメソッド (文字列, 必須)
    • owner: プロジェクトオーナー (ユーザーまたは組織のログイン)。名前は大文字小文字を区別しません。(文字列, 必須)
    • owner_type: オーナータイプ (user または org)。'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: 更新するフィールドとその新しい値を記述するオブジェクト。'update_project_item' で必須。2つの形式が受け入れられます: (1) ID による指定 — {"id": 123456, "value": "..."}; (2) 名前による指定 — {"name": "Status", "value": "In Progress"}。単一選択フィールドの場合、オプション名の解決には名前による形式が必要です。ID による形式では、オプション ID を渡します。フィールドをクリアするには value を null に設定します。(オブジェクト, オプション)
git-pull-request Pull Requests
  • add_comment_to_pending_review - リクエスターの最新の保留中のプルリクエストレビューにレビューコメントを追加

    • 必要な OAuth スコープ: repo
    • body: レビューコメントのテキスト (文字列, 必須)
    • line: コメントが適用されるプルリクエスト差分内のブロブの行。複数行コメントの場合、範囲の最後の行 (数値, オプション)
    • owner: リポジトリオーナー (文字列, 必須)
    • path: コメントが必要なファイルへの相対パス (文字列, 必須)
    • pullNumber: プルリクエスト番号 (数値, 必須)
    • repo: リポジトリ名 (文字列, 必須)
    • side: コメントする差分のサイド。LEFT は以前の状態、RIGHT は新しい状態を示します (文字列, オプション)
    • startLine: 複数行コメントの場合、コメントが適用される範囲の最初の行 (数値, オプション)
    • startSide: 複数行コメントの場合、コメントが適用される差分の開始サイド。LEFT は以前の状態、RIGHT は新しい状態を示します (文字列, オプション)
    • subjectType: コメントの対象レベル (文字列, 必須)
  • add_reply_to_pull_request_comment - プルリクエストコメントに返信を追加

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

    • 必要な OAuth スコープ: repo
    • base: マージ先ブランチ (文字列, 必須)
    • body: PR の説明 (文字列, オプション)
    • draft: ドラフト PR として作成 (真偽値, オプション)
    • head: 変更を含むブランチ (文字列, 必須)
    • maintainer_can_modify: メンテナによる編集を許可 (真偽値, オプション)
    • owner: リポジトリオーナー (文字列, 必須)
    • repo: リポジトリ名 (文字列, 必須)
    • reviewers: レビューを依頼する GitHub ユーザー名または ORG/team-slug チームレビュアー (文字列配列, オプション)
    • title: PR のタイトル (文字列, 必須)
  • list_pull_requests - プルリクエストを一覧表示

    • 必要な OAuth スコープ: repo
    • base: ベースブランチでフィルター (文字列, オプション)
    • direction: ソート方向 (文字列, オプション)
    • head: ヘッドユーザー/組織とブランチでフィルター (文字列, オプション)
    • owner: リポジトリオーナー (文字列, 必須)
    • page: ページネーションのページ番号 (最小 1) (数値, オプション)
    • perPage: ページネーションの1ページあたりの結果数 (最小 1, 最大 100) (数値, オプション)
    • repo: リポジトリ名 (文字列, 必須)
    • sort: ソート基準 (文字列, オプション)
    • state: 状態でフィルター (文字列, オプション)
  • merge_pull_request - プルリクエストをマージ

    • 必要な OAuth スコープ: repo
    • commit_message: マージコミットの追加詳細 (文字列, オプション)
    • commit_title: マージコミットのタイトル (文字列, オプション)
    • merge_method: マージ方法 (文字列, オプション)
    • owner: リポジトリオーナー (文字列, 必須)
    • pullNumber: プルリクエスト番号 (数値, 必須)
    • repo: リポジトリ名 (文字列, 必須)
  • pull_request_read - 単一のプルリクエストの詳細を取得します

    • 必要なOAuthスコープ: repo
    • after: ページネーション用のカーソル。get_review_commentsメソッドでのみ使用されます。前のページのPageInfoからendCursorを渡して次のページを取得します。(string, オプション)
    • method: GitHubから取得するプルリクエストデータを指定するアクション。 可能なオプション:
      1. get - 特定のプルリクエストの詳細を取得します。
      2. get_diff - プルリクエストの差分を取得します。
      3. get_status - プルリクエストのheadコミットの結合コミットステータスを取得します。
      4. get_files - プルリクエストで変更されたファイルのリストを取得します。ページネーションパラメータを使用して返される結果の数を制御します。
      5. get_commits - プルリクエストのコミットリストを取得します。ページネーションパラメータを使用して返される結果の数を制御します。
      6. get_review_comments - プルリクエストのレビュースレッドを取得します。各スレッドには、プルリクエストレビュー中に同じコードの場所に対して行われた、論理的にグループ化されたレビューコメントが含まれます。スレッドとそのメタデータ(isResolved、isOutdated、isCollapsed)、および関連するコメントを返します。カーソルベースのページネーション(perPage、after)を使用して結果を制御します。
      7. get_reviews - プルリクエストのレビューを取得します。レビューコメントを求められた場合は、get_review_commentsメソッドを使用してください。ページネーションパラメータを使用して返される結果の数を制御します。
      8. get_comments - プルリクエストのコメントを取得します。ユーザーが特にレビューコメントを求めていない場合に使用します。ページネーションパラメータを使用して返される結果の数を制御します。
      9. get_check_runs - プルリクエストのheadコミットのチェック実行を取得します。チェック実行は、PRで実行される個々のCI/CDジョブとチェックです。 (string, 必須)
    • owner: リポジトリの所有者 (string, 必須)
    • page: ページネーションのページ番号 (最小1) (number, オプション)
    • perPage: ページネーションの1ページあたりの結果数 (最小1, 最大100) (number, オプション)
    • pullNumber: プルリクエスト番号 (number, 必須)
    • repo: リポジトリ名 (string, 必須)
  • pull_request_review_write - プルリクエストレビューに対する書き込み操作(作成、送信、削除)

    • 必要なOAuthスコープ: repo
    • body: レビューコメントテキスト (string, オプション)
    • commitID: レビューするコミットのSHA (string, オプション)
    • event: 実行するレビューアクション。(string, オプション)
    • method: プルリクエストレビューに対して実行する書き込み操作。(string, 必須)
    • owner: リポジトリの所有者 (string, 必須)
    • pullNumber: プルリクエスト番号 (number, 必須)
    • repo: リポジトリ名 (string, 必須)
    • threadId: レビュースレッドのノードID(例: PRRT_kwDOxxx)。resolve_threadおよびunresolve_threadメソッドで必須です。pull_request_readのget_review_commentsメソッドでスレッドIDを取得します。(string, オプション)
  • search_pull_requests - プルリクエストを検索します

    • 必要なOAuthスコープ: repo
    • order: ソート順 (string, オプション)
    • owner: オプションのリポジトリ所有者。repoと共に指定された場合、このリポジトリのプルリクエストのみがリストされます。(string, オプション)
    • page: ページネーションのページ番号 (最小1) (number, オプション)
    • perPage: ページネーションの1ページあたりの結果数 (最小1, 最大100) (number, オプション)
    • query: GitHubプルリクエスト検索構文を使用した検索クエリ (string, 必須)
    • repo: オプションのリポジトリ名。ownerと共に指定された場合、このリポジトリのプルリクエストのみがリストされます。(string, オプション)
    • sort: カテゴリの一致数によるソートフィールド。デフォルトはベストマッチ (string, オプション)
  • update_pull_request - プルリクエストを編集します

    • 必要なOAuthスコープ: repo
    • base: 新しいベースブランチ名 (string, オプション)
    • body: 新しい説明 (string, オプション)
    • draft: プルリクエストをドラフトとしてマークする(true)か、レビュー準備完了としてマークする(false) (boolean, オプション)
    • maintainer_can_modify: メンテナによる編集を許可する (boolean, オプション)
    • owner: リポジトリの所有者 (string, 必須)
    • pullNumber: 更新するプルリクエスト番号 (number, 必須)
    • repo: リポジトリ名 (string, 必須)
    • reviewers: レビューを依頼するGitHubユーザー名またはORG/team-slugチームレビュアー (string[], オプション)
    • state: 新しい状態 (string, オプション)
    • title: 新しいタイトル (string, オプション)
  • update_pull_request_branch - プルリクエストブランチを更新します

    • 必要なOAuthスコープ: repo
    • expectedHeadSha: プルリクエストのHEAD refの予想されるSHA (string, オプション)
    • owner: リポジトリの所有者 (string, 必須)
    • pullNumber: プルリクエスト番号 (number, 必須)
    • repo: リポジトリ名 (string, 必須)
repo リポジトリ
  • create_branch - ブランチを作成します

    • 必要なOAuthスコープ: repo
    • branch: 新しいブランチの名前 (string, 必須)
    • from_branch: ソースブランチ (デフォルトはリポジトリのデフォルトブランチ) (string, オプション)
    • owner: リポジトリの所有者 (string, 必須)
    • repo: リポジトリ名 (string, 必須)
  • create_or_update_file - ファイルを作成または更新します

    • 必要なOAuthスコープ: repo
    • branch: ファイルを作成/更新するブランチ (string, 必須)
    • content: ファイルの内容 (string, 必須)
    • message: コミットメッセージ (string, 必須)
    • owner: リポジトリの所有者 (ユーザー名または組織) (string, 必須)
    • path: ファイルを作成/更新するパス (string, 必須)
    • repo: リポジトリ名 (string, 必須)
    • sha: 置き換えられるファイルのblob SHA。ファイルが既に存在する場合に必要です。(string, オプション)
  • create_repository - リポジトリを作成します

    • 必要なOAuthスコープ: repo
    • autoInit: READMEで初期化する (boolean, オプション)
    • description: リポジトリの説明 (string, オプション)
    • name: リポジトリ名 (string, 必須)
    • organization: リポジトリを作成する組織 (省略すると個人アカウントに作成されます) (string, オプション)
    • private: リポジトリをプライベートにするかどうか。省略時のデフォルトはtrue(プライベート)です。(boolean, オプション)
  • delete_file - ファイルを削除します

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

    • 必要なOAuthスコープ: repo
    • organization: フォーク先の組織 (string, オプション)
    • owner: リポジトリの所有者 (string, 必須)
    • repo: リポジトリ名 (string, 必須)
  • get_commit - コミットの詳細を取得します

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

    • 必要なOAuthスコープ: repo
    • 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スコープ: repo
    • author: コミットをフィルタリングする作成者のユーザー名またはメールアドレス (string, オプション)
    • owner: リポジトリの所有者 (string, 必須)
    • page: ページネーションのページ番号 (最小1) (number, オプション)
    • path: このファイルパスを含むコミットのみが返されます (string, オプション)
    • perPage: ページネーションの1ページあたりの結果数 (最小1, 最大100) (number, オプション)
    • repo: リポジトリ名 (string, 必須)
    • sha: コミットを一覧表示するコミットSHA、ブランチ、またはタグ名。指定されていない場合は、リポジトリのデフォルトブランチを使用します。コミットSHAが指定された場合、そのSHAまでのコミットを一覧表示します。(string, オプション)
    • since: この日付以降のコミットのみが返されます (ISO 8601形式: YYYY-MM-DDTHH:MM:SSZ または YYYY-MM-DD) (string, オプション)
    • until: この日付以前のコミットのみが返されます (ISO 8601形式: YYYY-MM-DDTHH:MM:SSZ または YYYY-MM-DD) (string, オプション)
  • list_releases - リリースを一覧表示します

    • 必要なOAuthスコープ: repo
    • owner: リポジトリの所有者 (string, 必須)
    • page: ページネーションのページ番号 (最小1) (number, オプション)
    • perPage: ページネーションの1ページあたりの結果数 (最小1, 最大100) (number, オプション)
    • repo: リポジトリ名 (string, 必須)
  • list_repository_collaborators - リポジトリのコラボレーターを一覧表示します

    • 必要なOAuthスコープ: repo
    • affiliation: 所属によるフィルタリング。次のいずれか: 'outside' (外部コラボレーター), 'direct' (組織メンバーシップに関係なく権限を持つ全員), 'all' (すべてのコラボレーター)。デフォルト: 'all' (string, オプション)
    • owner: リポジトリの所有者 (string, 必須)
    • page: ページネーションのページ番号 (デフォルト1, 最小1) (number, オプション)
    • perPage: ページネーションの1ページあたりの結果数 (デフォルト30, 最小1, 最大100) (number, オプション)
    • repo: リポジトリ名 (string, 必須)
  • list_tags - タグ一覧

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

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

    • 必要なOAuthスコープ: repo
    • order: 結果のソート順 (string, オプション)
    • page: ページネーションのページ番号 (最小1) (number, オプション)
    • perPage: ページネーションの1ページあたりの結果数 (最小1, 最大100) (number, オプション)
    • query: 検索クエリ (GitHub code search REST)。用語間は暗黙のAND。完全一致には ORNOT"quoted phrase" を使用可能。修飾子: repo:owner/repoorg:user:language:path:dir (前方一致)、filename:exact.extextension:in:filein:pathsize:is:archivedis: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, 必須)
    • sort: ソートフィールド ('indexed' のみ) (string, オプション)
  • search_commits - コミット検索

    • 必要なOAuthスコープ: repo
    • order: ソート順 (string, オプション)
    • page: ページネーションのページ番号 (最小1) (number, オプション)
    • perPage: ページネーションの1ページあたりの結果数 (最小1, 最大100) (number, オプション)
    • query: コミット検索クエリ (GitHub commit search REST)。デフォルトブランチのコミットメッセージのみを検索します。検索範囲を repo:owner/repoorg:user: で絞り込んでください (スコープ修飾子なしのクエリはGitHub全体を対象とするため、通常は意図した結果になりません)。その他の修飾子: author:committer:author-name:committer-name:author-email:committer-email:author-date:committer-date: (><>=<=YYYY-MM-DD..YYYY-MM-DD の範囲指定をサポート)、merge:true|falsehash: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, 必須)
    • sort: 作成者またはコミッターの日付でソート (デフォルトは最適な一致) (string, オプション)
  • search_repositories - リポジトリ検索

    • 必要なOAuthスコープ: repo
    • minimal_output: 最小限のリポジトリ情報を返す (デフォルト: true)。false の場合、完全な GitHub API リポジトリオブジェクトを返します。 (boolean, オプション)
    • order: ソート順 (string, オプション)
    • page: ページネーションのページ番号 (最小1) (number, オプション)
    • perPage: ページネーションの1ページあたりの結果数 (最小1, 最大100) (number, オプション)
    • query: リポジトリ検索クエリ。例: 'machine learning in:name stars:>1000 language:python', 'topic:react', 'user:facebook'。正確なフィルタリングのための高度な検索構文をサポートします。 (string, 必須)
    • sort: フィールドでリポジトリをソート (デフォルトは最適な一致) (string, オプション)
shield-lock シークレット保護
  • get_secret_scanning_alert - シークレットスキャニングアラートを取得

    • 必要なOAuthスコープ: security_events
    • 許可されるOAuthスコープ: repo, security_events
    • alertNumber: アラートの番号。 (number, 必須)
    • owner: リポジトリのオーナー。 (string, 必須)
    • repo: リポジトリの名前。 (string, 必須)
  • list_secret_scanning_alerts - シークレットスキャニングアラート一覧

    • 必要なOAuthスコープ: security_events
    • 許可されるOAuthスコープ: repo, security_events
    • owner: リポジトリのオーナー。 (string, 必須)
    • page: ページネーションのページ番号 (最小1) (number, オプション)
    • perPage: ページネーションの1ページあたりの結果数 (最小1, 最大100) (number, オプション)
    • repo: リポジトリの名前。 (string, 必須)
    • resolution: 解決状態でフィルタ (string, オプション)
    • secret_type: 返すシークレットタイプのカンマ区切りリスト。デフォルトのシークレットパターンがすべて返されます。汎用パターンを返すには、パラメータにトークン名を渡します。 (string, オプション)
    • state: 状態でフィルタ (string, オプション)
shield セキュリティアドバイザリ
  • get_global_security_advisory - グローバルセキュリティアドバイザリを取得

    • 必要なOAuthスコープ: security_events
    • 許可されるOAuthスコープ: repo, security_events
    • ghsaId: GitHub Security Advisory ID (形式: GHSA-xxxx-xxxx-xxxx)。 (string, 必須)
  • list_global_security_advisories - グローバルセキュリティアドバイザリ一覧

    • 必要なOAuthスコープ: security_events
    • 許可されるOAuthスコープ: repo, security_events
    • affects: 影響を受けるパッケージまたはバージョンでアドバイザリをフィルタ (例: "package1,package2@1.0.0")。 (string, オプション)
    • cveId: CVE ID でフィルタ。 (string, オプション)
    • cwes: Common Weakness Enumeration ID でフィルタ (例: ["79", "284", "22"])。 (string[], オプション)
    • ecosystem: パッケージエコシステムでフィルタ。 (string, オプション)
    • ghsaId: GitHub Security Advisory ID でフィルタ (形式: GHSA-xxxx-xxxx-xxxx)。 (string, オプション)
    • isWithdrawn: 取り下げられたアドバイザリのみを返すかどうか。 (boolean, オプション)
    • modified: 公開日または更新日、あるいは日付範囲でフィルタ (ISO 8601 日付または範囲)。 (string, オプション)
    • published: 公開日または日付範囲でフィルタ (ISO 8601 日付または範囲)。 (string, オプション)
    • severity: 重大度でフィルタ。 (string, オプション)
    • type: アドバイザリタイプ。 (string, オプション)
    • updated: 更新日または日付範囲でフィルタ (ISO 8601 日付または範囲)。 (string, オプション)
  • list_org_repository_security_advisories - 組織リポジトリのセキュリティアドバイザリ一覧

    • 必要なOAuthスコープ: security_events
    • 許可されるOAuthスコープ: repo, security_events
    • direction: ソート方向。 (string, オプション)
    • org: 組織のログイン名。 (string, 必須)
    • sort: ソートフィールド。 (string, オプション)
    • state: アドバイザリの状態でフィルタ。 (string, オプション)
  • list_repository_security_advisories - リポジトリのセキュリティアドバイザリ一覧

    • 必要なOAuthスコープ: security_events
    • 許可されるOAuthスコープ: repo, security_events
    • direction: ソート方向。 (string, オプション)
    • owner: リポジトリのオーナー。 (string, 必須)
    • repo: リポジトリの名前。 (string, 必須)
    • sort: ソートフィールド。 (string, オプション)
    • state: アドバイザリの状態でフィルタ。 (string, オプション)
star スターゲイザー
  • list_starred_repositories - スター付きリポジトリ一覧

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

    • 必要なOAuthスコープ: repo
    • owner: リポジトリオーナー (string, 必須)
    • repo: リポジトリ名 (string, 必須)
  • unstar_repository - リポジトリのスターを外す

    • 必要なOAuthスコープ: repo
    • owner: リポジトリオーナー (string, 必須)
    • repo: リポジトリ名 (string, 必須)
people ユーザー
  • search_users - ユーザー検索
    • 必要なOAuthスコープ: repo
    • order: ソート順 (string, オプション)
    • page: ページネーションのページ番号 (最小1) (number, オプション)
    • perPage: ページネーションの1ページあたりの結果数 (最小1, 最大100) (number, オプション)
    • query: ユーザー検索クエリ。例: 'john smith', 'location:seattle', 'followers:>100'。検索は自動的に type:user にスコープされます。 (string, 必須)
    • sort: フォロワー数、リポジトリ数、またはGitHub参加日でユーザーをソート。 (string, オプション)

リモートGitHub MCPサーバーの追加ツール

Copilot
  • create_pull_request_with_copilot - GitHub Copilotコーディングエージェントでタスクを実行
    • owner: リポジトリオーナー。オーナーを推測できますが、続行する前にユーザーに確認してください。 (string, 必須)
    • repo: リポジトリ名。リポジトリ名を推測できますが、続行する前にユーザーに確認してください。 (string, 必須)
    • problem_statement: 実行するタスクの詳細な説明 (例: 'Xを行う機能を実装', 'バグYを修正' など) (string, 必須)
    • title: 作成されるプルリクエストのタイトル (string, 必須)
    • base_ref: エージェントが作業を開始するGit参照 (例: ブランチ)。指定しない場合、リポジトリのデフォルトブランチが使用されます (string, オプション)
Copilot Spaces
  • 認証に関する注意

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

    • owner: スペースのオーナー。 (string, 必須)
    • name: スペースの名前。 (string, 必須)
  • list_copilot_spaces - Copilot Spaces一覧

GitHubサポートドキュメント検索 - **github_support_docs_search** - GitHub 製品およびサポートに関する質問に回答するための関連ドキュメントを取得します。サポートトピックには以下が含まれます: GitHub Actions ワークフロー、認証、GitHub サポートへの問い合わせ、プルリクエストのプラクティス、リポジトリのメンテナンス、GitHub Pages、GitHub Packages、GitHub Discussions、Copilot Spaces - `query`: 回答が必要な質問に関するユーザーからの入力。これは最新の未編集のユーザーメッセージです。ユーザーメッセージは常にそのままにし、決して変更しないでください。(string, 必須)

読み取り専用モード

サーバーを読み取り専用モードで実行するには、--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-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

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

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

  • issue_read:get
  • pull_request_read:get

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

  • 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 サーバーインスタンスを実行する場合 (例: 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 サーバーの使用に関するヘルプについては、サポートガイド を参照してください。バグを発見した場合や機能をリクエストしたい場合は、新しい Issue を開く前に既存の Issue を検索してください。

セキュリティ

セキュリティ脆弱性を公開 Issue で報告しないでください。セキュリティポリシー の指示に従って、責任を持って脆弱性を報告してください。

ライセンス

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