GitHub MCP

公式

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

GitHub MCPで何ができますか?

  • リポジトリ探索 — アシスタントにリポジトリの閲覧、ファイル検索、プロジェクト構造の理解を依頼します。get_file_contents などのツールを使用します。
  • Issue と PR の管理 — AI に issue やプルリクエストの作成、更新、トリアージを任せ、コード変更のレビューやプロジェクトボードの管理も行います。
  • CI/CD モニタリング — GitHub Actions のワークフロー実行に関する洞察を得て、ビルド失敗を分析し、自然言語クエリでリリースを管理します。
  • コードセキュリティ分析 — セキュリティ検出結果を調査し、Dependabot アラートを確認し、コードベース全体のコードパターンを理解します。
  • チームコラボレーション — ディスカッションへのアクセス、通知の管理、チーム活動の分析を通じて、開発プロセスを効率化します。

ドキュメント

Go Report Card

GitHub MCP サーバー

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

ユースケース

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

AI ツールを GitHub のコンテキストと機能に接続したい開発者のために設計されており、単純な自然言語クエリから複雑なマルチステップのエージェントワークフローまで対応します。


リモート GitHub MCP サーバー

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

リモート GitHub MCP サーバーは GitHub がホストしており、最も簡単に使い始められる方法です。お使いの MCP ホストがリモート MCP サーバーをサポートしていない場合でも、心配はいりません。GitHub MCP サーバーのローカル版を使用できます。

前提条件

  1. リモートサーバーをサポートする互換性のある MCP ホスト(VS Code 1.101+、Claude Desktop、Cursor、Windsurf など)
  2. 該当するポリシーが有効化されていること

VS Code へのインストール

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

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

OAuth を使用GitHub PAT を使用
VS Code(バージョン 1.101 以上)
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "github_mcp_pat",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ]
}

他の MCP ホストへのインストール

  • Copilot CLI - GitHub Copilot CLI のインストールガイド
  • 他の IDE の GitHub Copilot - GitHub Copilot を使用した JetBrains、Visual Studio、Eclipse、Xcode へのインストール
  • Claude アプリケーション - Claude Desktop と Claude Code CLI のインストールガイド
  • Codex - OpenAI Codex のインストールガイド
  • Cursor - Cursor IDE のインストールガイド
  • OpenCode - OpenCode ターミナルエージェントのインストールガイド
  • Windsurf - Windsurf IDE のインストールガイド
  • Zed - Zed エディターのインストールガイド
  • Rovo Dev CLI - Rovo Dev CLI のインストールガイド

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

設定

ツールセットの設定

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

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

Insiders モード

新機能をいち早く試す! リモートサーバーは、新機能や実験的なツールへの早期アクセスを提供する insiders バージョンを提供しています。

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

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

GitHub Enterprise

データレジデンシー対応の GitHub Enterprise Cloud(ghe.com)

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

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

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

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

GitHub Enterprise Server

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


ローカル GitHub MCP サーバー

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 Personal Access Token で認証することもできます(OAuth よりも優先されます)。MCP サーバーは多くの GitHub API を使用できるため、AI ツールに付与しても問題ないと思われる権限を有効にしてください(アクセストークンの詳細については、ドキュメントを参照してください)。

PAT を安全に扱う

環境変数(推奨)

GitHub PAT を安全に保ち、さまざまな MCP ホスト間で再利用できるようにするには:

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

    export GITHUB_PAT=your_token_here
    

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

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

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

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

: 環境変数のサポートはホストアプリや 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 にインストール

