Servidor MCP de GitHub Enterprise
Servidor MCP para la API de GitHub, que permite operaciones de archivos, gestión de repositorios, funcionalidad de búsqueda y más.
Características
Creación automática de ramas : al crear o actualizar archivos o enviar cambios, las ramas se crean automáticamente si no existen.
Manejo integral de errores : mensajes de error claros para problemas comunes
Preservación del historial de Git : las operaciones mantienen el historial de Git adecuado sin forzar el envío.
Operaciones por lotes : compatibilidad con operaciones de un solo archivo y de varios archivos
Búsqueda avanzada : Soporte para búsqueda de código, problemas/PR y usuarios
Guía de instalación de Cline
Esta guía le ayudará a instalar y configurar el servidor MCP de GitHub Enterprise en Cline, lo que le permitirá utilizar la funcionalidad de la API de GitHub directamente a través de Cline.
Prerrequisitos
Node.js instalado en su sistema
Un token de acceso personal de GitHub con los permisos adecuados
Cline instalado en su sistema
Pasos de instalación
1. Clonar el repositorio
2. Instalar dependencias y compilar
Esto creará un directorio dist
con los archivos JavaScript compilados.
3. Crea un token de acceso personal de GitHub
Vaya a Tokens de acceso personal de GitHub (en Configuración de GitHub > Configuración de desarrollador)
Haga clic en "Generar nuevo token"
Seleccione los repositorios a los que desea que este token tenga acceso (Público, Todos o Seleccionar)
Crea un token con el alcance
repo
("Control total de repositorios privados")Alternativamente, si trabaja solo con repositorios públicos, seleccione solo el ámbito
public_repo
Copiar el token generado
4. Configurar los ajustes de Cline MCP
Para la extensión Cline VS Code
Abrir VS Code
Localice el archivo de configuración de Cline MCP en:
Windows:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
macOS:
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Linux:
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
Agregue la configuración del servidor MCP de GitHub Enterprise al objeto
mcpServers
:
Reemplace /absolute/path/to/github-enterprise-mcp/dist/index.js
con la ruta absoluta al archivo index.js creado.
Para la aplicación de escritorio de Claude
Localice el archivo de configuración de Claude Desktop en:
Ventanas:
%APPDATA%\Claude\claude_desktop_config.json
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Linux:
~/.config/Claude/claude_desktop_config.json
Agregue la configuración del servidor MCP de GitHub Enterprise al objeto
mcpServers
:
5. Reiniciar Cline
Después de configurar los ajustes de MCP, reinicie Cline (VS Code o Claude Desktop) para aplicar los cambios.
Verificación
Para verificar que el servidor MCP de GitHub Enterprise esté correctamente instalado y configurado, puedes pedirle a Cline que use una de las herramientas de GitHub:
Cline debería poder usar la herramienta search_repositories
para buscar repositorios con la palabra clave "react".
Instalación interactiva con Cline
Para una experiencia de instalación interactiva, copie y pegue el siguiente texto en Cline y lo guiará a través del proceso de instalación:
Ejemplo de uso
Después de la instalación, puedes pedirle a Cline que realice operaciones de GitHub directamente, como:
"Crear un nuevo repositorio llamado 'mi-proyecto'"
Búsqueda de repositorios relacionados con el aprendizaje automático
"Crear una solicitud de extracción desde mi rama de funciones a la rama principal"
"Obtener el contenido del archivo README.md en el repositorio X"
"Enumerar problemas abiertos en mi repositorio"
Solución de problemas
Si encuentra problemas con el servidor MCP de GitHub Enterprise:
Comprueba que la ruta al archivo index.js sea correcta en la configuración de tu MCP
Verifique que su token de acceso personal de GitHub tenga los permisos necesarios
Asegúrese de que la URL de la API de GitHub sea correcta para su instancia de GitHub
Revise los registros para ver si hay mensajes de error
Opciones de configuración adicionales
Versión de la API de GitHub
Puede especificar una versión de API de GitHub agregando la variable de entorno GITHUB_API_VERSION
:
Autenticación empresarial
Para las instancias de GitHub Enterprise que utilizan diferentes métodos de autenticación, es posible que deba proporcionar una configuración adicional. Consulte la documentación de Octokit para obtener más información.
Herramientas
create_or_update_file
Crear o actualizar un solo archivo en un repositorio
Entradas:
owner
(cadena): propietario del repositorio (nombre de usuario u organización)repo
(cadena): nombre del repositoriopath
(cadena): Ruta donde crear/actualizar el archivocontent
(cadena): Contenido del archivomessage
(cadena): Mensaje de confirmaciónbranch
(cadena): Rama para crear/actualizar el archivo ensha
(cadena opcional): SHA del archivo que se va a reemplazar (para actualizaciones)
Devuelve: Contenido del archivo y detalles de confirmación
push_files
Insertar varios archivos en una sola confirmación
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriobranch
(cadena): Rama a la que enviarfiles
(matriz): archivos para enviar, cada uno conpath
ycontent
message
(cadena): Mensaje de confirmación
Devoluciones: Referencia de rama actualizada
search_repositories
Buscar repositorios de GitHub
Entradas:
query
(cadena): consulta de búsquedapage
(número opcional): Número de página para paginaciónperPage
(número opcional): Resultados por página (máximo 100)
Devuelve: Resultados de la búsqueda del repositorio
create_repository
Crear un nuevo repositorio de GitHub
Entradas:
name
(cadena): nombre del repositoriodescription
(cadena opcional): Descripción del repositorioprivate
(booleano opcional): si el repositorio debe ser privadoautoInit
(booleano opcional): inicializar con README
Devoluciones: Detalles del repositorio creado
get_file_contents
Obtener el contenido de un archivo o directorio
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriopath
(cadena): Ruta al archivo/directoriobranch
(cadena opcional): rama de la que obtener el contenido
Devuelve: Contenido del archivo/directorio
create_issue
Crear un nuevo problema
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriotitle
(cadena): Título del problemabody
(cadena opcional): Descripción del problemaassignees
(cadena opcional[]): nombres de usuario para asignarlabels
(cadena opcional[]): etiquetas para agregarmilestone
(número opcional): Número de hito
Devoluciones: Detalles del problema creado
create_pull_request
Crear una nueva solicitud de extracción
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriotitle
(cadena): título de PRbody
(cadena opcional): descripción de PRhead
(cadena): rama que contiene los cambiosbase
(cadena): rama en la que fusionarsedraft
(booleano opcional): Crear como borrador de PRmaintainer_can_modify
(booleano opcional): Permitir ediciones del mantenedor
Devoluciones: Detalles de la solicitud de extracción creada
fork_repository
Bifurcar un repositorio
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositorioorganization
(cadena opcional): Organización a la que se bifurcará
Devoluciones: Detalles del repositorio bifurcado
create_branch
Crear una nueva rama
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriobranch
(cadena): Nombre de la nueva ramafrom_branch
(cadena opcional): rama de origen (predeterminada al valor predeterminado del repositorio)
Devuelve: Referencia de rama creada
list_issues
Enumerar y filtrar problemas del repositorio
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriostate
(cadena opcional): filtrar por estado ('abierto', 'cerrado', 'todos')labels
(cadena opcional[]): Filtrar por etiquetassort
(cadena opcional): Ordenar por ('creado', 'actualizado', 'comentarios')direction
(cadena opcional): Ordenar dirección ('asc', 'desc')since
(cadena opcional): Filtrar por fecha (marca de tiempo ISO 8601)page
(número opcional): Número de páginaper_page
(número opcional): Resultados por página
Devoluciones: Matriz de detalles del problema
update_issue
Actualizar un problema existente
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositorioissue_number
(número): Número de problema a actualizartitle
(cadena opcional): Nuevo títulobody
(cadena opcional): Nueva descripciónstate
(cadena opcional): Nuevo estado ('abierto' o 'cerrado')labels
(cadena opcional[]): Nuevas etiquetasassignees
(cadena opcional[]): nuevos cesionariosmilestone
(número opcional): Nuevo número de hito
Devoluciones: Detalles del problema actualizados
add_issue_comment
Añadir un comentario a un problema
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositorioissue_number
(número): Número de problema sobre el que se realizará el comentariobody
(cadena): Texto del comentario
Devoluciones: Detalles del comentario creado
search_code
Buscar código en los repositorios de GitHub
Entradas:
q
(cadena): consulta de búsqueda utilizando la sintaxis de búsqueda de código de GitHubsort
(cadena opcional): campo de ordenación (solo 'indexado')order
(cadena opcional): orden de clasificación ('asc' o 'desc')per_page
(número opcional): Resultados por página (máximo 100)page
(número opcional): Número de página
Devuelve: Resultados de búsqueda de código con contexto de repositorio
search_issues
Buscar problemas y solicitudes de extracción
Entradas:
q
(cadena): consulta de búsqueda que utiliza la sintaxis de búsqueda de problemas de GitHubsort
(cadena opcional): campo de ordenación (comentarios, reacciones, creados, etc.)order
(cadena opcional): orden de clasificación ('asc' o 'desc')per_page
(número opcional): Resultados por página (máximo 100)page
(número opcional): Número de página
Devoluciones: Resultados de búsqueda de problemas y solicitudes de extracción
search_users
Buscar usuarios de GitHub
Entradas:
q
(cadena): consulta de búsqueda que utiliza la sintaxis de búsqueda de usuarios de GitHubsort
(cadena opcional): campo de ordenación (seguidores, repositorios, unidos)order
(cadena opcional): orden de clasificación ('asc' o 'desc')per_page
(número opcional): Resultados por página (máximo 100)page
(número opcional): Número de página
Devuelve: Resultados de búsqueda del usuario
list_commits
Obtiene confirmaciones de una rama en un repositorio
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriopage
(cadena opcional): número de páginaper_page
(cadena opcional): número de registros por páginasha
(cadena opcional): nombre de la rama
Devuelve: Lista de confirmaciones
get_issue
Obtiene el contenido de un problema dentro de un repositorio
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositorioissue_number
(número): Número de problema a recuperar
Devoluciones: objeto de problema de Github y detalles
get_pull_request
Obtener detalles de una solicitud de extracción específica
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriopull_number
(número): número de solicitud de extracción
Devoluciones: Detalles de la solicitud de extracción, incluyendo la diferencia y el estado de la revisión
list_pull_requests
Listar y filtrar solicitudes de extracción del repositorio
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriostate
(cadena opcional): filtrar por estado ('abierto', 'cerrado', 'todos')head
(cadena opcional): filtrar por usuario/organización principal y ramabase
(cadena opcional): Filtrar por rama basesort
(cadena opcional): Ordenar por ('creado', 'actualizado', 'popularidad', 'de larga duración')direction
(cadena opcional): Ordenar dirección ('asc', 'desc')per_page
(número opcional): Resultados por página (máximo 100)page
(número opcional): Número de página
Devoluciones: Matriz de detalles de la solicitud de extracción
create_pull_request_review
Crear una revisión en una solicitud de extracción
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriopull_number
(número): número de solicitud de extracciónbody
(cadena): Texto del comentario de la revisiónevent
(cadena): Acción de revisión ('APROBAR', 'SOLICITAR_CAMBIOS', 'COMENTARIO')commit_id
(cadena opcional): SHA de la confirmación a revisarcomments
(matriz opcional): comentarios específicos de cada línea, cada uno con:path
(cadena): Ruta del archivoposition
(número): Posición de línea en diffbody
(cadena): Texto del comentario
Devoluciones: Detalles de la revisión creada
merge_pull_request
Fusionar una solicitud de extracción
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriopull_number
(número): número de solicitud de extraccióncommit_title
(cadena opcional): Título para la confirmación de fusióncommit_message
(cadena opcional): detalle adicional para la confirmación de fusiónmerge_method
(cadena opcional): método de fusión ('merge', 'squash', 'rebase')
Devoluciones: Combinar detalles de resultados
get_pull_request_files
Obtener la lista de archivos modificados en una solicitud de extracción
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriopull_number
(número): número de solicitud de extracción
Devoluciones: Matriz de archivos modificados con detalles del parche y el estado
get_pull_request_status
Obtener el estado combinado de todas las comprobaciones de estado para una solicitud de extracción
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriopull_number
(número): número de solicitud de extracción
Devoluciones: Resultados de verificación de estado combinados y detalles de verificación individuales
update_pull_request_branch
Actualizar una rama de solicitud de extracción con los últimos cambios de la rama base (equivalente al botón "Actualizar rama" de GitHub)
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriopull_number
(número): número de solicitud de extracciónexpected_head_sha
(cadena opcional): El SHA esperado de la referencia HEAD de la solicitud de extracción
Devuelve: Mensaje de éxito cuando se actualiza la rama
get_pull_request_comments
Obtener los comentarios de revisión en una solicitud de extracción
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriopull_number
(número): número de solicitud de extracción
Devoluciones: Matriz de comentarios de revisión de solicitudes de extracción con detalles como el texto del comentario, el autor y la ubicación en la diferencia.
get_pull_request_reviews
Obtenga las revisiones en una solicitud de extracción
Entradas:
owner
(cadena): Propietario del repositoriorepo
(cadena): nombre del repositoriopull_number
(número): número de solicitud de extracción
Devoluciones: Matriz de revisiones de solicitudes de extracción con detalles como el estado de la revisión (APROBADO, CAMBIOS SOLICITADOS, etc.), el revisor y el cuerpo de la revisión
Sintaxis de consulta de búsqueda
Búsqueda de código
language:javascript
: Buscar por lenguaje de programaciónrepo:owner/name
: Buscar en un repositorio específicopath:app/src
: Buscar en una ruta específicaextension:js
: Buscar por extensión de archivoEjemplo:
q: "import express" language:typescript path:src/
Búsqueda de problemas
is:issue
ois:pr
: Filtrar por tipois:open
ois:closed
: Filtrar por estadolabel:bug
: Buscar por etiquetaauthor:username
: Buscar por autorEjemplo:
q: "memory leak" is:issue is:open label:bug
Búsqueda de usuarios
type:user
otype:org
: Filtrar por tipo de cuentafollowers:>1000
: Filtrar por seguidoreslocation:London
: Buscar por ubicaciónEjemplo:
q: "fullstack developer" location:London followers:>100
Para conocer la sintaxis de búsqueda detallada, consulte la documentación de búsqueda de GitHub .
Configuración
Token de acceso personal
Cree un token de acceso personal de GitHub con los permisos adecuados:
Vaya a Tokens de acceso personal (en Configuración de GitHub > Configuración de desarrollador)
Seleccione los repositorios a los que desea que este token tenga acceso (Público, Todos o Seleccionar)
Crea un token con el alcance
repo
("Control total de repositorios privados")Alternativamente, si trabaja solo con repositorios públicos, seleccione solo el ámbito
public_repo
Copiar el token generado
Uso con Claude Desktop
Para usar esto con Claude Desktop, agregue lo siguiente a su claude_desktop_config.json
:
Construir
Licencia
Este servidor MCP cuenta con la licencia MIT. Esto significa que puede usar, modificar y distribuir el software libremente, sujeto a los términos y condiciones de la licencia MIT. Para más detalles, consulte el archivo de LICENCIA en el repositorio del proyecto.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Permite la interacción con los repositorios de GitHub a través de la API de GitHub, lo que permite operaciones de archivos, gestión de repositorios, seguimiento de problemas y búsqueda de código a través de comandos de lenguaje natural.
Related MCP Servers
- -securityFlicense-qualityEnables interaction with GitHub through the GitHub API, supporting file operations, repository management, advanced search, and issue tracking with comprehensive error handling and automatic branch creation.Last updated -6,7161
- AsecurityAlicenseAqualityEnables AI assistants to interact with GitHub through the PyGithub library, providing tools for managing issues, repositories, pull requests, and other GitHub operations with intelligent parameter handling and error management.Last updated -191MIT License
- AsecurityAlicenseAqualityEnables users to interact with GitHub's Projects v2 API through natural language for Agile project management, supporting repository details, issue tracking, and project board management operations.Last updated -30GPL 2.0
- AsecurityFlicenseAqualityEnables comprehensive GitHub operations through natural language including file management, repository administration, issue tracking, and advanced code searching.Last updated -4711