GitHub について
Omnigit GitHub & Local Git MCP Server は、AI ツールを GitHub とローカルリポジトリに接続します。リポジトリの調査、Issue とプルリクエストの管理、CI ワークフロー、Git 操作に加え、コメント編集と設定可能な本文フィルターを備えています。
主な機能
- 01リポジトリの閲覧とコード検索
- 02Issue とプルリクエストの作成・管理
- 03ワークフロー実行とリリースの確認
- 04セキュリティ情報とチーム活動の確認
- 05ローカルリポジトリでの Git 操作
- 06Issue とレビューコメントの編集
活用シーン
- 01ファイルを探してリポジトリ構成を把握
- 02Issue のトリアージとプルリクエストのレビュー
- 03GitHub Actions の失敗した実行を調査
- 04ローカル Git リポジトリの変更を管理
MCP 対応
ホスト型のリモートサーバーまたはローカル実行のサーバーとして、MCP クライアントに GitHub とローカル Git の機能をツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm ghcr.io/aifity/omnigit-mcp:0.6.0ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/aifity/omnigit-mcp:0.6.0stdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Omnigit GitHub & Local Git MCP サーバー
Omnigit GitHub & Local Git MCP サーバーは、AI ツールを GitHub プラットフォームに直接接続します。これにより、AI エージェント、アシスタント、チャットボットが、リポジトリやコードファイルの読み取り、Issue や PR の管理、コードの分析、ワークフローの自動化を行えるようになります。これらすべてを自然言語でやり取りしながら実行できます。
ユースケース
- リポジトリ管理:アクセス権のあるあらゆるリポジトリで、コードの閲覧や検索、ファイルの検索、コミットの分析、プロジェクト構造の把握ができます。
- Issue と PR の自動化:Issue とプルリクエストを作成、更新、管理できます。AI にバグのトリアージ、コード変更のレビュー、プロジェクトボードの保守を任せることができます。
- CI/CD とワークフローの分析:GitHub Actions のワークフロー実行を監視し、ビルドの失敗を分析し、リリースを管理して、開発パイプラインに関する情報を得られます。
- コード分析:セキュリティに関する検出結果の調査、Dependabot アラートの確認、コードパターンの把握、コードベースに関する包括的な分析ができます。
- チームのコラボレーション:ディスカッションへのアクセス、通知の管理、チーム活動の分析を行い、チームのプロセスを効率化できます。
AI ツールを GitHub のコンテキストや機能に接続したい開発者向けに構築されています。簡単な自然言語での問い合わせから、複雑な複数ステップのエージェントワークフローまで対応します。
upstream からのフォークでの変更点
これは github/github-mcp-server のフォークで、以下の追加機能と改善が含まれています。
保守されているバックポートのチェックリストについては、upstream からのフォークでの変更点を参照してください。
レビューコメント ID の解決を改善
get_review_comments は、すべてのコメントノードについて、GraphQL の NodeID と DatabaseID に加え、CommentID フィールド(GraphQL の databaseId)を返すようになりました。この CommentID は、add_reply_to_pull_request_comment または pull_request_comment_write の呼び出し時に使用する数値 ID です。以前は不透明な Base64 形式の GraphQL ノード ID のみが返されていたため、モデル側でデコードするか、コメント URL から数値 ID を抽出する必要がありました。これらのツールの commentId/comment_id パラメーターの説明には、CommentID フィールドを使用するよう明記されています。
Issue コメントの管理(issue_comment_write)
新しい issue_comment_write ツールを使うと、AI エージェントが既存の Issue コメントを更新または削除できます。以前は、コメントを作成する add_issue_comment のみが利用可能でした。
PR レビューコメントの管理(pull_request_comment_write)
新しい pull_request_comment_write ツールを使うと、AI エージェントが既存のプルリクエストのレビューコメントを更新または削除できます。
本文のフィルタリング(filter_patterns)
Issue の本文、PR の本文、ローカル Git のコミットメッセージは、GitHub に送信される前にフィルタリングされます。デフォルトでは、Co-Authored-By: トレーラーと、一般的な AI 生成 PR フッターが削除されます。フィルターリストは、omnigit-mcp-config.json の filter_patterns で完全に設定できます。詳しくは、i18n/説明の上書きを参照してください。
Local Git ツールセット(local_git)
GitHub API を介さずにローカルリポジトリを操作するための、git_* ツール一式です。利用できるツールは、git_add、git_apply_patch_file、git_apply_patch_string、git_checkout、git_commit、git_create_branch、git_diff、git_diff_staged、git_diff_unstaged、git_init、git_list_repositories、git_log、git_pull、git_push、git_reset、git_show、git_status です。
リモート GitHub MCP サーバー
リモート GitHub MCP サーバーは GitHub によってホストされており、最も簡単に利用を開始できる方法を提供します。お使いの MCP ホストがリモート MCP サーバーに対応していなくても、ご心配には及びません。代わりにローカル版の GitHub MCP サーバーを使用できます。
前提条件
- リモートサーバーに対応した互換性のある MCP ホスト(VS Code 1.101 以降、Claude Desktop、Cursor、Windsurf など)
- 該当するポリシーが有効になっていること
VS Code にインストールする
すばやくインストールするには、上記のワンクリックインストールボタンのいずれかを使用してください。手順を完了したら、Agent モード(Copilot Chat のテキスト入力欄の横にあります)を切り替えると、サーバーが起動します。リモート MCP と OAuth に対応するVS Code 1.101またはそれ以降を使用していることを確認してください。
また、VS Code を手動で設定するには、以下の例から適切な JSON ブロックを選び、ホストの設定に追加してください。
| OAuth を使用 | GitHub PAT を使用 |
|---|---|
| VS Code(バージョン 1.101 以降) | |
|
|
その他の MCP ホストにインストールする
- Copilot CLI - GitHub Copilot CLI のインストールガイド
- その他の IDE での GitHub Copilot - GitHub Copilot を使用する JetBrains、Visual Studio、Eclipse、Xcode へのインストール
- Claude アプリケーション - Claude Desktop と Claude Code CLI のインストールガイド
- Codex - OpenAI Codex のインストールガイド
- Cursor - Cursor IDE のインストールガイド
- OpenCode - OpenCode ターミナルエージェントのインストールガイド
- Windsurf - Windsurf IDE のインストールガイド
- Zed - Zed エディターのインストールガイド
- Rovo Dev CLI - Rovo Dev CLI のインストールガイド
注: OAuth を介したリモートアクセスに対応するには、各 MCP ホストアプリケーションで GitHub App または OAuth App を設定する必要があります。リモート MCP サーバーに対応するホストアプリケーションであれば、PAT 認証を使用してリモート GitHub サーバーに接続できます。設定の詳細とサポートレベルはホストによって異なります。詳しくは、ホストアプリケーションのドキュメントを参照してください。
設定
ツールセットの設定
リモートサーバーの設定、ツールセット、ヘッダー、高度な使用方法の詳細については、リモートサーバーのドキュメントをご覧ください。このファイルでは、VS Code やその他の MCP ホストでリモート GitHub MCP サーバーに接続し、カスタマイズしてインストールするための包括的な手順と例を紹介しています。
ツールセットを指定しない場合は、デフォルトのツールセットが使用されます。
Insiders モード
新機能をいち早くお試しください! リモートサーバーには、最新機能や実験的なツールを先行して利用できる Insiders バージョンがあります。
| URL パスを使用 | ヘッダーを使用 |
|---|---|
|
|
詳細と例については、リモートサーバーのドキュメントをご覧ください。利用可能な機能の一覧は、Insiders の機能をご覧ください。
GitHub Enterprise
データ所在地に対応した GitHub Enterprise Cloud(ghe.com)
GitHub Enterprise Cloud でもリモートサーバーを利用できます。
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 を使用する場合は、GitHub Enterprise インスタンスを参照するように VS Code の設定も構成する必要があります。VS Code から認証するをご覧ください。
GitHub Enterprise Server
GitHub Enterprise Server はリモートサーバーのホスティングに対応していません。ローカルサーバーの設定にあるGitHub Enterprise Server とデータ所在地に対応した Enterprise Cloud(ghe.com)をご覧ください。
ローカル GitHub MCP サーバー
前提条件
-
コンテナーでサーバーを実行するには、Docker をインストールしておく必要があります。
-
Docker をインストールしたら、Docker が実行中であることも確認してください。Docker イメージは
ghcr.io/aifity/omnigit-mcpで利用できます。このイメージは公開されています。プル時にエラーが発生する場合は、トークンの期限が切れている可能性があるため、docker logout ghcr.ioを実行してください。 -
認証。 github.com では、事前に何かを作成する必要はありません。上記のワンクリックボタンを初めて使用すると、OAuth でログインできます(ブラウザーを使ったフローで、トークンはメモリ内にのみ保持されます)。Docker ボタンでは固定のコールバックポート(
127.0.0.1:8085)が公開されるため、コンテナーのログインコールバックにアクセスできます。動作の仕組み、ヘッドレス/デバイスコードによる代替手段、および独自の OAuth や GitHub App を使用する方法(GitHub Enterprise Server およびghe.comで必要)については、ローカルサーバーの OAuth ログイン をご覧ください。トークンを使用しますか?代わりに GitHub Personal Access Token を使って、
GITHUB_PERSONAL_ACCESS_TOKENを設定することもできます(OAuth より優先されます)。MCP サーバーは多くの GitHub API を使用できるため、AI ツールに付与してもよい範囲で権限を有効にしてください(アクセストークンの詳細は、ドキュメントをご覧ください)。
PAT を安全に扱う
環境変数(推奨)
GitHub PAT を安全に保管し、異なる MCP ホスト間で再利用するには、次の手順に従ってください。
-
PAT を環境変数に保存する
export GITHUB_PAT=your_token_hereまたは、
.envファイルを作成します。GITHUB_PAT=your_token_here -
.envファイルを保護する# Add to .gitignore to prevent accidental commits echo ".env" >> .gitignore -
設定でトークンを参照する
# CLI usage claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/aifity/omnigit-mcp # 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/aifity/omnigit-mcp"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
"GITHUB_HOST": "https://<your GHES or ghe.com domain name>"
}
}
インストール
VS Code の GitHub Copilot にインストールする
すばやくインストールするには、上にあるワンクリックインストールボタンのいずれかを使用します。この手順を完了したら、エージェントモード(Copilot Chat のテキスト入力欄の横にあります)に切り替えると、サーバーが起動します。
VS Code で MCP サーバーのツールを使用する方法については、エージェントモードのドキュメントをご覧ください。
他の IDE(JetBrains、Visual Studio、Eclipse など)の GitHub Copilot にインストールする
次の JSON ブロックのいずれかを IDE の MCP 設定に追加します。
OAuth でログインする(トークンの作成や保存は不要です)。 github.com では、公式イメージにアプリの認証情報がすでに含まれているため、ご自身で用意する必要はありません。初回の使用時にブラウザーでログインし、取得したトークンはメモリ内にのみ保持されます。Docker では、コンテナーからログインコールバックにアクセスできるように、固定のコールバックポートをループバックに公開する必要があります。
{
"mcp": {
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-p",
"127.0.0.1:8085:8085",
"-e",
"GITHUB_OAUTH_CALLBACK_PORT",
"ghcr.io/aifity/omnigit-mcp"
],
"env": {
"GITHUB_OAUTH_CALLBACK_PORT": "8085"
}
}
}
}
}
ネイティブバイナリを使うフロー(固定ポートは不要)、ヘッドレス/デバイスコードによる代替手段、GitHub Enterprise Server/ghe.com、独自の OAuth または GitHub App の使用については、**ローカルサーバーの OAuth ログイン**をご覧ください。
または、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/aifity/omnigit-mcp"
],
"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/aifity/omnigit-mcp"
],
"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 エディターのインストールガイド
すべてのインストール方法の概要については、**インストールガイドの目次**をご覧ください。
Note: ローカル MCP サーバーに対応するホストアプリケーションであれば、ローカルの GitHub MCP サーバーにアクセスできるはずです。ただし、具体的な設定手順、構文、統合の安定性はホストアプリケーションによって異なります。上記の例と同様の形式に従うものも多くありますが、保証はありません。正しい MCP 設定構文とセットアップ手順については、ホストアプリケーションのドキュメントをご確認ください。
ソースからビルドする
Docker がない場合は、go build を使用して
cmd/omnigit-mcp ディレクトリ内のバイナリをビルドし、GITHUB_PERSONAL_ACCESS_TOKEN 環境変数にトークンを設定して、omnigit-mcp stdio コマンドを使用できます。ビルドの出力先を指定するには、-o フラグを使用します。サーバーの command として、ビルドした実行ファイルを指定してください。例:
{
"mcp": {
"servers": {
"github": {
"command": "/path/to/omnigit-mcp",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
}
CLI ユーティリティ
omnigit-mcp バイナリには、サーバーのデバッグや調査に役立つ CLI サブコマンドがいくつか含まれています。
omnigit-mcp tool-search "<query>"は、名前、説明、入力パラメーター名でツールを検索します。さらに多くの候補を返すには、--max-resultsを使用します。 例(カラー出力には TTY が必要です。Docker で実行する場合は、docker run -t(または-it)を使用してください):
docker run -it --rm ghcr.io/aifity/omnigit-mcp tool-search "issue" --max-results 5
omnigit-mcp tool-search "issue" --max-results 5
ツールの設定
GitHub MCP Server では、--toolsets フラグを使って、機能のグループを有効または無効にできます。これにより、AI ツールで利用できる GitHub API の機能を制御できます。必要なツールセットだけを有効にすると、LLM がツールを選択しやすくなり、コンテキストサイズを削減できます。
ツールセットの対象はツールだけではありません。該当する MCP リソースとプロンプトも含まれます。
ツールセットを指定しない場合は、デフォルトのツールセットが使用されます。
使用例をお探しですか? 最小限のセットアップ、読み取り専用モード、ツールセットとツールの組み合わせなど、一般的な設定例についてはサーバー設定ガイドをご覧ください。
ツールセットの指定
LLM で使用できるツールセットを指定するには、次の 2 つの方法で許可リストを渡します。
-
コマンドライン引数を使用する場合:
omnigit-mcp --toolsets repos,issues,pull_requests,actions,code_security -
環境変数を使用する場合:
GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./omnigit-mcp
両方が指定されている場合、環境変数 GITHUB_TOOLSETS がコマンドライン引数より優先されます。
個別のツールの指定
--tools フラグを使って、特定のツールを設定することもできます。ツールは単独で使用することも、ツールセットと組み合わせて細かく制御することもできます。
-
コマンドライン引数を使用する場合:
omnigit-mcp --tools get_file_contents,issue_read,create_pull_request -
環境変数を使用する場合:
GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./omnigit-mcp -
ツールセットとの組み合わせ(追加):
omnigit-mcp --toolsets repos,issues --tools get_gistこれにより、
reposとissuesのツールセットに含まれるすべてのツールに加え、get_gistが登録されます。
重要な注意事項:
- ツールとツールセットは併用できます
- 読み取り専用モードが優先されます。
--read-onlyが設定されている場合、--toolsで明示的に指定されていても、書き込みツールはスキップされます - ツール名は完全に一致する必要があります(例:
getFileContentsではなくget_file_contents)。無効なツール名が指定されると、エラーメッセージとともにサーバーの起動に失敗します - ツールの名前が変更された場合、後方互換性のために以前の名前がエイリアスとして保持されます。詳細はツール名の変更をご覧ください。
Docker でのツールセットの使用
Docker を使用する場合は、ツールセットを環境変数として渡せます。
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" \
ghcr.io/aifity/omnigit-mcp
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/aifity/omnigit-mcp
# 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/aifity/omnigit-mcp
特別なツールセット
"all" ツールセット
特別なツールセット all を指定すると、他の設定に関係なく、利用可能なすべてのツールセットが有効になります。
./omnigit-mcp --toolsets all
または、環境変数を使用します。
GITHUB_TOOLSETS="all" ./omnigit-mcp
"default" ツールセット
デフォルトのツールセット default は、ツールセットが指定されていない場合にサーバーへ渡される設定です。
デフォルトの設定は次のとおりです。
- context
- repos
- issues
- pull_requests
- users
デフォルトの設定を維持したまま、ツールセットを追加するには、次のようにします。
GITHUB_TOOLSETS="default,stargazers" ./omnigit-mcp
インサイダーモード
ローカルの GitHub MCP Server では、新機能や実験的なツールに早期アクセスできるインサイダー版を利用できます。
-
コマンドライン引数を使用する場合:
./omnigit-mcp --insiders -
環境変数を使用する場合:
GITHUB_INSIDERS=true ./omnigit-mcp
Docker を使用する場合:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_INSIDERS=true \
ghcr.io/aifity/omnigit-mcp
利用可能なツールセット
次のツールセットを利用できます。
| ツールセット | 説明 | |
|---|---|---|
context | 強く推奨:現在のユーザーと、操作対象の GitHub コンテキストに関する情報を提供するツール | |
actions | GitHub Actions のワークフローおよび CI/CD 操作 | |
code_quality | GitHub Code Quality 関連のツール | |
code_security | GitHub Code Scanning などのコードセキュリティ関連ツール | |
copilot | Copilot 関連のツール | |
dependabot | Dependabot のツール | |
discussions | GitHub Discussions 関連のツール | |
gists | GitHub Gist 関連のツール | |
git | 低レベルの Git 操作用の、GitHub Git API 関連ツール | |
issues | GitHub Issues 関連のツール | |
labels | GitHub Labels 関連のツール | |
local_git | ローカルの Git リポジトリ操作 — ローカルマシン上の Git リポジトリを操作します(ステータス、差分、コミット、プッシュ、プル、ブランチなど) | |
notifications | GitHub Notifications 関連のツール | |
orgs | GitHub Organization 関連のツール | |
projects | GitHub Projects 関連のツール | |
pull_requests | GitHub Pull Request 関連のツール | |
repos | GitHub Repository 関連のツール | |
secret_protection | GitHub Secret Scanning などのシークレット保護関連ツール | |
security_advisories | セキュリティアドバイザリ関連のツール | |
stargazers | GitHub Stargazers 関連のツール | |
users | GitHub User 関連のツール |
リモート GitHub MCP サーバーの追加ツールセット
| ツールセット | 説明 |
|---|---|
copilot | Copilot 関連のツール(例:Copilot Coding Agent) |
copilot_spaces | Copilot Spaces 関連のツール |
github_support_docs_search | GitHub 製品やサポートに関する質問に回答するためのドキュメントを検索 |
ツール

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

コード品質
- get_code_quality_finding - コード品質の指摘を取得します
- 必要な OAuth スコープ:
repo findingNumber: 指摘の番号です。(number、必須)owner: リポジトリのオーナーです。(string、必須)repo: リポジトリ名です。(string、必須)
- 必要な OAuth スコープ:

コードセキュリティ
-
get_code_scanning_alert - コードスキャンアラートを取得します
- 必要な OAuth スコープ:
security_events - 受け入れ可能な OAuth スコープ:
repo、security_events alertNumber: アラートの番号です。(number、必須)owner: リポジトリのオーナーです。(string、必須)repo: リポジトリ名です。(string、必須)
- 必要な OAuth スコープ:
-
list_code_scanning_alerts - コードスキャンアラートの一覧を取得します
- 必要な OAuth スコープ:
security_events - 受け入れ可能な OAuth スコープ:
repo、security_events owner: リポジトリのオーナーです。(string、必須)page: ページネーションのページ番号(最小 1)(number、任意)perPage: ページネーションで返すページごとの結果数(最小 1、最大 100)(number、任意)ref: 一覧表示する結果の Git リファレンスです。(string、任意)repo: リポジトリ名です。(string、必須)severity: コードスキャンアラートを重大度で絞り込みます(string、任意)state: コードスキャンアラートを状態で絞り込みます。デフォルトは open です(string、任意)tool_name: コードスキャンに使用したツールの名前です。(string、任意)
- 必要な OAuth スコープ:

コンテキスト
-
get_me - 自分のユーザープロフィールを取得します
- パラメーターは不要です
-
get_team_members - チームメンバーを取得します
- 必要な OAuth スコープ:
read:org - 受け入れ可能な OAuth スコープ:
admin:org、read:org、write:org org: チームが属する組織のログイン名(オーナー)です。(string、必須)team_slug: チームのスラッグです(string、必須)
- 必要な OAuth スコープ:
-
get_teams - チームを取得します
- 必要な OAuth スコープ:
read:org - 受け入れ可能な OAuth スコープ:
admin:org、read:org、write:org user: チームを取得する対象のユーザー名です。指定しない場合は、認証済みユーザーが使用されます。(string、任意)
- 必要な OAuth スコープ:

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

Dependabot
-
get_dependabot_alert - Dependabot アラートを取得する
- 必須 OAuth スコープ:
security_events - 受け入れ可能な OAuth スコープ:
repo、security_events alertNumber: アラート番号(数値、必須)owner: リポジトリの所有者(文字列、必須)repo: リポジトリ名(文字列、必須)
- 必須 OAuth スコープ:
-
list_dependabot_alerts - Dependabot アラートの一覧を取得する
- 必須 OAuth スコープ:
security_events - 受け入れ可能な OAuth スコープ:
repo、security_events after: ページネーション用のカーソルです。前回のレスポンスに含まれるカーソルを使用します(文字列、任意)owner: リポジトリの所有者(文字列、必須)perPage: ページネーションで取得する結果数(最小 1、最大 100)(数値、任意)repo: リポジトリ名(文字列、必須)severity: Dependabot アラートを重大度で絞り込みます(文字列、任意)state: Dependabot アラートを状態で絞り込みます。デフォルトは open です(文字列、任意)
- 必須 OAuth スコープ:

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

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

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

Issues
-
add_issue_comment - Issue またはプルリクエストにコメントを追加
- 必須 OAuth スコープ:
repo body: コメントの内容。reaction を指定しない場合は必須です。(string、任意)comment_id: リアクションを付ける Issue またはプルリクエストのコメントの数値 ID。コメントにリアクションを付ける場合に指定します。Issue またはプルリクエスト自体にリアクションを付ける場合は省略します。body とは併用できません。(number、任意)issue_number: コメントまたはリアクションの対象となる Issue またはプルリクエストの番号(number、必須)owner: リポジトリの所有者(string、必須)reaction: 追加する絵文字リアクション。body を指定しない場合は必須です。(string、任意)repo: リポジトリ名(string、必須)
- 必須 OAuth スコープ:
-
get_label - リポジトリから特定のラベルを取得
- 必須 OAuth スコープ:
repo name: ラベル名(string、必須)owner: リポジトリの所有者(ユーザー名または組織名)(string、必須)repo: リポジトリ名(string、必須)
- 必須 OAuth スコープ:
-
issue_comment_write - Issue のコメントを更新または削除
- 必須 OAuth スコープ:
repo body: 新しいコメントの内容(update メソッドでは必須)(string、任意)comment_id: 更新または削除するコメントの ID(number、必須)method: コメントに対して実行する書き込み操作。 選択肢:- 'update' - 既存のコメントを更新します。
- 'delete' - 既存のコメントを削除します。 (string、必須)
owner: リポジトリの所有者(string、必須)repo: リポジトリ名(string、必須)
- 必須 OAuth スコープ:
-
issue_write - Issue/プルリクエストを作成または更新します
- 必須の OAuth スコープ:
repo assignees: この Issue に割り当てるユーザー名(文字列の配列、任意)body: Issue の本文(文字列、任意)duplicate_of: この Issue の重複元となる Issue 番号。state_reasonが 'duplicate' の場合のみ使用します。(数値、任意)issue_fields: 設定またはクリアする Issue フィールドの値。各項目には 'field_name' と、'value'、'field_option_name'、'delete: true' のいずれか 1 つが必要です。(オブジェクトの配列、任意)issue_number: 更新する Issue 番号(数値、任意)labels: この Issue に適用するラベル(文字列の配列、任意)method: 単一の Issue に対して実行する書き込み操作です。 選択肢は次のとおりです。- 'create' - 新しい Issue を作成します。
- 'update' - 既存の Issue を更新します。 (文字列、必須)
milestone: マイルストーン番号(数値、任意)owner: リポジトリの所有者(文字列、必須)repo: リポジトリ名(文字列、必須)state: 新しい状態(文字列、任意)state_reason: 状態変更の理由です。状態が変更されない場合は無視されます。(文字列、任意)title: Issue のタイトル(文字列、任意)type: この Issue の種類です。このリポジトリで Issue の種類が有効になっている場合にのみ使用します。このリポジトリまたは所有組織で有効な種類の値を取得するには、list_issue_types ツールを使用してください。リポジトリが Issue の種類をサポートしていない場合は、このパラメーターを省略します。(文字列、任意)
- 必須の OAuth スコープ:
-
list_issue_fields - Issue フィールドを一覧表示します
- 必須の OAuth スコープ(いずれか):
repo、read:org - 受け付ける OAuth スコープ:
admin:org、read:org、repo、write:org owner: リポジトリまたは組織のアカウント所有者です。大文字と小文字は区別されません。(文字列、必須)repo: リポジトリ名です。指定すると、この特定のリポジトリのフィールド(組織から継承したもの)を返します。省略すると、組織レベルのフィールドを直接返します。(文字列、任意)
- 必須の OAuth スコープ(いずれか):
-
list_issue_types - 利用可能な Issue の種類を一覧表示します
- 必須の OAuth スコープ(いずれか):
repo、read:org - 受け付ける OAuth スコープ:
admin:org、read:org、repo、write:org owner: リポジトリまたは組織のアカウント所有者です。(文字列、必須)repo: リポジトリ名です。指定すると、この特定のリポジトリの Issue の種類を返します。省略すると、組織レベルの Issue の種類を直接返します。(文字列、任意)
- 必須の OAuth スコープ(いずれか):
-
list_issues - Issue の一覧を取得
- Required OAuth Scopes:
repo after: ページネーション用のカーソルです。前回のレスポンスのカーソルを使用します。(string, optional)direction: 並び順の方向です。指定する場合は、orderByも指定する必要があります。(string, optional)field_filters: カスタム Issue フィールドの値で絞り込みます。各エントリには field_name と値を指定します。サーバーはフィールドを検索し、値をその型(単一選択のオプション名、テキスト、数値、または YYYY-MM-DD 形式の日付)に変換します。(object[], optional)labels: ラベルで絞り込みます(string[], optional)orderBy: フィールドに基づいて Issue を並べ替えます。指定する場合は、directionも指定する必要があります。(string, optional)owner: リポジトリのオーナー(string, required)perPage: ページネーションの1ページあたりの結果数(最小 1、最大 100)(number, optional)repo: リポジトリ名(string, required)since: 日付で絞り込みます(ISO 8601 タイムスタンプ)(string, optional)state: 状態で絞り込みます。指定しない場合、デフォルトでオープンとクローズ済みの両方の Issue が返されます(string, optional)
- Required OAuth Scopes:
-
search_issues - Issue を検索
- Required OAuth Scopes:
repo order: 並べ替え順(string, optional)owner: リポジトリのオーナー(任意)。repoとともに指定すると、このリポジトリの Issue のみが一覧表示されます。(string, optional)page: ページネーション用のページ番号(最小 1)(number, optional)perPage: ページネーションの1ページあたりの結果数(最小 1、最大 100)(number, optional)query: GitHub の Issue 検索構文を使用した検索クエリ(string, required)repo: リポジトリ名(任意)。ownerとともに指定すると、このリポジトリの Issue のみが一覧表示されます。(string, optional)sort: カテゴリの一致数で並べ替えるフィールドです。デフォルトは最も一致度の高い順です。(string, optional)
- Required OAuth Scopes:
-
sub_issue_write - サブ Issue を変更
- Required OAuth Scopes:
repo after_id: 優先順位をこのサブ Issue の後にする対象の ID(after_idまたはbefore_idのいずれかを指定する必要があります)(number, optional)before_id: 優先順位をこのサブ Issue の前にする対象の ID(after_idまたはbefore_idのいずれかを指定する必要があります)(number, optional)issue_number: 親 Issue の番号(number, required)method: 単一のサブ Issue に対して実行する操作 選択肢は次のとおりです。- 'add' - GitHub リポジトリの親 Issue にサブ Issue を追加します。
- 'remove' - GitHub リポジトリの親 Issue からサブ Issue を削除します。
- 'reprioritize' - GitHub リポジトリの親 Issue 内でサブ Issue の順序を変更します。新しい位置を指定するには、'after_id' または 'before_id' を使用します。
Issue の階層を書き込みます。サブ Issue を新しい親に移動するには、
replace_parent=trueを指定してaddを使用します。書き込み可能な親フィールドはありません。 (string, required)
owner: リポジトリのオーナー(string, required)replace_parent: true の場合、サブ Issue の現在の親 Issue を置き換えます。addメソッドでのみ使用します。(boolean, optional)repo: リポジトリ名(string, required)sub_issue_id: 追加するサブ Issue の ID。ID は Issue 番号とは異なります(number, required)
- Required OAuth Scopes:

ラベル
-
get_label - リポジトリから特定のラベルを取得
- Required OAuth Scopes:
repo name: ラベル名。(string, required)owner: リポジトリのオーナー(ユーザー名または組織名)(string, required)repo: リポジトリ名(string, required)
- Required OAuth Scopes:
-
label_write - リポジトリのラベルに対する書き込み操作
- 必須の OAuth スコープ:
repo color: '#' を付けない 6 文字の 16 進数コードで指定するラベルの色(例: 'f29513')。'create' では必須、'update' では任意です。(文字列、任意)description: ラベルの説明文です。'create' と 'update' では任意です。(文字列、任意)method: 実行する操作: 'create'、'update'、または 'delete'(文字列、必須)name: ラベル名。すべての操作で必須です(文字列、必須)new_name: ラベルの新しい名前(名前の変更を行う 'update' メソッドでのみ使用)(文字列、任意)owner: リポジトリのオーナー(ユーザー名または組織名)(文字列、必須)repo: リポジトリ名(文字列、必須)
- 必須の OAuth スコープ:
-
list_label - リポジトリのラベルを一覧表示
- 必須の OAuth スコープ:
repo owner: リポジトリのオーナー(ユーザー名または組織名)。すべての操作で必須です(文字列、必須)repo: リポジトリ名。すべての操作で必須です(文字列、必須)
- 必須の OAuth スコープ:

ローカル Git
-
git_add - Git add
files: ステージするファイルパスをカンマ区切りで指定します(文字列、必須)repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
-
git_add - Git add
files: ステージするファイルパスをカンマ区切りで指定します(文字列、必須)repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
-
git_apply_patch_file - Git のパッチファイルを適用
patch_file: パッチファイルのパス(文字列、必須)repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
-
git_apply_patch_file - Git のパッチファイルを適用
patch_file: パッチファイルのパス(文字列、必須)repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
-
git_apply_patch_string - Git のパッチ文字列を適用
patch_string: 適用するパッチ文字列(文字列、必須)repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
-
git_apply_patch_string - Git のパッチ文字列を適用
patch_string: 適用するパッチ文字列(文字列、必須)repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
-
git_checkout - Git checkout
branch_name: チェックアウトするブランチ名(文字列、必須)repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
-
git_checkout - Git checkout
branch_name: チェックアウトするブランチ名(文字列、必須)repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
-
git_commit - Git commit
message: コミットメッセージ(文字列、必須)repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
-
git_commit - Git commit
message: コミットメッセージ(文字列、必須)repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
-
git_create_branch - Git ブランチを作成
base_branch: 新しいブランチの起点(任意)(文字列、任意)branch_name: 新しいブランチ名(文字列、必須)repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
-
git_create_branch - Git ブランチを作成
base_branch: 新しいブランチの開始点(任意)(文字列、任意)branch_name: 新しいブランチの名前(文字列、必須)repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
-
git_diff - Git の差分
repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)target: 比較対象のブランチまたはコミット(文字列、必須)
-
git_diff - Git の差分
repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)target: 比較対象のブランチまたはコミット(文字列、必須)
-
git_diff_staged - ステージ済みの Git 差分
repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
-
git_diff_staged - ステージ済みの Git 差分
repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
-
git_diff_unstaged - 未ステージの Git 差分
repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
-
git_diff_unstaged - 未ステージの Git 差分
repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
-
git_init - Git リポジトリを初期化
repo_path: Git リポジトリを初期化するディレクトリへのパス(文字列、必須)
-
git_init - Git リポジトリを初期化
repo_path: Git リポジトリを初期化するディレクトリへのパス(文字列、必須)
-
git_list_repositories - Git リポジトリの一覧
- パラメーターは不要です
-
git_list_repositories - Git リポジトリの一覧
- パラメーターは不要です
-
git_log - Git ログ
max_count: 表示するコミットの最大数(デフォルト:10)(数値、任意)repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
-
git_log - Git ログ
max_count: 表示するコミットの最大数(デフォルト:10)(数値、任意)repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
-
git_pull - Git pull
branch: プルするブランチ名(デフォルト:現在のブランチのアップストリーム)(文字列、任意)remote: リモート名(デフォルト:origin)(文字列、任意)repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
-
git_pull - Git pull
branch: プルするブランチ名(デフォルト:現在のブランチのアップストリーム)(文字列、任意)remote: リモート名(デフォルト:origin)(文字列、任意)repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
-
git_push - Git push
branch: プッシュするブランチ名(デフォルト:現在のブランチ)(文字列、任意)remote: リモート名(デフォルト:origin)(文字列、任意)repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
-
git_push - Git push
branch: プッシュするブランチ名(デフォルト:現在のブランチ)(文字列、任意)remote: リモート名(デフォルト:origin)(文字列、任意)repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
-
git_reset - Git reset
repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
-
git_reset - Git reset
repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
-
git_show - Git show
repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)revision: 表示するリビジョン(コミットハッシュ、ブランチ名、タグ)(文字列、必須)
-
git_show - Git show
repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)revision: 表示するリビジョン(コミットハッシュ、ブランチ名、タグ)(文字列、必須)
-
git_status - Git のステータス
repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
-
git_status - Git のステータス
repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
-
git_worktree_add - Git worktree の追加
commitish: 新しい worktree でチェックアウトするブランチ名、タグ、またはコミット SHA(任意)(string、任意)detach: detached HEAD の worktree を作成します(任意、デフォルト:false)(boolean、任意)force: worktree のパスがすでに存在する場合でも強制的に作成します(任意、デフォルト:false)(boolean、任意)new_branch: worktree にこの名前で新しいブランチを作成します(任意)(string、任意)repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)worktree_path: 新しい worktree を作成する場所へのパス(string、必須)
-
git_worktree_add - Git worktree の追加
commitish: 新しい worktree でチェックアウトするブランチ名、タグ、またはコミット SHA(任意)(string、任意)detach: detached HEAD の worktree を作成します(任意、デフォルト:false)(boolean、任意)force: worktree のパスがすでに存在する場合でも強制的に作成します(任意、デフォルト:false)(boolean、任意)new_branch: worktree にこの名前で新しいブランチを作成します(任意)(string、任意)repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)worktree_path: 新しい worktree を作成する場所へのパス(string、必須)
-
git_worktree_list - Git worktree の一覧
repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
-
git_worktree_list - Git worktree の一覧
repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
-
git_worktree_lock - Git worktree のロック
reason: worktree をロックする理由(任意)(string、任意)repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)worktree: ロックする worktree ディレクトリへのパス(string、必須)
-
git_worktree_lock - Git worktree のロック
reason: worktree をロックする理由(任意)(string、任意)repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)worktree: ロックする worktree ディレクトリへのパス(string、必須)
-
git_worktree_prune - Git worktree のプルーニング
dry_run: 実際にプルーニングせず、プルーニング対象を表示します(任意、デフォルト:false)(boolean、任意)repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)verbose: 詳細な出力を表示します(任意、デフォルト:false)(boolean、任意)
-
git_worktree_prune - Git worktree のプルーニング
dry_run: 実際にプルーニングせず、プルーニング対象を表示します(任意、デフォルト:false)(boolean、任意)repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)verbose: 詳細な出力を表示します(任意、デフォルト:false)(boolean、任意)
-
git_worktree_remove - Git worktree の削除
force: worktree に未コミットの変更がある場合やロックされている場合でも強制的に削除します(任意、デフォルト:false)(boolean、任意)repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)worktree: 削除する worktree ディレクトリへのパス(string、必須)
-
git_worktree_remove - Git worktree の削除
force: worktree に未コミットの変更がある場合やロックされている場合でも強制的に削除します(任意、デフォルト:false)(boolean、任意)repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)worktree: 削除する worktree ディレクトリへのパス(string、必須)
-
git_worktree_unlock - Git worktree のロック解除
repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)worktree: ロックを解除する worktree ディレクトリへのパス(string、必須)
-
git_worktree_unlock - Git worktree のロック解除
repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)worktree: ロックを解除する worktree ディレクトリへのパス(string、必須)

