GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者による説明(英語の原文)
Developer-ready GitHub MCP server with 5-tool hybrid architecture and dynamic discovery.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
GITHUB_PERSONAL_ACCESS_TOKEN, GITHUB_API_URL, GITHUB_READ_ONLY, GITHUB_EXPOSE_ALL_TOOLS, MCP_OUTPUT_FORMAT「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@sumirati/mcp-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-value",
"GITHUB_API_URL": "your-value",
"GITHUB_READ_ONLY": "your-value",
"GITHUB_EXPOSE_ALL_TOOLS": "your-value",
"MCP_OUTPUT_FORMAT": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add github --env GITHUB_PERSONAL_ACCESS_TOKEN=your-value --env GITHUB_API_URL=your-value --env GITHUB_READ_ONLY=your-value --env GITHUB_EXPOSE_ALL_TOOLS=your-value --env MCP_OUTPUT_FORMAT=your-value -- npx -y @sumirati/mcp-github動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"github": {
"command": "npx",
"args": [
"-y",
"@sumirati/mcp-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-value",
"GITHUB_API_URL": "your-value",
"GITHUB_READ_ONLY": "your-value",
"GITHUB_EXPOSE_ALL_TOOLS": "your-value",
"MCP_OUTPUT_FORMAT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"github": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@sumirati/mcp-github"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your-value",
"GITHUB_API_URL": "your-value",
"GITHUB_READ_ONLY": "your-value",
"GITHUB_EXPOSE_ALL_TOOLS": "your-value",
"MCP_OUTPUT_FORMAT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
GITHUB_API_URL envGITHUB_READ_ONLY envGITHUB_EXPOSE_ALL_TOOLS envMCP_OUTPUT_FORMAT envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント sumirati で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:GITHUB_PERSONAL_ACCESS_TOKEN
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(2.2.0)がレジストリに届いたのは20 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:GitHub, Desktop Commander, Cloudflare MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
@sumirati/mcp-github)A modern, 2026 AI-native Model Context Protocol (MCP) server for GitHub REST API, engineered for autonomous AI agents and developer workflows.
In early MCP servers, exposing 50–100+ eager tool definitions flooded every LLM turn with thousands of redundant schema tokens ("System Prompt Tax") and degraded reasoning coherence.
@sumirati/mcp-github solves this with a 5-Tool Hybrid Surface:
get_file_contents, get_repository, get_commit) remain eager tools for instant zero-hop execution.github_find_actions $\rightarrow$ github_execute_action), delivering 91%–99% token savings with default high-density Markdown tables and summaries (format: "markdown" | "json").list_pull_requests), the server dynamically executes it with full input validation and projection.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)
get_branch_protection), file reading (auto Base64-decoded, symbol outlines, line slicing), single-file commits, and forks.get_commit), atomic multi-file commits via Git Trees API (create_commit, push_files), and commit status checks.create, update, merge), review comments, inline diff reviews, and unified diff inspection with lockfile filtering.list_workflow_run_artifacts, get_workflow_run_artifact), smart failure log extraction (get_job_logs), run cancel/rerun, and manual workflow dispatch.create_team), accessible repositories, and API health/rate-limit diagnostics (system_health_check).npx (No installation needed)npx -y @sumirati/mcp-github
npm install -g @sumirati/mcp-github
mcp-github
git clone https://github.com/sumirati/mcp-github.git
cd mcp-github npm install npm test npm start
| Variable | Required | Default | Description |
|---|---|---|---|
GITHUB_PERSONAL_ACCESS_TOKEN | Yes | — | GitHub Personal Access Token (classic or fine-grained) |
GITHUB_TOKEN | No | — | Alternative token variable name |
GITHUB_API_URL | No | https://api.github.com | Base API URL (or GitHub Enterprise Server) |
GITHUB_READ_ONLY | No | false | Enable 3-tier read-only mode (true, 1, yes) |
GITHUB_EXPOSE_ALL_TOOLS | No | false | Set to true (or GITHUB_EXPOSE_LEGACY_TOOLS=true) to expose all 83 tools directly on ListTools for legacy clients |
MCP_OUTPUT_FORMAT | No | markdown | Default output format for tool execution (markdown or json) |
Add to your MCP configuration file (mcp_config.json or claude_desktop_config.json):
{
"mcpServers": { "github": { "command": "npx", "args": ["-y", "@sumirati/mcp-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": " ", "GITHUB_READ_ONLY": "false" } } } }
{
"mcpServers": { "github": { "command": "node", "args": ["/path/to/mcp-github/index.js"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": " ", "GITHUB_READ_ONLY": "false" } } } }
All 83 actions feature strict Zod input validation and 2-tier output projection:
| Tool | Type | Description |
|---|---|---|
github_find_actions | Meta | Search and discover available GitHub operations across all 13 domains with compact parameter signatures |
github_execute_action | Meta | Execute any discovered GitHub platform action with input validation and token-optimized projection |
get_file_contents | Eager | Read raw file contents (auto Base64 decoded), symbol outlines, line ranges, or directory listings at any ref |
get_repository | Eager | Retrieve repository metadata, visibility, description, default branch, HTML URL, and counts |
get_commit | Eager | Inspect Git commit details, author info, and token-capped file diffs |
repositories — 12 actions)| Action | Description | Mutating? |
|---|---|---|
search_repositories | Search for repositories across GitHub or within an organization using query qualifiers (e.g. 'org:myorg language:typescript') with capped pagination (max 100). If owner and repository name are known, prefer 'get_repository' for exact O(1) lookup. | No |
get_repository | Get repository metadata, visibility, description, default branch, clone URL, and statistics for an exact owner/repo. Use when verifying repository settings or checking default branch name. | No |
create_repository | Create a new GitHub repository under the authenticated user account or a specified organization. Requires write permissions and GITHUB_READ_ONLY=false. Auto-initializes with a default README commit unless auto_init is false. | Yes |
get_file_contents | Read current file contents, extract symbol outlines ('outline_only: true'), slice line ranges, or list directory entries at a specified git ref. Automatically decodes Base64 into UTF-8. Use 'outline_only: true' first to inspect structure in ~50-100 tokens, then request specific line ranges. | No |
create_or_update_file | Create a new file or overwrite an existing file on a branch in a single atomic commit. If updating, provide the file's current blob SHA in 'sha' (or leave empty to auto-resolve). Requires write permissions and GITHUB_READ_ONLY=false. | Yes |
delete_file | Delete an existing file from a branch in a git commit. Requires the current blob SHA to guard against concurrent overwrites. Requires write permissions and GITHUB_READ_ONLY=false. | Yes |
list_branches | List branches in a repository with protection status and head commit SHAs. Supports upstream filtering by protected status and capped pagination (max 100). If branch name is already known, prefer 'get_branch'. | No |
get_branch | Get detailed status of a specific branch, including branch protection rules and latest commit details. Use to verify branch existence or protection policies before merging or deleting. | No |
get_branch_protection | Retrieve comprehensive branch protection rules for a specific Git branch, including required status checks, required reviews, admin enforcement, and force-push / deletion restrictions. | No |
create_branch | Create a new git branch pointing to a commit SHA or branched from an existing branch (defaults to 'main'). Use before committing changes or opening a pull request. Requires write permissions and GITHUB_READ_ONLY=false. | Yes |
delete_branch | Delete a branch from a repository. Protected: explicitly rejects requests to delete the default branch (e.g. 'main') to prevent repository breakage. Requires write permissions and GITHUB_READ_ONLY=false. | Yes |
fork_repository | Fork a repository into the authenticated user's account or a specified organization namespace. Use when contributing to upstream projects where direct push access is restricted. Requires write permissions and GITHUB_READ_ONLY=false. | Yes |
commits — 6 actions)| Action | Description | Mutating? |
|---|---|---|
list_commits | List repository commit history chronologically with upstream filtering (sha, path, author, since, until) and capped pagination (max 100). For viewing actual line-by-line diffs of a commit, use get_commit instead. | No |
get_commit | Get detailed commit metadata, file modification statistics, and unified diffs for a specific commit SHA or ref. Use when reviewing code changes in a commit or debugging regressions. Diffs are token-budget optimized and truncated at max_diff_lines (default: 400 lines). | No |
create_commit | Create an atomic Git commit with multiple created, updated, or deleted files using the GitHub Git Trees API. Use when refactoring, applying multi-file code changes, or updating code and docs together. Avoids multiple individual single-file commits and does not require local git cloning. Requires write permissions and GITHUB_READ_ONLY=false. | Yes |
push_files | Alias for 'create_commit': atomically commit additions, modifications, or deletions to multiple files in a single Git commit via the GitHub Git Database API. Requires write permissions and GITHUB_READ_ONLY=false. | Yes |
| get_commit_status | Get the combined status check state (pending, success, failure)
冒頭だけを表示しています。続きはリポジトリで読めます