GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Descripción del creador (original en inglés)
Developer-ready GitHub MCP server with 5-tool hybrid architecture and dynamic discovery.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
GITHUB_PERSONAL_ACCESS_TOKEN, GITHUB_API_URL, GITHUB_READ_ONLY, GITHUB_EXPOSE_ALL_TOOLS, MCP_OUTPUT_FORMATLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en 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"
}
}
}
}Ejecuta esto en tu terminal
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-githubCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.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"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"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"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
GITHUB_API_URL envGITHUB_READ_ONLY envGITHUB_EXPOSE_ALL_TOOLS envMCP_OUTPUT_FORMAT envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 6 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub sumirati, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: GITHUB_PERSONAL_ACCESS_TOKEN
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (2.2.0) llegó al registro hace 20 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: GitHub, Desktop Commander, Cloudflare MCP
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
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
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
@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)
Solo se muestra el principio; lee el resto en el repo