通知
-
dismiss_notification - 通知を非表示にする
- 必須の OAuth スコープ:
notifications state: 通知の新しい状態(read/done)(string、必須)threadID: 通知スレッドの ID(string、必須)
- 必須の OAuth スコープ:
-
get_notification_details - 通知の詳細を取得する
- 必須の OAuth スコープ:
notifications notificationID: 通知の ID(string、必須)
- 必須の OAuth スコープ:
-
list_notifications - 通知を一覧表示する
- 必須の OAuth スコープ:
notifications before: 指定した時刻より前に更新された通知のみを表示します(ISO 8601 形式)(string、任意)filter: 通知のフィルター。指定がない場合はデフォルトを使用します。既読の通知とは、ユーザーがすでに確認した通知です。参加中の通知とは、ユーザーがコメントまたは作成した issue や pull request など、ユーザーが直接関与している通知です。(string、任意)owner: リポジトリのオーナー(任意)。repo とともに指定すると、このリポジトリの通知のみが一覧表示されます。(string、任意)page: ページネーションのページ番号(最小値 1)(number、任意)perPage: ページネーションの 1 ページあたりの結果数(最小値 1、最大値 100)(number、任意)repo: リポジトリ名(任意)。owner とともに指定すると、このリポジトリの通知のみが一覧表示されます。(string、任意)since: 指定した時刻より後に更新された通知のみを表示します(ISO 8601 形式)(string、任意)
- 必須の OAuth スコープ:
-
manage_notification_subscription - 通知のサブスクリプションを管理する
- 必須の OAuth スコープ:
notifications action: 実行する操作:通知サブスクリプションを ignore、watch、または delete します。(string、必須)notificationID: 通知スレッドの ID。(string、必須)
- 必須の OAuth スコープ:
-
manage_repository_notification_subscription - リポジトリの通知サブスクリプションを管理する
- 必須の OAuth スコープ:
notifications action: 実行する操作:リポジトリの通知サブスクリプションを ignore、watch、または delete します。(string、必須)owner: リポジトリのアカウントオーナー。(string、必須)repo: リポジトリ名。(string、必須)
- 必須の OAuth スコープ:
-
mark_all_notifications_read - すべての通知を既読にする
- 必須の OAuth スコープ:
notifications lastReadAt: 通知を最後に確認した時点を示します(任意)。デフォルト:現在(string、任意)owner: リポジトリのオーナー(任意)。repo とともに指定すると、このリポジトリの通知のみが既読になります。(string、任意)repo: リポジトリ名(任意)。owner とともに指定すると、このリポジトリの通知のみが既読になります。(string、任意)
- 必須の OAuth スコープ:

