目次

  1. 公式MCPサーバーのスコープと格付け
  2. 認証3方式の選び方 — PAT / GitHub App / OAuth
  3. ツール構成 — Repos / Issues / PRs / Projects / Actions / Secret Scanning
  4. レート制限の3層構造とGraphQL最適化
  5. 実運用5つの落とし穴
  6. Enterprise HTTPモードと共有MCP戦略
  7. 本番チェックリスト
  8. FAQ

公式MCPサーバーのスコープと格付け

GitHubは2026年1月28日に公式MCPサーバーの大規模アップデートを行い、現在github/github-mcp-serverとして公開されている。AIエージェント・アシスタント・チャットボットに対し、リポジトリ閲覧、コードファイル読み取り、Issue/PR管理、コード解析、ワークフロー自動化の機能をMCPツールとして提供する。

KanseiLinkのAEO格付けでは、GitHubは Aグレード(Trust score 0.7)。認証OAuth 2.0、ドキュメント整備度、公式MCPサーバー有無、API安定性のいずれも上位だが、レート制限の3層構造(Auth種別×APIファミリー×Secondary制限)が複雑なため、AAグレードには届いていない。

GitHub MCP — 公式仕様 ✅ 検証済み

A KanseiLink AEO Grade
0.7 Trust Score
5,000 PAT req/hour
15,000 GitHub App req/hour

認証3方式の選び方 — PAT / GitHub App / OAuth

GitHub MCPは3つの認証方式をサポートする。本番運用での選び方は明確だ。

方式 レート上限 スコープ細分化 適用シーン
Fine-grained PAT 5,000/hr 高(repo単位) 個人開発・PoC・CI
Classic PAT 5,000/hr 低(ユーザー全体) レガシー互換のみ
GitHub App 15,000/hr/installation 高(install単位) 組織展開・本番運用
OAuth App (user) 5,000/hr/user マルチユーザーSaaS

2026年1月のアップデートで、Classic PATの場合のみOAuthスコープを自動検知して、使えないツールを非表示にする機能が入った(GitHub Changelog 2026-01-28)。これは『issuesスコープを持たないPATでcreate_issueツールを呼び出してエラーで詰まる』ような事故を防ぐ機械的措置。fine-grained PATは元々スコープが厳密なため、この補助は適用されない設計になっている。

推奨

新規エージェントは fine-grained PAT(個人/PoC) → GitHub App(本番組織展開)の2段階に。Classicは「2026年時点で新規導入する理由がない」のが実情。

ツール構成 — Repos / Issues / PRs / Projects / Actions / Secret Scanning

GitHub公式MCPサーバーは2026年5月時点で以下の主要ツールセットを提供する(GitHub公式ドキュメント、Changelog 2026-01-28・2026-05-05による)。

2026年5月5日 Secret Scanning GAの意味

2026年5月5日に公式リリースされたSecret ScanningのGA(GitHub Changelog)は、AIコーディング時代の最終防衛線として重要だ。エージェントがコミットを作成する前にコード内のAPIキー・トークン・認証情報を検出するツールが公式MCP経由で呼べる。Cursor、Claude Desktop、VS Code、Copilot等のMCP対応IDE/エディタから直接利用できるため、「エージェントがシークレットを誤ってコミットする事故」を構造的に減らせる変化だ。

レート制限の3層構造とGraphQL最適化

GitHubのレート制限は単一の数字ではなく、3層に分かれている。

  1. Primary Rate Limit — 認証単位の毎時上限(PAT 5,000 / GitHub App 15,000)。REST + GraphQLが合算される。
  2. Search API個別上限 — 30リクエスト/分という別枠の厳しい制限。コード検索・Issue検索を多用するエージェントで真っ先に詰まる。
  3. Secondary Rate Limit — 短時間の連続アクセスや並列度過剰でabuse判定された場合の動的制限。HTTPステータス403で返ることもあり、Retry-Afterヘッダで指示される。

quotaを温存する3つの実装パターン

// 1. X-RateLimit-Remainingヘッダを毎回確認
const remaining = parseInt(res.headers['x-ratelimit-remaining'] || '5000');
if (remaining < 100) {
  // 100以下なら非クリティカルな処理を遅延
  await scheduleLowPriorityRetry();
}

// 2. ETag / If-None-Match で条件付きリクエスト → 304ならquota消費なし
const cached = cache.get(`gh:${url}`);
const headers: Record = {
  'Authorization': `Bearer ${token}`,
  'X-GitHub-Api-Version': '2022-11-28',
};
if (cached?.etag) headers['If-None-Match'] = cached.etag;

const res = await fetch(url, { headers });
if (res.status === 304) return cached.body; // quota消費0

// 3. 大量読み取りはGraphQL v4で1クエリ集約
// REST: repo情報 + issues + PRs + commits = 4呼び出し
// GraphQL: 1 query で全部 → quota 25%削減
✅ 実測データに基づく推奨

GitHub MCPでX-GitHub-Api-Version: 2022-11-28を必ず指定する。指定しない場合、APIバージョンが将来のメジャー変更で暗黙にアップグレードされ、エージェントの実装が壊れるリスクがある。これはKanseiLinkがget_service_detailで提供している実装ヒントの最上位項目だ。

実運用5つの落とし穴

落とし穴1: 1MB超のファイルが読めない

Contents API(/repos/{owner}/{repo}/contents/{path})はBase64エンコードで1MBまで。大きいJSON、ビルドログ、PDFファイル等はGit Data API blobs(/repos/{owner}/{repo}/git/blobs/{file_sha})へフォールバックが必須。公式MCPサーバー経由なら自動分岐するが、直接REST呼び出し時は明示実装が必要。