簡単にインストールするには、上記のワンクリックインストールボタンを使用してください。そのフローを完了したら、エージェントモード(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 のインストールガイド
  • 他の 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サーバーにアクセスできるはずです。ただし、具体的な設定プロセス、構文、統合の安定性はホストアプリケーションによって異なります。多くの場合、上記の例と同様の形式に従うかもしれませんが、これは保証されません。正しいMCP設定構文とセットアッププロセスについては、ホストアプリケーションのドキュメントを参照してください。

ソースからビルドする

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

{
  "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つの方法で渡すことができます:

  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関連ツール
copilotcopilot_issue_intents意図メタデータ(根拠、信頼度、提案)を保持するオプトインのCopilot issue割り当てツール
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 コード品質
  • get_code_quality_finding - コード品質の指摘事項を取得
    • OAuthチャレンジスコープ: repo
    • findingNumber: 指摘事項の番号。(number, required)
    • owner: リポジトリのオーナー。(string, required)
    • repo: リポジトリの名前。(string, required)
codescan コードセキュリティ
  • get_code_scanning_alert - コードスキャニングアラートを取得

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

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

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

    • OAuthチャレンジスコープ: read:org
    • org: チームを含む組織のログイン(オーナー)。(string, required)
    • team_slug: チームスラッグ (string, required)
  • get_teams - チームを取得

    • OAuthチャレンジスコープ: read:org
    • user: チームを取得するユーザー名。指定しない場合は、認証済みユーザーを使用します。(string, optional)
copilot Copilot
  • assign_copilot_to_issue - CopilotをIssueに割り当て

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

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

    • OAuthチャレンジスコープ: security_events
    • alertNumber: アラートの番号。(number, required)
    • owner: リポジトリのオーナー。(string, required)
    • repo: リポジトリの名前。(string, required)
  • list_dependabot_alerts - Dependabotアラートを一覧表示

    • OAuthチャレンジスコープ: security_events
    • after: ページネーション用のカーソル。前回のレスポンスのカーソルを使用します。(string, optional)
    • owner: リポジトリのオーナー。(string, required)
    • perPage: ページネーション用の1ページあたりの結果数(最小1、最大100)(number, optional)
    • repo: リポジトリの名前。(string, required)
    • severity: 重大度でDependabotアラートをフィルタリング (string, optional)
    • state: 状態でDependabotアラートをフィルタリング。デフォルトはopen (string, optional)
comment-discussion ディスカッション
  • discussion_comment_write - ディスカッションコメントを管理

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

    • OAuthチャレンジスコープ: repo
    • discussionNumber: ディスカッション番号 (number, required)
    • owner: リポジトリのオーナー (string, required)
    • repo: リポジトリ名 (string, required)
  • get_discussion_comments - ディスカッションコメントを取得

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

    • OAuthチャレンジスコープ: repo
    • owner: リポジトリのオーナー (string, required)
    • repo: リポジトリ名。指定しない場合、ディスカッションカテゴリは組織レベルで照会されます。(string, optional)
  • list_discussions - ディスカッションを一覧表示

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

    • OAuthチャレンジスコープ: gist
    • content: シンプルな単一ファイルGist作成用のコンテンツ (string, required)
    • description: Gistの説明 (string, optional)
    • filename: シンプルな単一ファイルGist作成用のファイル名 (string, required)
    • public: Gistが公開かどうか (boolean, optional)
  • get_gist - Gistのコンテンツを取得

    • gist_id: GistのID (string, required)
  • list_gists - Gistを一覧表示

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

    • OAuthチャレンジスコープ: gist
    • content: ファイルのコンテンツ (string, required)
    • description: 更新されたGistの説明 (string, optional)
    • filename: 更新または作成するファイル名 (string, required)
    • gist_id: 更新するGistのID (string, required)
git-branch Git - **get_repository_tree** - リポジトリツリーを取得する - **OAuthチャレンジスコープ**: `repo` - `owner`: リポジトリの所有者(ユーザー名または組織名)(文字列、必須) - `path_filter`: ツリー結果をフィルタリングするためのオプションのパスプレフィックス(例: 'src/' を指定すると src ディレクトリ内のファイルのみを表示)(文字列、オプション) - `recursive`: このパラメータを true に設定すると、ツリーによって参照されるオブジェクトまたはサブツリーが返されます。デフォルトは false です(ブール値、オプション) - `repo`: リポジトリ名(文字列、必須) - `tree_sha`: ツリーの SHA1 値または ref(ブランチまたはタグ)名。デフォルトはリポジトリのデフォルトブランチです(文字列、オプション)
issue-opened イシュー
  • add_issue_comment - イシューまたはプルリクエストにコメントを追加する

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

    • OAuthチャレンジスコープ: repo
    • name: ラベル名。(文字列、必須)
    • owner: リポジトリの所有者(ユーザー名または組織名)(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
  • issue_read - イシューの詳細を取得する

    • OAuthチャレンジスコープ: repo
    • issue_number: イシューの番号(数値、必須)
    • method: 単一のイシューに対して実行する読み取り操作。 オプションは以下のとおりです:
      1. get - イシューの詳細を取得します。ベストエフォートの階層フラグ(has_parenthas_children)も返します。parentsub_issues_summary はオプションの関係サマリーであり、closed_by_pull_requests はイシューを total_count としてクローズするように設定されたプルリクエストと、最大 5 件の references をまとめたものです。
      2. get_comments - イシューのコメントを取得します。
      3. get_sub_issues - イシューのサブイシュー(子)を取得します。
      4. get_parent - このイシューが別のイシューのサブイシューである場合、親イシューを取得します。
      5. get_labels - イシューに割り当てられたラベルを取得します。 (文字列、必須)
    • owner: リポジトリの所有者(文字列、必須)
    • page: ページネーションのページ番号(最小 1)(数値、オプション)
    • perPage: ページネーションの1ページあたりの結果数(最小 1、最大 100)(数値、オプション)
    • repo: リポジトリの名前(文字列、必須)
  • issue_write - イシュー/プルリクエストを作成または更新する

    • OAuthチャレンジスコープ: repo
    • assignees: このイシューに割り当てるユーザー名(文字列[]、オプション)
    • body: イシューの本文内容(文字列、オプション)
    • duplicate_of: このイシューが重複しているイシュー番号。state_reason が 'duplicate' の場合に必須です。(数値、オプション)
    • issue_fields: 設定またはクリアするイシューフィールド値。各項目には 'field_name' と、'value'、'field_option_name'、または 'delete: true' のいずれか 1 つが必要です。(オブジェクト[]、オプション)
    • issue_number: 更新するイシュー番号(数値、オプション)
    • labels: このイシューに適用するラベル(文字列[]、オプション)
    • method: 単一のイシューに対して実行する書き込み操作。 オプションは以下のとおりです:
      • 'create' - 新しいイシューを作成します。
      • 'update' - 既存のイシューを更新します。 (文字列、必須)
    • milestone: マイルストーン番号(数値、オプション)
    • owner: リポジトリの所有者(文字列、必須)
    • parent_issue_number: 親イシューのイシュー番号。method が 'create' の場合のみ使用され、issue_fields と併用することはできません。新しいイシューは同じ操作で作成され、この親に添付されます。(数値、オプション)
    • parent_owner: 親イシューのリポジトリ所有者。parent_repo と一緒に指定する必要があります。両方を省略すると owner と repo が使用されます。method が 'create' で parent_issue_number が指定されている場合のみ使用されます。(文字列、オプション)
    • parent_repo: 親イシューのリポジトリ名。parent_owner と一緒に指定する必要があります。両方を省略すると owner と repo が使用されます。method が 'create' で parent_issue_number が指定されている場合のみ使用されます。(文字列、オプション)
    • repo: リポジトリ名(文字列、必須)
    • state: 新しい状態(文字列、オプション)
    • state_reason: 状態変更の理由。状態が変更されない限り無視されます。(文字列、オプション)
    • title: イシューのタイトル(文字列、オプション)
    • type: このイシューのタイプ。更新時は null を渡すと現在のタイプが削除されます。このリポジトリでイシュータイプが有効な場合のみ使用します。このリポジトリまたはその所有者組織の有効なタイプ値を取得するには list_issue_types を使用します。リポジトリがイシュータイプをサポートしていない場合は、このパラメータを省略してください。(文字列 | null、オプション)
  • list_issue_fields - イシューフィールドを一覧表示する

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

    • OAuthチャレンジスコープ: reporead:org
    • owner: リポジトリまたは組織のアカウント所有者。(文字列、必須)
    • repo: リポジトリの名前。指定すると、この特定のリポジトリのイシュータイプが返されます。省略すると、組織レベルのイシュータイプが直接返されます。(文字列、オプション)
  • list_issues - イシューを一覧表示する

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

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

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

    • OAuthチャレンジスコープ: repo
    • name: ラベル名。(文字列、必須)
    • owner: リポジトリの所有者(ユーザー名または組織名)(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
  • label_write - リポジトリのラベルに対する書き込み操作

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

    • OAuthチャレンジスコープ: repo
    • owner: リポジトリの所有者(ユーザー名または組織名)- すべての操作で必須です(文字列、必須)
    • repo: リポジトリ名 - すべての操作で必須です(文字列、必須)
bell 通知 - **dismiss_notification** - 通知を閉じる - **OAuthチャレンジスコープ**: `notifications` - `state`: 通知の新しい状態(既読/完了)(string, required) - `threadID`: 通知スレッドのID (string, required)
  • get_notification_details - 通知の詳細を取得

    • OAuthチャレンジスコープ: notifications
    • notificationID: 通知のID (string, required)
  • list_notifications - 通知を一覧表示

    • OAuthチャレンジスコープ: notifications
    • before: 指定した時刻より前に更新された通知のみを表示(ISO 8601形式)(string, optional)
    • filter: 通知をフィルタリングします。特に指定がない場合はデフォルトを使用します。既読通知は、ユーザーがすでに確認した通知です。参加通知は、ユーザーが直接関与している通知(コメントや作成したissueやプルリクエストなど)です。(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)
  • manage_notification_subscription - 通知サブスクリプションを管理

    • OAuthチャレンジスコープ: notifications
    • action: 実行するアクション: 通知サブスクリプションを無視、ウォッチ、または削除します。(string, required)
    • notificationID: 通知スレッドのID。(string, required)
  • manage_repository_notification_subscription - リポジトリ通知サブスクリプションを管理

    • OAuthチャレンジスコープ: notifications
    • action: 実行するアクション: リポジトリ通知サブスクリプションを無視、ウォッチ、または削除します。(string, required)
    • owner: リポジトリのアカウント所有者。(string, required)
    • repo: リポジトリの名前。(string, required)
  • mark_all_notifications_read - すべての通知を既読にする

    • OAuthチャレンジスコープ: notifications
    • lastReadAt: 通知が確認された最後の時点を説明します(任意)。デフォルト: 現在時刻 (string, optional)
    • owner: 任意のリポジトリ所有者。repoと一緒に指定すると、このリポジトリの通知のみが既読としてマークされます。(string, optional)
    • repo: 任意のリポジトリ名。ownerと一緒に指定すると、このリポジトリの通知のみが既読としてマークされます。(string, optional)
organization 組織
  • 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)
project プロジェクト
  • 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)
  • projects_list - GitHub Projectsリソースを一覧表示

    • OAuthチャレンジスコープ: read:project
    • after: 前のページのpageInfo.nextCursorからの前方ページネーションカーソル。(string, optional)
    • before: 前のページのpageInfo.prevCursorからの後方ページネーションカーソル(まれ)。(string, optional)
    • field_names: プロジェクトアイテムを一覧表示するときに含めるフィールド名(例: ["Status", "Priority"])。サーバー側でフィールドIDに解決されます。人間が読める名前しかわからない場合は、'fields'の代わりにこれを渡してください。解決に失敗した名前は構造化エラーを返します。'fields'とは相互に排他的です。どちらか一方のみを指定してください。'list_project_items'メソッドでのみ使用されます。(string[], optional)
    • fields: プロジェクトアイテムを一覧表示するときに含めるフィールドID(例: ["102589", "985201"])。重要: フィールド値を取得するには常に指定してください。これ(および'field_names')がない場合、タイトルのみが返されます。'field_names'とは相互に排他的です。どちらか一方のみを指定してください。'list_project_items'メソッドでのみ使用されます。(string[], optional)
    • method: 実行するアクション (string, required)
    • owner: 所有者(ユーザーまたは組織のログイン)。名前は大文字と小文字を区別しません。(string, required)
    • owner_type: 所有者タイプ(userまたはorg)。指定しない場合、自動的に両方を試行します。(string, optional)
    • per_page: 1ページあたりの結果数(最大50)(number, optional)
    • project_number: プロジェクトの番号。'list_project_fields'、'list_project_items'、'list_project_views'、および'list_project_status_updates'メソッドに必要です。(number, optional)
    • query: フィルター/クエリ文字列。list_projectsの場合: タイトルテキストと状態でフィルタリング(例: "roadmap is:open")。list_project_itemsの場合: GitHubのプロジェクトフィルタリング構文を使用した高度なフィルタリング。(string, optional)
  • projects_write - GitHub Projectsを管理

    • OAuthチャレンジスコープ: project
    • body: ステータス更新の本文(マークダウン)。'create_project_status_update'メソッドに使用されます。(string, optional)
    • field_name: イテレーションフィールドの名前(例: 'Sprint')。'create_iteration_field'メソッドに必要です。(string, optional)
    • filter: 保存されたビューフィルター。更新時に省略して保持するか、nullを渡してクリアします。(string | null, optional)
    • issue_number: issue番号。item_typeが'issue'の場合、'add_project_item'に必要です。また、'update_project_item'でissue番号によってアイテムを解決するためにも受け入れられます(item_ownerおよびitem_repoと組み合わせます)。(number, optional)
    • item_id: プロジェクトアイテムID。'delete_project_item'に必要です。'update_project_item'の場合、item_id、または(item_owner + item_repo + issue_number)のいずれかを指定して、issueによってアイテムを解決します。(number, optional)
    • item_owner: issueまたはプルリクエストを含むリポジトリの所有者(ユーザーまたは組織)。'add_project_item'メソッドに必要です。また、'update_project_item'でissue番号によってアイテムを解決するときにも受け入れられます。(string, optional)
    • item_repo: issueまたはプルリクエストを含むリポジトリの名前。'add_project_item'メソッドに必要です。また、'update_project_item'でissue番号によってアイテムを解決するときにも受け入れられます。(string, optional)
    • item_type: アイテムのタイプ。issueまたはpull_requestのいずれか。'add_project_item'メソッドに必要です。(string, optional)
    • items: トップレベルの'updated_field'で更新するアイテム。'update_project_items'に必要です。ループ内で'update_project_item'を呼び出すよりもこれを優先してください。各エントリは、'node_id'、数値の'item_id'、または'item_owner' + 'item_repo' + 'issue_number'の正確に1つの参照バリアントに一致する必要があります。制限: 1回の呼び出しにつき50アイテム。(object[], optional)
    • iteration_duration: フィールドのイテレーションの日数(例: 毎週の場合は7、隔週の場合は14)。'create_iteration_field'メソッドに必要です。(number, optional)
    • iterations: 'create_iteration_field'メソッド用のカスタムイテレーション。期間が異なるイテレーション、それらの間の休止、または特定のタイトルが必要な場合にのみ設定してください。それ以外の場合は省略してください: GitHubは'start_date'から始まる'iteration_duration'日間の3つのイテレーションを自動的に作成します。これはほとんどの場合に適切な選択です。(object[], optional)
    • layout: ビューレイアウト。ビューを作成するときに必要です。(string, optional)
    • method: 実行するメソッド (string, required)
    • name: ビュー名。ビューを作成するときに必要です。(string, optional)
    • owner: プロジェクト所有者(ユーザーまたは組織のログイン)。名前は大文字と小文字を区別しません。(string, required)
    • owner_type: 所有者タイプ(userまたはorg)。'create_project'メソッドに必要です。他のメソッドで指定しない場合、自動的に検出されます。(string, optional)
    • project_number: プロジェクトの番号。'create_project'を除くすべてのメソッドに必要です。(number, optional)
    • pull_request_number: プルリクエスト番号('add_project_item'メソッドでitem_typeが'pull_request'の場合に使用)。issue_numberまたはpull_request_numberのいずれかを指定してください。(number, optional)
    • start_date: YYYY-MM-DD形式の開始日。'create_project_status_update'および'create_iteration_field'メソッドに使用されます。(string, optional)
    • status: プロジェクトのステータス。'create_project_status_update'メソッドに使用されます。(string, optional)
    • target_date: YYYY-MM-DD形式のステータス更新の目標日。'create_project_status_update'メソッドに使用されます。(string, optional)
    • title: プロジェクトのタイトル。'create_project'メソッドに必要です。(string, optional)
    • updated_field: 適用するフィールド/値。{"id": 123, "value": ...}または{"name": "Status", "value": ...}を使用します。nullはフィールドをクリアします。'update_project_item'および'update_project_items'に必要です。ここでは、1つのトップレベルのフィールド/値がバッチ内のすべてのアイテムに適用されます。'update_project_item'のSINGLE_SELECTフィールドの場合、名前形式はオプション名を受け入れます。ID形式はオプションIDを期待します。(object, optional)
    • view_id: 更新または削除するプロジェクトビューのノードID。owner/project_numberに属している必要があります。(string, optional)
    • visible_field_names: 作成時または更新時に置き換えるために表示する順序付きプロジェクトフィールド名。更新時に省略して保持するか、[]を渡してリセットします。visible_fieldsとは相互に排他的です。ロードマップは[]のみを受け入れます。(string[], optional)
    • visible_fields: 作成時または更新時に置き換えるために表示する順序付きプロジェクトフィールドデータベースID。更新時に省略して保持するか、[]を渡してリセットします。visible_field_namesとは相互に排他的です。ロードマップは[]のみを受け入れます。(string[], optional)
git-pull-request プルリクエスト
  • 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/チームスラッグのチームレビュアー(文字列配列、任意)
    • title: PRのタイトル(文字列、必須)
  • list_pull_requests - プルリクエストを一覧表示します

    • OAuthチャレンジスコープ: repo
    • base: ベースブランチでフィルタリング(文字列、任意)
    • direction: 並べ替え方向(文字列、任意)
    • fields: 各プルリクエストに対して返すフィールドのサブセット。省略した場合、すべてのフィールドが返されます。特定のフィールドのみが必要な場合に応答サイズを減らすために使用します。特に「body」を省略すると、結果ごとの最大のデータが削減されます。(文字列配列、任意)
    • 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を渡して次のページを取得します。(文字列、任意)
    • method: GitHubから取得するプルリクエストデータを指定するアクション。 可能なオプション:
      1. get - 特定のプルリクエストの詳細を取得します。
      2. get_diff - プルリクエストの差分を取得します。
      3. get_status - プルリクエストのヘッドコミットの結合コミットステータスを取得します。
      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 - プルリクエストのヘッドコミットのチェックランを取得します。チェックランは、PRで実行される個々のCI/CDジョブとチェックです。 (文字列、必須)
    • owner: リポジトリ所有者(文字列、必須)
    • page: ページネーションのページ番号(最小1)(数値、任意)
    • perPage: ページネーションの1ページあたりの結果数(最小1、最大100)(数値、任意)
    • pullNumber: プルリクエスト番号(数値、必須)
    • repo: リポジトリ名(文字列、必須)
  • pull_request_review_write - プルリクエストレビューに対する書き込み操作(作成、提出、削除)

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

    • OAuthチャレンジスコープ: repo
    • fields: 各プルリクエスト結果に対して返すフィールドのサブセット。省略した場合、すべてのフィールドが返されます。特定のフィールドのみが必要な場合に応答サイズを減らすために使用します。特に「body」、「reactions」、「labels」を省略すると、結果ごとの最大のデータが削減されます。(文字列配列、任意)
    • order: 並べ替え順序(文字列、任意)
    • owner: 任意のリポジトリ所有者。repoと一緒に提供された場合、このリポジトリのプルリクエストのみが一覧表示されます。(文字列、任意)
    • page: ページネーションのページ番号(最小1)(数値、任意)
    • perPage: ページネーションの1ページあたりの結果数(最小1、最大100)(数値、任意)
    • query: GitHubのプルリクエスト検索構文を使用した検索クエリ(文字列、必須)
    • repo: 任意のリポジトリ名。ownerと一緒に提供された場合、このリポジトリのプルリクエストのみが一覧表示されます。(文字列、任意)
    • sort: カテゴリの一致数による並べ替えフィールド。デフォルトはベストマッチ(文字列、任意)
  • update_pull_request - プルリクエストを編集します

    • OAuthチャレンジスコープ: repo
    • base: 新しいベースブランチ名(文字列、任意)
    • body: 新しい説明(文字列、任意)
    • draft: プルリクエストをドラフト(true)またはレビュー準備完了(false)としてマーク(ブール値、任意)
    • maintainer_can_modify: メンテナーによる編集を許可(ブール値、任意)
    • owner: リポジトリ所有者(文字列、必須)
    • pullNumber: 更新するプルリクエスト番号(数値、必須)
    • repo: リポジトリ名(文字列、必須)
    • reviewers: レビューをリクエストするGitHubユーザー名またはORG/チームスラッグのチームレビュアー(文字列配列、任意)
    • state: 新しい状態(文字列、任意)
    • title: 新しいタイトル(文字列、任意)
  • update_pull_request_branch - プルリクエストのブランチを更新します

    • OAuthチャレンジスコープ: repo
    • expectedHeadSha: プルリクエストのHEAD参照の期待されるSHA(文字列、任意)
    • owner: リポジトリ所有者(文字列、必須)
    • pullNumber: プルリクエスト番号(数値、必須)
    • repo: リポジトリ名(文字列、必須)
repo リポジトリ
  • create_branch - ブランチを作成します

    • OAuthチャレンジスコープ: repo
    • branch: 新しいブランチの名前(文字列、必須)
    • from_branch: ソースブランチ(デフォルトはリポジトリのデフォルト)(文字列、任意)
    • owner: リポジトリ所有者(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
  • create_or_update_file - ファイルを作成または更新します

    • OAuthチャレンジスコープ: repoworkflow
    • allow_symlink_write: シンボリックリンク自体を更新する場合はtrueに設定します。コンテンツはその新しいターゲットパスである必要があります。(ブール値、任意)
    • branch: ファイルを作成/更新するブランチ(文字列、必須)
    • content: ファイルのコンテンツ。書き込まれた後に表示されるべき正確な内容。base64エンコードしないでください。このサーバーがREST APIを呼び出す前にエンコードします。(文字列、必須)
    • message: コミットメッセージ(文字列、必須)
    • owner: リポジトリ所有者(ユーザー名または組織)(文字列、必須)
    • path: ファイルを作成/更新するパス(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
    • sha: 置き換えられるファイルのブロブSHA。ファイルが既に存在する場合に必要です。(文字列、任意)
  • create_repository - リポジトリを作成します

    • OAuthチャレンジスコープ: repo
    • autoInit: READMEで初期化(ブール値、任意)
    • description: リポジトリの説明(文字列、任意)
    • name: リポジトリ名(文字列、必須)
    • organization: リポジトリを作成する組織(省略すると個人アカウントに作成)(文字列、任意)
    • private: リポジトリをプライベートにするかどうか。省略した場合、デフォルトはtrue(プライベート)です。(ブール値、任意)
  • delete_file - ファイルを削除します

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

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

    • OAuthチャレンジスコープ: repo
    • organization: フォーク先の組織 (string, optional)
    • owner: リポジトリの所有者 (string, required)
    • repo: リポジトリ名 (string, required)
  • 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)
  • 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)
  • get_latest_release - 最新リリースを取得

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

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

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

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

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

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

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

    • OAuthチャレンジスコープ: repo
    • owner: リポジトリの所有者 (string, required)
    • page: ページネーションのページ番号(最小1) (number, optional)
    • perPage: ページネーションの1ページあたりの結果数(最小1、最大100) (number, optional)
    • repo: リポジトリ名 (string, required)
  • push_files - リポジトリにファイルをプッシュ

    • OAuthチャレンジスコープ: repo, workflow
    • branch: プッシュ先のブランチ (string, required)
    • files: プッシュするファイルオブジェクトの配列。各オブジェクトはパス(string)とコンテンツ(string)を持つ (object[], required)
    • message: コミットメッセージ (string, required)
    • owner: リポジトリの所有者 (string, required)
    • repo: リポジトリ名 (string, required)
  • search_code - コードを検索

    • OAuthチャレンジスコープ: repo
    • fields: 各コード検索結果に対して返すフィールドのサブセット。省略した場合はすべてのフィールドが返されます。特定のフィールドだけが必要な場合に、応答サイズを減らすために使用します。特に 'repository' と 'text_matches' を省略すると、結果ごとの最大のデータが削除されます。 (string[], optional)
    • order: 結果の並べ替え順序 (string, optional)
    • page: ページネーションのページ番号(最小1) (number, optional)
    • perPage: ページネーションの1ページあたりの結果数(最小1、最大100) (number, optional)
    • query: 検索クエリ(GitHubコード検索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, required)
    • sort: 並べ替えフィールド('indexed' のみ) (string, optional)
  • search_commits - コミットを検索

    • OAuthチャレンジスコープ: repo
    • order: 並べ替え順序 (string, optional)
    • page: ページネーションのページ番号(最小1) (number, optional)
    • perPage: ページネーションの1ページあたりの結果数(最小1、最大100) (number, optional)
    • query: コミット検索クエリ(GitHubコミット検索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, required)
    • sort: 著者またはコミッターの日付で並べ替え(デフォルトは最適一致) (string, optional)
  • search_repositories - リポジトリを検索

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

    • OAuthチャレンジスコープ: security_events
    • alertNumber: アラートの番号。 (number, required)
    • owner: リポジトリの所有者。 (string, required)
    • repo: リポジトリの名前。 (string, required)
  • list_secret_scanning_alerts - シークレットスキャニングアラートを一覧表示

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

    • OAuthチャレンジスコープ: security_events
    • ghsaId: GitHubセキュリティアドバイザリID(形式:GHSA-xxxx-xxxx-xxxx)。 (string, required)
  • 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の日付または範囲)。(文字列、任意)
  • list_org_repository_security_advisories - 組織リポジトリのセキュリティアドバイザリを一覧表示

    • OAuthチャレンジスコープ: security_events
    • direction: 並べ替え方向。(文字列、任意)
    • org: 組織のログイン名。(文字列、必須)
    • sort: 並べ替えフィールド。(文字列、任意)
    • state: アドバイザリの状態でフィルタリングします。(文字列、任意)
  • list_repository_security_advisories - リポジトリのセキュリティアドバイザリを一覧表示

    • OAuthチャレンジスコープ: security_events
    • direction: 並べ替え方向。(文字列、任意)
    • owner: リポジトリの所有者。(文字列、必須)
    • repo: リポジトリの名前。(文字列、必須)
    • sort: 並べ替えフィールド。(文字列、任意)
    • state: アドバイザリの状態でフィルタリングします。(文字列、任意)
star スターゲイザー
  • list_starred_repositories - スター付きリポジトリを一覧表示

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

    • OAuthチャレンジスコープ: repo
    • owner: リポジトリの所有者(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
  • unstar_repository - リポジトリのスターを外す

    • OAuthチャレンジスコープ: repo
    • owner: リポジトリの所有者(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
people ユーザー
  • 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:get
  • pull_request_read:get
  • pull_request_read:get_diff
  • pull_request_read:get_files
  • pull_request_read:get_commits

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

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

i18n / 説明の上書き

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

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

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

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

このフラグは、作成した翻訳/上書きを保持しながら、前回のエクスポート以降にバイナリに追加された新しい翻訳を追加します。

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

環境変数を使用して説明を上書きすることもできます。環境変数名は、JSONファイルのキーと同じで、GITHUB_MCP_プレフィックスが付き、すべて大文字になります。

たとえば、TOOL_ADD_ISSUE_COMMENT_DESCRIPTIONツールを上書きするには、次の環境変数を設定できます:

export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"

サーバー名とタイトルの上書き

同じ上書きメカニズムを使用して、初期化応答のMCPサーバーのnameおよび titleフィールドをカスタマイズできます。これは、複数のGitHub MCPサーバーインスタンスを実行する場合(例: 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は現在不安定と見なされ、破壊的な変更の対象となる可能性があります。将来的には安定性を提供する可能性があります。これが価値のあるユースケースがある場合は、イシューを報告してください。

貢献

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

サポート

GitHub MCPサーバーの使用に関するヘルプについては、サポートガイドを参照してください。バグを発見した場合や機能をリクエストしたい場合は、新しいイシューを開く前に既存のイシューを検索してください。

セキュリティ

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

ライセンス

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