組織
- **search_orgs** - 組織を検索します
- **必須の OAuth スコープ**: `read:org`
- **使用可能な OAuth スコープ**: `admin:org`、`read:org`、`write:org`
- `order`: 並べ替え順(文字列、任意)
- `page`: ページネーション用のページ番号(最小値 1)(数値、任意)
- `perPage`: ページネーション用のページあたりの結果数(最小値 1、最大値 100)(数値、任意)
- `query`: 組織の検索クエリ。例:'microsoft'、'location:california'、'created:>=2025-01-01'。検索範囲は自動的に type:org に限定されます。(文字列、必須)
- `sort`: カテゴリ別の並べ替えフィールド(文字列、任意)

プロジェクト
- 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' メソッドで必須です。(文字列、任意)
- 必須の OAuth スコープ:

プルリクエスト
- **add_comment_to_pending_review** - 依頼者の最新の保留中のプルリクエストレビューにレビューコメントを追加します
- **必須の OAuth スコープ**: `repo`
- `body`: レビューコメントの本文(文字列、必須)
- `line`: コメントを付けるプルリクエストの差分における blob の行。複数行コメントの場合は、範囲の最終行(数値、任意)
- `owner`: リポジトリのオーナー(文字列、必須)
- `path`: コメントが必要なファイルへの相対パス(文字列、必須)
- `pullNumber`: プルリクエスト番号(数値、必須)
- `repo`: リポジトリ名(文字列、必須)
- `side`: コメントする差分の側。LEFT は変更前の状態、RIGHT は変更後の状態を示します(文字列、任意)
- `startLine`: 複数行コメントの場合、コメントを付ける範囲の最初の行(数値、任意)
- `startSide`: 複数行コメントの場合、コメントを付ける差分の開始側。LEFT は変更前の状態、RIGHT は変更後の状態を示します(文字列、任意)
- `subjectType`: コメントの対象レベル(文字列、必須)
-
add_reply_to_pull_request_comment - プルリクエストのコメントに返信を追加します
- 必須の OAuth スコープ:
repo body: 返信の本文。リアクションを指定する場合を除き、必須です。(文字列、任意)commentId: 返信またはリアクションの対象となるプルリクエストのレビューコメントの数値 ID。GraphQL のスレッドノード ID(PRRT_...)ではなく、#discussion_r... アンカーに含まれる番号を使用してください。(数値、必須)owner: リポジトリのオーナー(文字列、必須)pullNumber: プルリクエスト番号。bodyを指定する場合は必須です。(数値、任意)reaction: 追加する絵文字リアクション。bodyを指定する場合を除き、必須です。(文字列、任意)repo: リポジトリ名(文字列、必須)
- 必須の OAuth スコープ:
-
create_pull_request - 新しいプルリクエストを作成します
- 必須の OAuth スコープ:
repo base: マージ先のブランチ(文字列、必須)body: PR の説明(文字列、任意)draft: ドラフト PR として作成するかどうか(ブール値、任意)head: 変更を含むブランチ(文字列、必須)maintainer_can_modify: メンテナーによる編集を許可するかどうか(ブール値、任意)owner: リポジトリのオーナー(文字列、必須)repo: リポジトリ名(文字列、必須)reviewers: レビューを依頼する GitHub ユーザー名、または ORG/team-slug 形式のチームレビュアー(文字列[]、任意)title: PR のタイトル(文字列、必須)
- 必須の OAuth スコープ:
-
list_pull_requests - プルリクエストの一覧を取得します
- 必須の OAuth スコープ:
repo base: ベースブランチで絞り込みます(文字列、任意)direction: 並べ替えの方向(文字列、任意)head: head のユーザー/組織およびブランチで絞り込みます(文字列、任意)owner: リポジトリのオーナー(文字列、必須)page: ページネーションのページ番号(最小値 1)(数値、任意)perPage: ページネーションの 1 ページあたりの結果数(最小値 1、最大値 100)(数値、任意)repo: リポジトリ名(文字列、必須)sort: 並べ替えの基準(文字列、任意)state: 状態で絞り込みます(文字列、任意)
- 必須の OAuth スコープ:
-
merge_pull_request - プルリクエストをマージします
- 必須の OAuth スコープ:
repo commit_message: マージコミットに追加する詳細(文字列、任意)commit_title: マージコミットのタイトル(文字列、任意)merge_method: マージ方法(文字列、任意)owner: リポジトリのオーナー(文字列、必須)pullNumber: プルリクエスト番号(数値、必須)repo: リポジトリ名(文字列、必須)
- 必須の OAuth スコープ:
-
pull_request_comment_write - プルリクエストのレビューコメントを更新または削除します
- Required OAuth Scopes:
repo body: 新しいコメントの内容(update メソッドで更新する場合は必須)(文字列、任意)comment_id: 更新または削除するレビューコメントの ID。get_review_comments の database_id を使用します。(数値、必須)method: レビューコメントに対して実行する書き込み操作です。 オプションは次のとおりです。- 'update' - 既存のレビューコメントを更新します。
- 'delete' - 既存のレビューコメントを削除します。 (文字列、必須)
owner: リポジトリのオーナー(文字列、必須)repo: リポジトリ名(文字列、必須)
- Required OAuth Scopes:
-
pull_request_read - 単一のプルリクエストの詳細を取得します
- Required OAuth Scopes:
repo after: ページネーション用のカーソルです。get_review_comments メソッドでのみ使用します。次のページを取得するには、前のページの PageInfo にある endCursor を渡します。(文字列、任意)method: GitHub から取得するプルリクエストデータを指定するアクションです。 使用可能なオプション:- get - 指定したプルリクエストの詳細を取得します。
- get_diff - プルリクエストの差分を取得します。
- get_status - プルリクエストのヘッドコミットの統合コミットステータスを取得します。
- get_files - プルリクエストで変更されたファイルの一覧を取得します。返される結果数を調整するには、ページネーションパラメーターと併用します。
- get_commits - プルリクエストのコミット一覧を取得します。返される結果数を調整するには、ページネーションパラメーターと併用します。
- get_review_comments - プルリクエストのレビュー スレッドを取得します。各スレッドには、プルリクエストのレビュー中に同じコード位置に投稿された、論理的にグループ化されたレビューコメントが含まれます。メタデータ(isResolved、isOutdated、isCollapsed)と関連するコメントを含むスレッドを返します。返される結果を調整するには、カーソルベースのページネーション(perPage、after)を使用します。
- get_reviews - プルリクエストのレビューを取得します。レビューコメントを求められた場合は、get_review_comments メソッドを使用します。返される結果数を調整するには、ページネーションパラメーターと併用します。
- get_comments - プルリクエストのコメントを取得します。ユーザーが特にレビューコメントを求めていない場合に使用します。返される結果数を調整するには、ページネーションパラメーターと併用します。
- get_check_runs - プルリクエストのヘッドコミットのチェック実行を取得します。チェック実行とは、PR で実行される個々の CI/CD ジョブおよびチェックです。 (文字列、必須)
owner: リポジトリのオーナー(文字列、必須)page: ページネーションのページ番号(最小 1)(数値、任意)perPage: ページネーションのページあたりの結果数(最小 1、最大 100)(数値、任意)pullNumber: プルリクエスト番号(数値、必須)repo: リポジトリ名(文字列、必須)
- Required OAuth Scopes:
-
pull_request_review_write - プルリクエストのレビューに対する書き込み操作(作成、送信、削除)
- Required OAuth Scopes:
repo body: レビューコメントのテキスト(文字列、任意)commitID: レビュー対象のコミットの SHA(文字列、任意)event: 実行するレビューアクション(文字列、任意)method: プルリクエストのレビューに対して実行する書き込み操作(文字列、必須)owner: リポジトリのオーナー(文字列、必須)pullNumber: プルリクエスト番号(数値、必須)repo: リポジトリ名(文字列、必須)threadId: レビュースレッドのノード ID(例:PRRT_kwDOxxx)。resolve_thread および unresolve_thread メソッドで必須です。スレッド ID は、method に get_review_comments を指定した pull_request_read から取得します。(文字列、任意)
- Required OAuth Scopes:
-
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、任意)
- 必要な OAuth スコープ:
-
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、任意)
- 必要な OAuth スコープ:
-
update_pull_request_branch - プルリクエストのブランチを更新
- 必要な OAuth スコープ:
repo expectedHeadSha: プルリクエストの HEAD ref に期待される SHA(string、任意)owner: リポジトリの所有者(string、必須)pullNumber: プルリクエスト番号(number、必須)repo: リポジトリ名(string、必須)
- 必要な OAuth スコープ:

