MCP GitHub Reader について
MCP GitHub Readerは、LLMクライアントがローカルにクローンせず、GitHub API経由で公開リポジトリを調べるためのサーバーです。リポジトリ分析、条件付きファイル取得、ファイル名検索をまとめて提供します。
主な機能
- 01リポジトリの統計と言語を分析
- 02ファイルまたはリポジトリ内容を取得
- 03globや正規表現でファイルを絞り込み
- 04リポジトリ内のファイル名を検索
- 05分析用プロンプトテンプレートを利用
活用シーン
- 01公開リポジトリの構成を確認
- 02クローンせずに指定ファイルを読む
- 03クエリに一致するファイル名を探す
MCP 対応
MCP対応クライアントに、GitHubリポジトリ用の4つのツールとプロンプトテンプレートを提供します。公開リポジトリのみ対応し、非公開リポジトリの認証機能はありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| owner | string | はい | リポジトリの所有者(例:"skydeckai") |
| repo | string | はい | リポジトリ名(例:"mcp-server-aidd") |
| path | string | はい | リポジトリ内のファイルパス(例:"README.md") |
| branch | string | いいえ | 任意:ブランチ名(デフォルトは既定のブランチ) |
詳細
MCP GitHub Reader
大規模言語モデルに GitHub リポジトリをコンテキストとして提供する、軽量な Model Context Protocol(MCP)サーバーです。
特長
- API ベース:ローカルにリポジトリをクローンする必要はありません。GitHub の API を直接利用します
- リポジトリ分析:任意の GitHub リポジトリの概要と統計情報を取得できます
- ファイルアクセス:個別のファイル内容やリポジトリ全体のファイル構成を取得できます
- スマートフィルタリング:glob パターンや正規表現でファイルを含めたり除外したりできます
- キャッシュ対応:スマートキャッシュと最適化されたリクエストパターンにより、GitHub API の制限を回避します
- 検索機能:リポジトリ内で特定のパターンに一致するファイルを検索できます
- MCP 互換:Model Context Protocol をサポートするあらゆる LLM クライアントで利用できます
- プロンプトテンプレート:一般的なリポジトリ分析タスク向けの、すぐに使えるプロンプトテンプレートを備えています
インストール
グローバルインストール(CLI での使用に推奨)
npm install -g mcp-github-reader
ローカルインストール
npm install mcp-github-reader
使い方
スタンドアロンサーバーとして実行する
# If installed globally
mcp-github-reader
# If installed locally
npx mcp-github-reader
Claude との連携
npm でインストールする場合:
Claude Desktop のツール設定に以下を追加します:
"github-reader": {
"runtime": "node",
"command": "npx",
"args": [
"-y",
"mcp-github-reader"
]
}
ローカルインストールの場合:
"github-reader-test": {
"command": "node",
"args": [
"/path/to/your/repo/src/mcp-github-reader.js"
]
}
/path/to/your/repo を実際のリポジトリの場所に置き換えてください。
利用可能なツール
この MCP サーバーは、GitHub リポジトリを操作するための強力なツールを 4 つ提供します:
1. get_individual_file_content
GitHub リポジトリから特定のファイルの内容を取得します。
パラメーター:
owner:リポジトリの所有者(例:「skydeckai」)repo:リポジトリ名(例:「mcp-server-aidd」)path:リポジトリ内のファイルへのパス(例:「README.md」)branch(省略可能):ブランチ名(省略時はデフォルトブランチ)
2. get_entire_repo_contents
スマートフィルタリングオプションを指定して、リポジトリ全体の内容を取得します。
パラメーター:
owner:リポジトリの所有者(例:「skydeckai」)repo:リポジトリ名(例:「mcp-server-aidd」)exclude_patterns(省略可能):除外するパターン(例:[".test.js", "node_modules/"])include_patterns(省略可能):これらのパターンに一致するファイルのみを含めます(例:[".js", ".json", "*.md"])file_size_limit(省略可能):レスポンスの合計サイズの上限(例:「5m」)individual_file_size_limit(省略可能):このサイズを超えるファイルをスキップします(例:「500k」)max_files(省略可能):含めるファイルの最大数(デフォルト:50)include_contents(省略可能):ファイルの内容を含めるか、ファイル一覧のみを表示するか(デフォルト:true)use_regex(省略可能):除外/包含パターンを正規表現として扱います
3. analyzeRepository
リポジトリを分析し、統計情報と言語の内訳を提示します。
パラメーター:
repository:owner/repo 形式のリポジトリ名(例:「skydeckai/mcp-server-aidd」)includeFiles(省略可能):分析にファイル一覧を含めます(デフォルト:false)
4. searchRepository
リポジトリ内で特定のパターンに一致するファイルを検索します。
パラメーター:
repository:owner/repo 形式のリポジトリ名(例:「skydeckai/mcp-server-aidd」)query:ファイル名から検索するテキスト(例:「function」)path(省略可能):検索対象を特定のパスに絞り込みます(例:「src」)
利用可能なプロンプト
このサーバーには、LLM がリポジトリを操作するのに役立つプロンプトテンプレートも含まれています:
repositoryOverview:リポジトリの目的と構成を分析しますcodeExplanation:特定のファイルのコードを説明しますcodeSearch:リポジトリ内のパターンを検索しますfileContent:特定のファイルの内容を取得しますrepositoryInfo:リポジトリ情報を取得しますrepositoryStructure:リポジトリのファイル構成を表示しますbranchList:リポジトリのブランチ一覧を表示します
例
個別のファイル内容を取得する
{
"name": "get_individual_file_content",
"parameters": {
"owner": "skydeckai",
"repo": "mcp-server-aidd",
"path": "README.md"
}
}
フィルタリングしてリポジトリの内容を取得する
{
"name": "get_entire_repo_contents",
"parameters": {
"owner": "skydeckai",
"repo": "mcp-server-aidd",
"include_patterns": ["*.js", "*.json", "*.md"],
"exclude_patterns": ["*.test.js", "node_modules/*"],
"max_files": 30
}
}
リポジトリを分析する
{
"name": "analyzeRepository",
"parameters": {
"repository": "skydeckai/mcp-server-aidd",
"includeFiles": true
}
}
制限事項
- 現在は公開 GitHub リポジトリでのみ動作します
- プライベートリポジトリや認証には対応していません
- GitHub API のレート制限の対象です(認証されていないリクエストは1時間あたり60件)
ライセンス
Apache License 2.0。詳細は LICENSE ファイルをご覧ください。
Copyright © 2025 SkyDeck AI Inc.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。