落とし穴2: Search APIで頻繁に詰まる

30リクエスト/分の別枠制限。コード検索を連続実行するエージェントは1分以内に詰まる。対処は(a)結果キャッシュ、(b)検索クエリ集約(複数クエリを1つに統合)、(c)GraphQL v4のsearchクエリへ移行。

落とし穴3: Issue/PR番号の混同

GitHubのissue_numberとpr_numberはリポジトリ単位で連番(グローバルにユニークではない)。複数リポジトリを横断するエージェントは必ず{owner}/{repo}でスコープすること。「PR #42」だけを保持してしまい後で参照不能になるバグが頻出する。

落とし穴4: Classic PATの権限漏洩

Classic PATはユーザーが所属する全リポジトリに適用される。1つのリポジトリ用に発行したつもりでも、漏洩時には組織全体のリポジトリにアクセスされる。最小権限原則のためにfine-grained PATへの移行が2026年標準。

落とし穴5: ETagを使わずに条件付きキャッシュを失う

リポジトリのIssue一覧を5分ごとにポーリングするエージェントが、変化がないのに毎回フルレスポンスを取得すると、quotaが急減する。ETag + If-None-Matchで304を受ければquota消費なしでキャッシュヒット可。これは公式が推奨するベストプラクティスだ。

Enterprise HTTPモードと共有MCP戦略

2026年1月のリリースで、GitHub MCPサーバーにHTTPサーバーモードが追加された(GitHub Changelog 2026-01-28)。OAuthトークンをAuthorizationヘッダで都度受け取り、Enterprise Server互換でも動作する。

これが意味するのは、「社内に1台のGitHub MCPサーバーを立て、複数エージェントがOAuth tokenで個別認証する」共有MCP構成が公式に可能になったこと。各エージェントが個別にnpx起動する従来構成と比べて、(1) 認証ローテーションが集中管理できる、(2) ロギング・監査が一元化、(3) Secondary Rate Limit回避のためのスマート分配、を実現できる。

⚠️ 注意

共有MCP構成では エージェント単位のtoken管理が漏洩源になりがち。Authorizationヘッダの転送ログ、Token expiration policyの設定、社内VPN/Zero Trust経由でのアクセス制限を併用すること。

本番チェックリスト

225+サービスのMCPデータをエージェントに直接接続

KanseiLinkはGitHub・freee・kintone・Notion・Slack・Backlog等のMCP実装データをMCP経由で取得できるレイヤーを提供します。get_service_detailで認証方式・レート制限・落とし穴を取得し、AIエージェント実装時の判断材料にしてください。

KanseiLink MCPで実装判断を補強する

FAQ

Q1. GitHub MCPサーバーはどう導入するのが最速ですか?

個人・PoCは fine-grained PAT を発行してnpx @github/mcp-serverを起動。組織展開はGitHub App(15,000リクエスト/時)を作成しインストール。Enterprise/組織共有はHTTPサーバーモード+OAuthトークン転送が2026年4月以降の推奨構成。

Q2. fine-grained PATとClassic PAT、どちらを使うべき?

原則fine-grained。Classicは全リポジトリに適用されるため漏洩時の被害が広い。fine-grainedは対象リポジトリ・権限・有効期限を細かく制御できる。2026年新規導入時にClassicを選ぶ理由はない。

Q3. 2026年5月にGAしたSecret Scanning統合とは?

2026年5月5日(GitHub Changelog)、GitHub MCPサーバーのSecret ScanningがGA。エージェントがコミット/PR前にコード内のAPIキー・トークン・認証情報を検出する。MCP対応IDEから直接呼べるため、AIコーディング事故を構造的に防げる重要な変化。

Q4. GitHub MCPのレート制限はどのくらい?

(1) PAT: 5,000リクエスト/時(REST+GraphQL合算)、(2) GitHub Appインストール単位: 15,000リクエスト/時、(3) Search API: 30/分(別枠)、(4) Secondary制限はabuse判定時に発動。X-RateLimit-Remainingヘッダ確認・ETag条件付きリクエスト・GraphQL集約の3点でquotaを温存。

Q5. 1MB超のファイルはどう取得?

/repos/.../contents/{path}は1MBまで。それ以上はGit Data API blobs(/repos/.../git/blobs/{file_sha})にフォールバック。公式MCPサーバー経由なら自動処理されるが、直接REST呼び出し時は明示実装が必要。

Q6. KanseiLinkはGitHub MCPをどう評価していますか?

KanseiLinkのAEO格付けはAグレード(Trust score 0.7)。公式MCPサーバー、OAuth/PAT/App 3方式の認証、ドキュメント整備、API安定性で高評価。AAグレードに届かない要因はレート制限の3層構造(認証種別×APIファミリー×Secondary)の複雑さ。開発者ツール AEO比較 2026でGitLab・AWS・Playwrightと並べた格付けレポートを公開している。

データ開示・免責事項

本記事のGitHub MCP仕様(認証方式、レート制限値、ツール構成、Projects統合 2026-01-28、Secret Scanning GA 2026-05-05、Insiders mode、HTTPサーバーモード)はGitHub公式Changelog(github.blog/changelog)、GitHub公式リポジトリ(github/github-mcp-server)、GitHub REST API ドキュメント(docs.github.com/en/rest)に基づき検証済み。KanseiLinkのAXR Grade(A)とTrust Score(0.7)は2026年4月時点の独自評価で、Q3 2026の更新で変動する可能性があります。本記事のコード例は概念示唆を目的とした擬似コードで、本番投入時はエラーハンドリング・リトライポリシー・トークン管理を含めた検証が必要です。価格・仕様・GA日付は予告なく変更される可能性があるため、本番運用時は最新の公式ドキュメントをご確認ください。