リポジトリ
-
create_branch - ブランチを作成
- 必要な OAuth スコープ:
repo branch: 新しいブランチ名(string、必須)from_branch: コピー元のブランチ(デフォルトはリポジトリのデフォルトブランチ)(string、任意)owner: リポジトリの所有者(string、必須)repo: リポジトリ名(string、必須)
- 必要な OAuth スコープ:
-
create_or_update_file - ファイルを作成または更新
- 必要な OAuth スコープ:
repo branch: ファイルを作成または更新するブランチ(string、必須)content: ファイルの内容(string、必須)message: コミットメッセージ(string、必須)owner: リポジトリの所有者(ユーザー名または組織)(string、必須)path: ファイルを作成または更新するパス(string、必須)repo: リポジトリ名(string、必須)sha: 置き換えるファイルの blob SHA。ファイルがすでに存在する場合は必須です。(string、任意)
- 必要な OAuth スコープ:
-
create_repository - リポジトリを作成
- 必要な OAuth スコープ:
repo autoInit: README を追加して初期化します(boolean、任意)description: リポジトリの説明(string、任意)name: リポジトリ名(string、必須)organization: リポジトリを作成する組織(個人アカウントに作成する場合は省略します)(string、任意)private: リポジトリを非公開にするかどうか。省略した場合、デフォルトは true(非公開)です。(boolean、任意)
- 必要な OAuth スコープ:
-
delete_file - ファイルを削除
- 必要な OAuth スコープ:
repo branch: ファイルを削除するブランチ(string、必須)message: コミットメッセージ(string、必須)owner: リポジトリの所有者(ユーザー名または組織)(string、必須)path: 削除するファイルのパス(string、必須)repo: リポジトリ名(string、必須)
- 必要な OAuth スコープ:
-
fork_repository - リポジトリをフォーク
- 必須の OAuth スコープ:
repo organization: フォーク先の組織(string、任意)owner: リポジトリの所有者(string、必須)repo: リポジトリ名(string、必須)
- 必須の OAuth スコープ:
-
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、必須)
- 必須の OAuth スコープ:
-
get_file_contents - ファイルまたはディレクトリの内容を取得
- 必須の OAuth スコープ:
repo owner: リポジトリの所有者(ユーザー名または組織)(string、必須)path: ファイル/ディレクトリのパス(string、任意)ref:refs/tags/{tag}、refs/heads/{branch}、refs/pull/{pr_number}/headなどの Git 参照を指定できます(任意)(string、任意)repo: リポジトリ名(string、必須)sha: 任意のコミット SHA を指定できます。指定した場合、ref の代わりに使用されます(string、任意)
- 必須の OAuth スコープ:
-
get_latest_release - 最新のリリースを取得
- 必須の OAuth スコープ:
repo owner: リポジトリの所有者(string、必須)repo: リポジトリ名(string、必須)
- 必須の OAuth スコープ:
-
get_release_by_tag - タグ名でリリースを取得
- 必須の OAuth スコープ:
repo owner: リポジトリの所有者(string、必須)repo: リポジトリ名(string、必須)tag: タグ名(例:'v1.0.0')(string、必須)
- 必須の OAuth スコープ:
-
get_tag - タグの詳細を取得
- 必須の OAuth スコープ:
repo owner: リポジトリの所有者(string、必須)repo: リポジトリ名(string、必須)tag: タグ名(string、必須)
- 必須の OAuth スコープ:
-
list_branches - ブランチの一覧を取得
- 必須の OAuth スコープ:
repo owner: リポジトリの所有者(string、必須)page: ページネーションのページ番号(最小 1)(number、任意)perPage: ページネーションの 1 ページあたりの結果数(最小 1、最大 100)(number、任意)repo: リポジトリ名(string、必須)
- 必須の OAuth スコープ:
-
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、任意)
- 必須の OAuth スコープ:
-
list_releases - リリースの一覧を取得
- 必須の OAuth スコープ:
repo owner: リポジトリの所有者(string、必須)page: ページネーションのページ番号(最小 1)(number、任意)perPage: ページネーションの 1 ページあたりの結果数(最小 1、最大 100)(number、任意)repo: リポジトリ名(string、必須)
- 必須の OAuth スコープ:
-
list_repository_collaborators - リポジトリのコラボレーターを一覧表示します
- 必須の OAuth スコープ:
repo affiliation: 所属によるフィルターです。次のいずれかを指定できます:'outside'(外部のコラボレーター)、'direct'(組織への所属にかかわらず、権限を持つ全員)、'all'(すべてのコラボレーター)。デフォルト:'all'(文字列、省略可能)owner: リポジトリの所有者(文字列、必須)page: ページネーション用のページ番号(デフォルト 1、最小 1)(数値、省略可能)perPage: ページネーション用の 1 ページあたりの結果数(デフォルト 30、最小 1、最大 100)(数値、省略可能)repo: リポジトリ名(文字列、必須)
- 必須の OAuth スコープ:
-
list_tags - タグを一覧表示します
- 必須の OAuth スコープ:
repo owner: リポジトリの所有者(文字列、必須)page: ページネーション用のページ番号(最小 1)(数値、省略可能)perPage: ページネーション用の 1 ページあたりの結果数(最小 1、最大 100)(数値、省略可能)repo: リポジトリ名(文字列、必須)
- 必須の OAuth スコープ:
-
push_files - ファイルをリポジトリにプッシュします
- 必須の OAuth スコープ:
repo branch: プッシュ先のブランチ(文字列、必須)files: プッシュするファイルオブジェクトの配列。各オブジェクトには path(文字列)と content(文字列)が含まれます(オブジェクト配列、必須)message: コミットメッセージ(文字列、必須)owner: リポジトリの所有者(文字列、必須)repo: リポジトリ名(文字列、必須)
- 必須の OAuth スコープ:
-
search_code - コードを検索します
- 必須の OAuth スコープ:
repo order: 検索結果の並べ替え順(文字列、省略可能)page: ページネーション用のページ番号(最小 1)(数値、省略可能)perPage: ページネーション用の 1 ページあたりの結果数(最小 1、最大 100)(数値、省略可能)query: 検索クエリ(GitHub コード検索 REST)。語句の間には暗黙的に AND が適用されます。OR、NOT、完全一致検索用の"quoted phrase"をサポートします。修飾子:repo:owner/repo、org:、user:、language:、path:dir(前方一致)、filename:exact.ext、extension:、in:file、in:path、size:、is:archived、is:fork。最大 256 文字です。例:WithContext language:go org:github;"package main" repo:o/r;func extension:go path:cmd repo:o/r;NOT TODO language:go repo:o/r。(文字列、必須)sort: 並べ替えフィールド('indexed' のみ)(文字列、省略可能)
- 必須の OAuth スコープ:
-
search_commits - コミットを検索します
- 必須の OAuth スコープ:
repo order: 並べ替え順(文字列、省略可能)page: ページネーション用のページ番号(最小 1)(数値、省略可能)perPage: ページネーション用の 1 ページあたりの結果数(最小 1、最大 100)(数値、省略可能)query: コミット検索クエリ(GitHub コミット検索 REST)。デフォルトブランチのコミットメッセージのみを検索します。repo:owner/repo、org:、user:で検索範囲を指定します(範囲を指定する修飾子がないクエリは GitHub 全体を対象とするため、通常は意図した検索結果になりません)。その他の修飾子:author:、committer:、author-name:、committer-name:、author-email:、committer-email:、author-date:、committer-date:(>、<、>=、<=、およびYYYY-MM-DD..YYYY-MM-DDの範囲をサポート)、merge:true|false、hash:、tree:、parent:、is:public。例:repo:owner/repo fix panic;org:github author:defunkt committer-date:>=2024-01-01;"refactor cache" repo:o/r;hash:abc1234 repo:o/r。(文字列、必須)sort: 作成者またはコミッターの日付で並べ替えます(デフォルトは最適な一致)(文字列、省略可能)
- 必須の OAuth スコープ:
-
search_repositories - リポジトリを検索します
- 必須の OAuth スコープ:
repo minimal_output: 最小限のリポジトリ情報を返します(デフォルト:true)。false の場合、GitHub API のリポジトリオブジェクト全体を返します。(真偽値、省略可能)order: 並べ替え順(文字列、省略可能)page: ページネーション用のページ番号(最小 1)(数値、省略可能)perPage: ページネーション用の 1 ページあたりの結果数(最小 1、最大 100)(数値、省略可能)query: リポジトリ検索クエリ。例:'machine learning in:name stars:>1000 language:python'、'topic:react'、'user:facebook'。詳細な絞り込みに高度な検索構文をサポートします。(文字列、必須)sort: フィールドでリポジトリを並べ替えます。デフォルトは最適な一致です(文字列、省略可能)
- 必須の OAuth スコープ:

