GitHub MCP サーバー(@sumirati/mcp-github)
自律型 AI エージェントと開発者のワークフロー向けに設計された、GitHub REST API 用の最新の 2026 年版 AI ネイティブ Model Context Protocol(MCP)サーバーです。

v2 の特徴:2026 年の 5 ツール・ハイブリッド標準
初期の MCP サーバーでは、50~100 個以上のツール定義を積極的に公開していたため、LLM の各ターンに何千もの冗長なスキーマトークン(「システムプロンプト税」)が流れ込み、推論の一貫性が損なわれていました。
@sumirati/mcp-github は、5 ツールのハイブリッド構成でこの問題を解決します。
- Glama TDQS 一貫性ティア A(5/5):クライアントに公開するツールを正確に 5 つにすることで、サーバーを一貫性の理想的な範囲である 3~15 ツールに収めます。
- 極めて軽量なシステムプロンプト税:スキーマのオーバーヘッドを 23,112 トークン(92,447 B)から**1,125 トークン(4,498 B)**に削減し(95.1%削減)、コンテキストウィンドウを確保して LLM のプロンプトキャッシュのヒット率を最大化します。
- ホップなしの即時実行:開発者とエージェントが頻繁に使う 3 つの操作(
get_file_contents、get_repository、get_commit)は、ホップなしで即座に実行できるよう、引き続き積極的に公開されるツールです。
- 必要に応じてプラットフォーム全体にアクセス:13 のドメインにわたる83 のアクションからなるプラットフォーム全体の機能を、動的なアクション検出(
github_find_actions $\rightarrow$ github_execute_action)を通じて必要に応じて利用できます。既定では高密度の Markdown テーブルと要約(format: "markdown" | "json")を返し、91%~99%のトークン削減を実現します。
- 堅牢なフォールバック:エージェントがカタログ内のアクション名(例:
list_pull_requests)を直接呼び出した場合でも、サーバーは完全な入力検証と射影を行い、そのアクションを動的に実行します。
LLM Prompt Context (5-Tool Hybrid Surface):
├── 1. github_find_actions(query, [domain], [format]) [Meta Discovery]
├── 2. github_execute_action(action, params, [format]) [Meta Dynamic Execution]
├── 3. get_file_contents(owner, repo, path) [Eager Daily Driver #1]
├── 4. get_repository(owner, repo) [Eager Daily Driver #2]
└── 5. get_commit(owner, repo, ref) [Eager Daily Driver #3]
Under the hood (Dynamic Registry):
└── 83 Curated Actions across 13 Domains (grounded in GitHub REST API 2022-11-28)
13 分野にわたる主な機能
- リポジトリとブランチガバナンス(
repositories、12 アクション):リポジトリのライフサイクル全般、ブランチ管理、ブランチ保護ルール(get_branch_protection)、ファイルの読み取り(Base64 の自動デコード、シンボル一覧、行の範囲指定)、単一ファイルのコミット、フォークに対応します。
- コミットとコミットステータス(
commits、6 アクション):コミット履歴、トークン上限付きのコミット差分(get_commit)、Git Trees API を使った複数ファイルのアトミックなコミット(create_commit、push_files)、コミットステータスチェックに対応します。
- プルリクエストとコードレビュー(
pull-requests、11 アクション):PR のライフサイクル(create、update、merge)、レビューコメント、差分へのインラインレビュー、ロックファイルのフィルタリングを含む統合差分の確認に対応します。
- イシューとラベル(
issues、8 アクション):イシュートラッキング、上流データのインデックスを使ったフィルタリング、会話コメント、ラベル管理に対応します。
- プロジェクトのマイルストーン(
milestones、4 アクション):マイルストーンの作成、進捗管理、期限管理に対応します。
- コラボレーターと権限(
collaborators、4 アクション):リポジトリのコラボレーターと権限レベルの監査・管理に対応します。
- Actions の変数とシークレット(
variables、6 アクション):リポジトリの Actions 設定変数の管理と、シークレットのメタデータの確認に対応します。
- Gist とコードスニペット(
gists、5 アクション):複数ファイルのコードスニペットや設定を共有するための、Gist のライフサイクル全般に対応します。
- GitHub Actions と CI/CD(
actions、10 アクション):ワークフローの確認、ワークフロー実行、ジョブステップの内訳、ビルドアーティファクト(list_workflow_run_artifacts、get_workflow_run_artifact)、失敗ログのスマートな抽出(get_job_logs)、実行のキャンセル・再実行、ワークフローの手動実行に対応します。
- リリースと Git タグ(
releases、5 アクション):リリースの公開、軽量タグ・注釈付きタグの作成、リリースアセットの確認に対応します。
- ユーザー、組織、チーム、診断(
user、7 アクション):認証済みユーザーの識別、組織の確認、チームの作成(create_team)、アクセス可能なリポジトリの確認、API のヘルスチェックとレート制限の診断(system_health_check)に対応します。
- Webhook とリポジトリトピック(
webhooks、4 アクション):リポジトリのイベント Webhook の監査と、リポジトリトピックタグの管理に対応します。
- セキュリティと Dependabot(
security、1 アクション):Dependabot の脆弱性アラートを状態と深刻度で監査します。
クイックスタートとインストール
オプション 1:npx で実行(インストール不要)
npx -y @sumirati/mcp-github
オプション 2:グローバルにインストール
npm install -g @sumirati/mcp-github
mcp-github
オプション 3:ローカルクローン
git clone https://github.com/sumirati/mcp-github.git
cd mcp-github
npm install
npm test
npm start
環境設定
| 変数 | 必須 | デフォルト | 説明 |
|---|
GITHUB_PERSONAL_ACCESS_TOKEN | はい | — | GitHub パーソナルアクセストークン(classic または fine-grained) |
GITHUB_TOKEN | いいえ | — | 代替のトークン変数名 |
GITHUB_API_URL | いいえ | https://api.github.com | ベース API URL(または GitHub Enterprise Server) |
GITHUB_READ_ONLY | いいえ | false | 3 段階の読み取り専用モードを有効にします(true、1、yes) |
GITHUB_EXPOSE_ALL_TOOLS | いいえ | false | true(または GITHUB_EXPOSE_LEGACY_TOOLS=true)に設定すると、レガシークライアント向けに ListTools で 83 個すべてのツールを直接公開します |
MCP_OUTPUT_FORMAT | いいえ | markdown | ツール実行時のデフォルトの出力形式(markdown または json) |
クライアント設定
Google Antigravity/Claude Desktop/Cursor
MCP 設定ファイル(mcp_config.json または claude_desktop_config.json)に追加します。
npm/npx を使用する場合(推奨):
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@sumirati/mcp-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your-github-token>",
"GITHUB_READ_ONLY": "false"
}
}
}
}
ローカルクローンを使用する場合:
{
"mcpServers": {
"github": {
"command": "node",
"args": ["/path/to/mcp-github/index.js"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your-github-token>",
"GITHUB_READ_ONLY": "false"
}
}
}
}
アクション一覧の完全リファレンス(83 アクション)
83 個すべてのアクションで、厳密な Zod 入力検証と 2 段階の出力プロジェクションを利用できます。
1. クライアントに公開される5つのツール(ハイブリッドモード)
| ツール | 種類 | 説明 |
|---|
github_find_actions | メタ | 13のすべてのドメインにわたって利用可能なGitHub操作を検索・検出し、簡潔なパラメーターシグネチャを表示します |
github_execute_action | メタ | 検出したGitHubプラットフォームの操作を、入力検証とトークン最適化された投影を適用して実行します |
get_file_contents | 即時 | 任意の参照先にある生のファイル内容(Base64を自動デコード)、シンボルの概要、行範囲、またはディレクトリ一覧を読み取ります |
get_repository | 即時 | リポジトリのメタデータ、公開設定、説明、デフォルトブランチ、HTML URL、件数を取得します |
get_commit | 即時 | Gitコミットの詳細、作成者情報、トークン上限付きのファイル差分を確認します |
2. リポジトリとブランチ(repositories — 12個のアクション)
| アクション | 説明 | 変更を伴う? |
|---|
search_repositories | クエリ修飾子(例:'org:myorg language:typescript')を使って、GitHub全体または組織内のリポジトリを検索します。ページネーションには上限があります(最大100件)。所有者とリポジトリ名が分かっている場合は、正確なO(1)検索を行える 'get_repository' を優先してください。 | いいえ |
get_repository | 正確な所有者/リポジトリを指定して、リポジトリのメタデータ、公開設定、説明、デフォルトブランチ、クローンURL、統計情報を取得します。リポジトリの設定やデフォルトブランチ名の確認に使用してください。 | いいえ |
create_repository | 認証済みユーザーのアカウントまたは指定した組織の配下に、新しいGitHubリポジトリを作成します。書き込み権限と GITHUB_READ_ONLY=false が必要です。auto_init が false でない限り、デフォルトの README コミットで自動初期化されます。 | はい |
get_file_contents | 指定したgit参照先にあるファイルの現在の内容の読み取り、シンボルの概要の抽出('outline_only: true')、行範囲の取得、またはディレクトリエントリの一覧表示を行います。Base64をUTF-8に自動デコードします。まず 'outline_only: true' を指定して約50~100トークンで構造を確認し、その後、特定の行範囲をリクエストしてください。 | いいえ |
create_or_update_file | ブランチ上の新しいファイルの作成、または既存ファイルの上書きを、単一のアトミックコミットで行います。更新の場合は、ファイルの現在のblob SHAを 'sha' に指定してください(または空欄にして自動解決します)。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
delete_file | gitコミットでブランチから既存のファイルを削除します。並行上書きを防ぐため、現在のblob SHAが必要です。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
list_branches | 保護状態とHEADコミットSHAを含む、リポジトリ内のブランチ一覧を取得します。保護状態によるアップストリームの絞り込みと、上限付きのページネーション(最大100件)に対応しています。ブランチ名が分かっている場合は 'get_branch' を優先してください。 | いいえ |
get_branch | ブランチ保護ルールや最新のコミットの詳細など、指定したブランチの詳細な状態を取得します。マージまたは削除の前に、ブランチの存在や保護ポリシーを確認するために使用してください。 | いいえ |
get_branch_protection | 必須のステータスチェック、必須レビュー、管理者への適用、強制プッシュや削除の制限など、指定したGitブランチの包括的な保護ルールを取得します。 | いいえ |
create_branch | コミットSHAを指定するか、既存のブランチから分岐して新しいgitブランチを作成します(デフォルトは 'main')。変更のコミットやプルリクエストの作成前に使用してください。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
delete_branch | リポジトリからブランチを削除します。リポジトリの破損を防ぐため、デフォルトブランチ(例:'main')の削除リクエストは明示的に拒否されます。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
fork_repository | リポジトリを認証済みユーザーのアカウント、または指定した組織の名前空間にフォークします。アップストリームのプロジェクトへの直接プッシュアクセスが制限されている場合に、コントリビュートするために使用してください。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
3. Git コミットとステータス(commits — 6 アクション)
| アクション | 説明 | 変更を伴う? |
|---|
list_commits | リポジトリのコミット履歴を時系列順に一覧表示します。上流リポジトリによる絞り込み(sha、path、author、since、until)に対応し、ページネーションの上限は100件です。コミットの実際の行ごとの差分を表示するには、代わりに get_commit を使用してください。 | いいえ |
get_commit | 特定のコミット SHA または ref の詳細なコミットメタデータ、ファイル変更統計、統合差分を取得します。コミット内のコード変更のレビューやリグレッションのデバッグに使用します。差分はトークン予算に合わせて最適化され、max_diff_lines(デフォルト:400行)で切り詰められます。 | いいえ |
create_commit | GitHub Git Trees API を使用して、複数の作成、更新、削除対象ファイルを含むアトミックな Git コミットを作成します。リファクタリング、複数ファイルにわたるコード変更の適用、コードとドキュメントの同時更新に使用します。個別の単一ファイルコミットを複数回行う必要がなく、ローカルでの git クローンも不要です。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
push_files | 「create_commit」の別名です。GitHub Git Database API を使用して、複数のファイルへの追加、変更、削除を1つの Git コミットとしてアトミックにコミットします。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
get_commit_status | コミット SHA またはブランチ ref の統合ステータスチェック状態(pending、success、failure)と個々のチェック実行を取得します。 | いいえ |
create_commit_status | 特定のコミット SHA のコミットステータスチェック(pending、success、failure、error)を設定または更新します。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
4. プルリクエストとコードレビュー(pull-requests — 11 個のアクション)
| アクション | 説明 | 変更を伴う? |
|---|
list_pull_requests | 上流でインデックス化されたパラメーター(state、head、base)と上限付きページネーション(最大 100 件)を使って、プルリクエストを一覧表示し、絞り込みます。既知の PR を確認する場合は、pull_number を指定して 'get_pull_request' を使用してください。差分を確認する場合は get_pull_request_diff を使用してください。 | いいえ |
get_pull_request | マージ可能性(clean、dirty、unstable)、head/base ブランチの参照、作成者、担当者など、特定のプルリクエストの詳細なステータスを取得します。PR のマージ準備ができているか、ブロックされているかを確認するために使用してください。コード変更を読むためには使用しないでください。代わりに get_pull_request_diff を使用してください。 | いいえ |
get_pull_request_diff | プルリクエストのコード変更をレビューするために、統一形式の git 差分を取得します。コード変更の分析、パッチのレビュー、インラインコメントの準備に使用してください。PR のマージ可能性やメタデータの確認には使用しないでください(代わりに get_pull_request を使用してください)。LLM のコンテキストあふれを防ぐため、差分はトークン効率を考慮しており、max_lines(デフォルト:400 行)で自動的に切り詰められます。 | いいえ |
create_pull_request | head ブランチから base ブランチへの新しいプルリクエストを作成します。書き込み権限と GITHUB_READ_ONLY=false が必要です。head ブランチはすでに存在し、base ブランチとの差分となるコミットが少なくとも 1 つ必要です。 | はい |
update_pull_request | 既存のプルリクエストのタイトル、本文、オープン/クローズ状態、または base ブランチを更新します。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
merge_pull_request | merge、squash、rebase の方法で、プルリクエストを base ブランチにマージします。書き込み/管理者権限と GITHUB_READ_ONLY=false が必要です。マージ前に、PR のマージ可能な状態が clean であることを確認してください。 | はい |
list_pull_request_comments | プルリクエストの特定の差分行に紐づくインラインコードレビューコメントを一覧表示します。行ごとのレビュー指摘を確認する場合に使用してください。PR 全体のレビュー承認や変更要求を確認する場合は、代わりに list_pull_request_reviews を使用してください。 | いいえ |
create_pull_request_comment | プルリクエスト内の特定のファイルと行番号に紐づくインラインレビューコメントを投稿します。commit_id、path、ファイル内の行番号が必要です。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
create_pull_request_reply | 既存のプルリクエストレビューコメントのスレッドに返信します。親コメントの comment_id が必要です。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
list_pull_request_reviews | プルリクエストに投稿された正式なコードレビュー(承認、変更要求、コメントの要約)を一覧表示します。マージ前にレビュアーの判断と承認条件を確認するために使用してください。 | いいえ |
create_pull_request_review | 承認判断(APPROVE、REQUEST_CHANGES、COMMENT)と、任意の要約本文またはインラインコメントを含めて、プルリクエストに正式なコードレビューを投稿します。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
5. イシューとラベル(issues — 8 個のアクション)
| アクション | 説明 | 変更を伴う? |
|---|
list_issues | リポジトリのイシューを、上流でインデックス化されたパラメーター(state、labels、assignee、creator、mentioned、milestone、since)と上限付きページネーション(最大 100 件)で検索、絞り込みます。プルリクエストは除外します。イシュー番号がすでにわかっている場合は、正確な O(1) ルックアップが可能な get_issue を優先してください。 | いいえ |
get_issue | 特定のイシューの詳細情報を取得します。Markdown の本文、担当者、マイルストーン、状態の理由、コメント数が含まれます。バグ報告の調査やイシューの仕様確認に使用します。 | いいえ |
create_issue | リポジトリに新しいイシューを作成します。ラベル、担当者、マイルストーンは任意で指定できます。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
update_issue | 既存のイシューのタイトル、本文、状態('open'/'closed')、状態の理由('completed'/'not_planned')、ラベル、担当者、またはマイルストーンを更新します。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
list_issue_comments | イシューへのディスカッションコメントを時系列順に一覧表示します。会話履歴、デバッグの進捗状況、イシューへのユーザーフィードバックを確認する際に使用します。 | いいえ |
create_issue_comment | イシューに Markdown コメントを追加します。ディスカッションへの返信、進捗の記録、解決内容の提示に使用します。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
list_labels | リポジトリに設定されているすべてのラベルについて、名前、説明、16 進数のカラーコードを一覧表示します。イシューの作成や更新の前に、利用可能なタグを確認する際に使用します。 | いいえ |
create_label | リポジトリに新しいラベルを作成します。名前、説明、6 文字の 16 進数カラーコードを指定します。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
6. プロジェクトのマイルストーン(milestones — 4 個のアクション)
| アクション | 説明 | 変更を伴う? |
|---|
list_milestones | リポジトリのプロジェクトマイルストーンを、未完了/完了イシュー数と期限とともに一覧表示します。リリースロードマップの監視や、イシューや PR に関連付ける前のマイルストーン番号の確認に使用します。 | いいえ |
get_milestone | 特定のマイルストーンの詳細なステータスを取得します。タイトル、未完了/完了イシュー数、作成日、期限が含まれます。マイルストーンの進捗状況や期限を確認する際に使用します。 | いいえ |
create_milestone | タイトル、説明、任意の期限を指定して、新しいプロジェクトマイルストーンを作成します。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
update_milestone | 既存のマイルストーンのタイトル、説明、状態('open'/'closed')、または期限を更新します。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
7. コラボレーターとロール(collaborators — 4 個のアクション)
| アクション | 説明 | 変更を伴う? |
|---|
list_collaborators | リポジトリへのアクセス権を持つコラボレーターと、割り当てられているロールおよび権限を一覧表示します。チームのアクセス権の監査や、ユーザーのメンバーシップ確認に使用します。 | いいえ |
get_collaborator_permission | リポジトリにおける特定ユーザーの正確な権限レベル('admin'、'maintain'、'write'、'triage'、'read'、または 'none')を確認します。特権操作を試みる前の認可確認に使用します。 | いいえ |
add_collaborator | 指定した権限レベルで、GitHub ユーザーをリポジトリのコラボレーターとして追加または招待します。ユーザーが組織のメンバーでない場合、コラボレーションへの招待が送信されます。管理者権限と GITHUB_READ_ONLY=false が必要です。 | はい |
remove_collaborator | リポジトリからコラボレーターを削除し、そのユーザーの直接アクセス権を取り消します。管理者権限と GITHUB_READ_ONLY=false が必要です。 | はい |
8. Actions の変数とシークレット(variables — 6 アクション)
| アクション | 説明 | 変更を伴う? |
|---|
list_actions_variables | リポジトリに定義されている、機密情報ではない GitHub Actions 設定変数とその値およびタイムスタンプを一覧表示します。ビルド環境のパラメーターの確認に使用します。 | いいえ |
get_actions_variable | 名前を指定して、特定の GitHub Actions リポジトリ変数のプレーンテキスト値と最終更新タイムスタンプを取得します。 | いいえ |
create_actions_variable | GitHub Actions ワークフロー用の、機密情報ではない設定変数を作成します。書き込み/管理者権限と GITHUB_READ_ONLY=false が必要です。機密性の高い認証情報には、代わりにリポジトリシークレットを使用してください。 | はい |
update_actions_variable | 既存の、機密情報ではない GitHub Actions 設定変数の値を更新します。書き込み/管理者権限と GITHUB_READ_ONLY=false が必要です。 | はい |
delete_actions_variable | GitHub Actions から、機密情報ではない設定変数を削除します。書き込み/管理者権限と GITHUB_READ_ONLY=false が必要です。 | はい |
list_actions_secrets | GitHub Actions リポジトリのシークレット名とタイムスタンプを一覧表示します。動作上の安全性:シークレットの値は GitHub によって永続的にマスクされ、プレーンテキストで返されることはありません。 | いいえ |
9. Gist とコードスニペット(gists — 5 アクション)
| アクション | 説明 | 変更を伴う? |
|---|
list_gists | 認証済みユーザーが所有するコードスニペットと Gist を、ファイルの概要とともに一覧表示します。読み取りや編集の前に、コードスニペット ID を見つけるために使用します。 | いいえ |
get_gist | ID を指定して、特定の GitHub Gist のソースコード全体、ファイル、説明を取得します。単独のコードスニペットや設定テンプレートの確認に使用します。 | いいえ |
create_gist | 1 つ以上のファイルを含む、新しい公開またはシークレットの GitHub Gist を作成します。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
update_gist | 既存の Gist の説明を更新するか、Gist 内の個々のファイルを変更、名前変更、削除します。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
delete_gist | 識別子を指定して Gist を完全に削除します。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
10. GitHub Actions と CI/CD の可観測性(actions — 10 個のアクション)
| アクション | 説明 | 変更を伴うか? |
|---|
list_workflows | リポジトリ(.github/workflows)に設定されている GitHub Actions の CI/CD ワークフローファイルを一覧表示します。実行をトリガーしたり、実行内容を調べたりする前に、ワークフロー名と ID を確認するために使用します。 | いいえ |
list_workflow_run_artifacts | 特定の GitHub Actions ワークフロー実行で生成されたアーティファクトを、ファイルサイズ、ダウンロード用アーカイブ URL、有効期限とともに一覧表示します。生成されたビルド成果物、テストログ、リリースバイナリを確認するために使用します。 | いいえ |
get_workflow_run_artifact | 数値のアーティファクト ID を指定して、特定の GitHub Actions ビルドアーティファクトのメタデータとダウンロード用アーカイブ URL を取得します。ビルド成果物をダウンロードしたり、個々のアーティファクトを調べたりする場合に使用します。 | いいえ |
list_workflow_runs | ワークフローの実行を、ステータス、結果(「success」「failure」)、トリガーイベント、コミット SHA とともに一覧表示します。CI/CD パイプラインの状態を確認したり、実行 ID を探したりするために使用します。 | いいえ |
get_workflow_run | 特定のワークフロー実行の詳細なステータス、所要時間、結果を取得します。CI パイプラインの完了を監視する場合に使用します。 | いいえ |
list_workflow_run_jobs | ワークフロー実行内の個々のジョブとステップの詳細をすべて一覧表示します。ビルド中に失敗した特定のジョブまたはステップを特定するために使用します。 | いいえ |
get_job_logs | Actions ジョブの実行ログをプレーンテキストで取得し、失敗箇所をスマートに抽出して ANSI 制御文字を除去します。動作上の安全対策として、エラーやパニックをスキャンして失敗箇所のブロックを抽出し、大量のログを切り詰めて LLM のトークンコンテキストを確保します。 | いいえ |
trigger_workflow | カスタム入力を指定し、workflow_dispatch イベントを介してブランチまたはタグ上でワークフローの実行を開始します。書き込み権限と GITHUB_READ_ONLY=false が必要です。対象のワークフローファイルで workflow_dispatch トリガーが定義されている必要があります。 | はい |
cancel_workflow_run | キューに入っている、または現在実行中の GitHub Actions ワークフロー実行をキャンセルします。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
rerun_workflow | 完了または失敗した GitHub Actions ワークフロー実行のすべてのジョブを再実行します。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
11. リリースと Git タグ(releases — 5 個のアクション)
| アクション | 説明 | 変更を伴うか? |
|---|
list_releases | リポジトリで公開済みおよび下書きのリリースを、リリースタイトル、アセットのダウンロード数、公開日とともに一覧表示します。リリース履歴やダウンロード URL を確認するために使用します。 | いいえ |
get_release | タグ名または数値のリリース ID を指定して、変更履歴の本文やアセットへのリンクを含む特定のリリースの詳細を取得します。 | いいえ |
create_release | タグに対して、タイトル、Markdown 形式のリリースノート/変更履歴、プレリリース/下書きフラグを指定し、正式な GitHub リリースを公開します。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
list_tags | リポジトリ内の Git タグを、タグ名とコミット SHA とともに一覧表示します。リリースを公開する前に、利用可能なバージョンタグを確認するために使用します。 | いいえ |
create_tag | 特定のコミット SHA を指す Git タグを作成します(メッセージが指定されている場合は、軽量参照または注釈付きタグオブジェクト)。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
12. ユーザー、組織、チーム(user — 7 アクション)
| アクション | 説明 | 変更を伴うか |
|---|
system_health_check | GitHub API に対して、エンドツーエンドの接続性、レイテンシ、レート制限のクォータ、権限を診断します。トークンの有効性、認証済みアカウントの詳細、残りのレート制限、読み取り専用ポリシーが有効かどうかを検証します。 | いいえ |
get_authenticated_user | 現在認証されている GitHub トークンのプロフィールメタデータ(ログイン名、名前、メールアドレス、公開リポジトリ数、フォロワー数)を取得します。トークンの識別情報とスコープの確認に使用します。 | いいえ |
get_user | ユーザー名で指定した GitHub ユーザーの公開プロフィール情報(ログイン名、名前、会社、自己紹介、公開リポジトリ数)を取得します。 | いいえ |
list_user_organizations | 認証済みユーザーが所属する GitHub 組織を一覧表示します。リポジトリの作成や検索に使用する組織の名前空間を確認できます。 | いいえ |
get_organization | 特定の GitHub 組織の詳細情報(名前、説明、メールアドレス、ブログ、公開/非公開リポジトリ)を取得します。組織へのアクセス確認や組織設定の調査に使用します。 | いいえ |
create_team | GitHub 組織に新しいチームを作成します。parent_team_id に対応し、親子関係のあるチームを作成できます。組織のオーナーまたは管理者の権限と、GITHUB_READ_ONLY=false が必要です。 | はい |
list_accessible_repositories | 認証済みユーザーがアクセスできるリポジトリ(所有、共同作業、またはメンバーとしてアクセス可能なリポジトリ)を一覧表示します。アカウントをまたいで利用可能なリポジトリを確認できます。 | いいえ |
13. Webhook とトピック(webhooks — 4 アクション)
| アクション | 説明 | 変更を伴うか |
|---|
get_repository_topics | GitHub リポジトリに関連付けられているすべてのトピックタグを取得します。プロジェクトのカテゴリや検索性を高めるキーワードの確認に使用します。 | いいえ |
set_repository_topics | リポジトリのすべてのトピックタグを、新しいトピック文字列の配列に置き換えます。書き込み権限と GITHUB_READ_ONLY=false が必要です。 | はい |
list_repository_webhooks | リポジトリに設定されたイベント Webhook を、送信先 URL、有効状態、購読対象のイベントトリガーとともに一覧表示します。 | いいえ |
get_repository_webhook | ID で指定したリポジトリ Webhook の詳細な設定を取得します。配信 URL と購読対象のイベントも含まれます。 | いいえ |
14. セキュリティと Dependabot(security — 1 アクション)
| アクション | 説明 | 変更を伴うか |
|---|
list_dependabot_alerts | リポジトリの Dependabot 脆弱性アラートを一覧表示します。影響を受けるパッケージ、深刻度(critical、high、medium、low)、パッチに関するアドバイザリが含まれます。 | いいえ |
ベンチマーク:再現可能なトークン削減の実証(test/benchmark-test.js)
公式 GitHub REST API(2022-11-28) のレスポンススキーマ(test/fixtures/github-api-v3-fixtures.js)のみに基づいており、npm test の実行ごとに node test/benchmark-test.js で検証されます。
| 操作 | GitHub API の生データ(2022-11-28) | 変換後の JSON(format: "json") | デフォルトの Markdown(format: "markdown") | 検証済みの削減率 |
|---|
| システムプロンプトのコスト(83 ツールと 5 つのハイブリッドツールの比較) | 23,112 トークン(92,447 B) | — | 1,125 トークン(4,498 B) | 95.1% 削減 |
get_repository(1 リポジトリ) | 1,321 トークン(5,283 B) | 104 トークン(414 B) | 85 トークン(340 B) | 93.6% 削減 |
list_issues(10 件の Issue) | 15,375 トークン(61,499 B) | 1,567 トークン(6,267 B) | 313 トークン(1,250 B) | 98.0% 削減 |
list_pull_requests(head/base リポジトリを含む 10 件の PR) | 46,536 トークン(186,141 B) | 1,586 トークン(6,341 B) | 330 トークン(1,317 B) | 99.3% 削減 |
list_workflow_runs(10 件のワークフロー実行) | 14,957 トークン(59,826 B) | 839 トークン(3,356 B) | 212 トークン(846 B) | 98.6% 削減 |
get_file_contents(outline_only: true) | 3,589 トークン(14,355 B) | 331 トークン(1,323 B) | 314 トークン(1,255 B) | 91.3% 削減 |
トークン圧縮の仕組み
- システムプロンプトのトークン削減(95.1%削減):MCP の
ListTools スキーマの容量を、83 個の完全なツールスキーマ(23,112 トークン/92,447 B)から、5 ツールのハイブリッドな構成(1,125 トークン/4,498 B)に縮小します。
- 再帰的な出力射影フィルター(
projectOutput):GitHub REST API v3 のハイパーメディアテンプレート URL(*_url RFC 6570 テンプレート)、avatar_url、gravatar_id、node_id、site_admin、_links、内部の api.github.com セルフリンク、および null/"" フィールドを自動的に削除します。
- スマートな差分とロックファイルの省略:デフォルトで
ignore_lockfiles: true を設定し、コミットと PR の差分に含まれる依存関係のロックファイル(package-lock.json、pnpm-lock.yaml、yarn.lock、go.sum、Cargo.lock、*.min.js)を自動的に折りたたみます。ロックファイルの差分全体を確認するには、ignore_lockfiles: false を指定します。
- 保守的なデフォルトページネーション:すべての一覧アクションで、デフォルトの
per_page は 10(最大:100)です。
- 高密度な Markdown 形式をデフォルトに設定:検出(
github_find_actions)、実行(github_execute_action)、および 3 つの先行実行ツールすべてで、デフォルトの format は "markdown" です。
- 統合差分の省略:PR の差分(
max_lines)とコミットの差分(max_diff_lines)は、デフォルトで 400 行に制限されます。
- 安全なログ末尾の取得:CI ワークフローのジョブログから、エラー箇所とティアダウン部分の末尾(デフォルトの
tail_lines は 100)を抽出し、ANSI エスケープシーケンスを除去します。
ロードマップ
v2.1 で完了
今後の展望(v2.x)
謝辞と系譜
このプロジェクトには、以下のアーキテクチャ概念、スキーマ、パターンが取り入れられています。
第三者への帰属表示の詳細については、NOTICE をご覧ください。
ライセンス
このプロジェクトは MIT License に基づいてライセンスされています — Copyright (c) 2026 [email protected].