シークレット保護
-
get_secret_scanning_alert - シークレットスキャンアラートを取得
- 必須の OAuth スコープ:
security_events - 受け入れ可能な OAuth スコープ:
repo、security_events alertNumber: アラート番号。(number、必須)owner: リポジトリのオーナー。(string、必須)repo: リポジトリ名。(string、必須)
- 必須の OAuth スコープ:
-
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、任意)
- 必須の OAuth スコープ:

セキュリティアドバイザリ
-
get_global_security_advisory - グローバルセキュリティアドバイザリを取得
- 必須の OAuth スコープ:
security_events - 受け入れ可能な OAuth スコープ:
repo、security_events ghsaId: GitHub セキュリティアドバイザリ ID(形式: GHSA-xxxx-xxxx-xxxx)。(string、必須)
- 必須の OAuth スコープ:
-
list_global_security_advisories - グローバルセキュリティアドバイザリの一覧を取得
- 必須の OAuth スコープ:
security_events - 受け入れ可能な OAuth スコープ:
repo、security_events affects: 影響を受けるパッケージまたはバージョンでアドバイザリを絞り込みます(例: "package1,[email protected]")。(string、任意)cveId: CVE ID で絞り込みます。(string、任意)cwes: Common Weakness Enumeration ID で絞り込みます(例: ["79", "284", "22"])。(string[]、任意)ecosystem: パッケージエコシステムで絞り込みます。(string、任意)ghsaId: GitHub セキュリティアドバイザリ ID で絞り込みます(形式: GHSA-xxxx-xxxx-xxxx)。(string、任意)isWithdrawn: 取り下げられたアドバイザリのみを返すかどうか。(boolean、任意)modified: 公開日または更新日、あるいは日付範囲で絞り込みます(ISO 8601 の日付または範囲)。(string、任意)published: 公開日または日付範囲で絞り込みます(ISO 8601 の日付または範囲)。(string、任意)severity: 深刻度で絞り込みます。(string、任意)type: アドバイザリの種類。(string、任意)updated: 更新日または日付範囲で絞り込みます(ISO 8601 の日付または範囲)。(string、任意)
- 必須の OAuth スコープ:
-
list_org_repository_security_advisories - 組織のリポジトリセキュリティアドバイザリの一覧を取得
- 必須の OAuth スコープ:
security_events - 受け入れ可能な OAuth スコープ:
repo、security_events direction: 並べ替え順。(string、任意)org: 組織のログイン名。(string、必須)sort: 並べ替えフィールド。(string、任意)state: アドバイザリの状態で絞り込みます。(string、任意)
- 必須の OAuth スコープ:
-
list_repository_security_advisories - リポジトリのセキュリティアドバイザリを一覧表示
- 必須の OAuth スコープ:
security_events - 受け入れ可能な OAuth スコープ:
repo、security_events direction: 並べ替え方向です。(string、任意)owner: リポジトリの所有者です。(string、必須)repo: リポジトリ名です。(string、必須)sort: 並べ替えフィールドです。(string、任意)state: アドバイザリの状態で絞り込みます。(string、任意)
- 必須の OAuth スコープ:

スターを付けたユーザー
-
list_starred_repositories - スターを付けたリポジトリを一覧表示
- 必須の OAuth スコープ:
repo direction: 結果の並べ替え方向です。(string、任意)page: ページネーションのページ番号(最小値 1)(number、任意)perPage: ページネーションの1ページあたりの結果数(最小値 1、最大値 100)(number、任意)sort: 結果の並べ替え方法です。'created'(リポジトリにスターが付けられた日時)または 'updated'(リポジトリへの最後のプッシュ日時)を指定できます。(string、任意)username: スターを付けたリポジトリを一覧表示するユーザー名です。デフォルトは認証済みユーザーです。(string、任意)
- 必須の OAuth スコープ:
-
star_repository - リポジトリにスターを付ける
- 必須の OAuth スコープ:
repo owner: リポジトリの所有者(string、必須)repo: リポジトリ名(string、必須)
- 必須の OAuth スコープ:
-
unstar_repository - リポジトリのスターを解除する
- 必須の OAuth スコープ:
repo owner: リポジトリの所有者(string、必須)repo: リポジトリ名(string、必須)
- 必須の OAuth スコープ:

ユーザー
- 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、任意)
- 必須の OAuth スコープ:
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 フラグを使用します。これにより読み取り専用のツールのみが提供され、リポジトリ、イシュー、プルリクエストなどへの変更が防止されます。
./omnigit-mcp --read-only
Docker を使用する場合は、環境変数で読み取り専用モードを指定できます。
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_READ_ONLY=1 \
ghcr.io/aifity/omnigit-mcp
ロックダウンモード
ロックダウンモードを有効にすると、サーバーが公開リポジトリから提示するコンテンツが制限されます。有効にすると、サーバーは各項目の作成者がそのリポジトリへのプッシュ権限を持っているかどうかを確認します。プライベートリポジトリには影響せず、コラボレーターは自身のコンテンツに引き続きフルアクセスできます。
./omnigit-mcp --lockdown-mode
Docker で実行する場合は、対応する環境変数を設定します。
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_LOCKDOWN_MODE=1 \
ghcr.io/aifity/omnigit-mcp
ロックダウンモードの動作は、呼び出すツールによって異なります。
作成者がプッシュ権限を持たない場合、次のツールはエラーを返します。
issue_read:getpull_request_read:get
作成者がプッシュ権限を持たないユーザーのコンテンツを除外するツールは次のとおりです。
issue_read:get_commentsissue_read:get_sub_issuespull_request_read:get_commentspull_request_read:get_review_commentspull_request_read:get_reviews
i18n / 説明の上書き
バイナリと同じディレクトリに
omnigit-mcp-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 フラグ付きで実行すると、現在の翻訳をエクスポートできます。
このフラグを使うと、作成済みの翻訳や上書き内容を保持したまま、前回のエクスポート以降にバイナリに追加された新しい翻訳も追加されます。
./omnigit-mcp --export-translations
cat omnigit-mcp-config.json
環境変数を使って説明を上書きすることもできます。環境変数名は JSON ファイルのキーと同じで、GITHUB_MCP_ を先頭に付け、すべて大文字にします。
たとえば、TOOL_ADD_ISSUE_COMMENT_DESCRIPTION ツールの説明を上書きするには、次の環境変数を設定します。
export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"
サーバー名とタイトルの上書き
同じ上書き方法を使って、初期化レスポンスの MCP サーバーの name フィールドと
title フィールドをカスタマイズすることもできます。これは、複数の GitHub MCP Server インスタンス(たとえば、github.com 用と GitHub Enterprise Server 用)を実行する場合に便利です。エージェントがそれぞれを区別できるようになります。
| キー | 環境変数 | デフォルト |
|---|---|---|
SERVER_NAME | GITHUB_MCP_SERVER_NAME | omnigit-mcp |
SERVER_TITLE | GITHUB_MCP_SERVER_TITLE | GitHub MCP Server |
たとえば、GitHub Enterprise Server 用のサーバーインスタンスを設定するには、次のようにします。
{
"SERVER_NAME": "ghes-mcp-server",
"SERVER_TITLE": "GHES MCP Server"
}
または、環境変数を使います。
export GITHUB_MCP_SERVER_NAME="ghes-mcp-server"
export GITHUB_MCP_SERVER_TITLE="GHES MCP Server"
ライブラリの使用方法
このモジュールが公開する Go API は、現時点では不安定であり、破壊的変更が行われる可能性があります。将来的には安定性を提供する可能性があります。その有用性が見込めるユースケースがある場合は、issue を作成してください。
コントリビューション
コントリビューションを歓迎します。プルリクエストを作成する前に、セットアップ、テスト、リンティング、ドキュメント生成の手順について、コントリビューションガイドをお読みください。
サポート
GitHub MCP Server の使用方法については、サポートガイドをご覧ください。バグを見つけた場合や機能をリクエストする場合は、新しい issue を作成する前に、既存の issue を検索してください。
セキュリティ
セキュリティ上の脆弱性を公開 issue で報告しないでください。脆弱性を責任ある方法で報告するには、セキュリティポリシーの手順に従ってください。
ライセンス
このプロジェクトは、MIT オープンソースライセンスの条項に基づいてライセンスされています。詳細な条項については、MITをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。