Servidor oficial de GitHub MCP para búsqueda de repositorios, issues, pull requests, contexto de código y flujos de trabajo de GitHub en clientes de IA compatibles con MCP.
Explorar y buscar repositorios — Pídele a tu asistente que encuentre archivos, lea código o analice el historial de confirmaciones usando herramientas del conjunto repos.
Gestionar incidencias y solicitudes de extracción — Crea, actualiza y clasifica incidencias o PRs con herramientas de los conjuntos issues y pull_requests.
Monitorear flujos de trabajo CI/CD — Verifica el estado de ejecución de GitHub Actions, investiga fallos de compilación y gestiona versiones mediante el conjunto actions.
Revisar alertas de seguridad de código — Examina hallazgos de análisis de código, alertas de Dependabot y resultados de escaneo de secretos usando los conjuntos code_security, dependabot y secret_protection.
Colaborar en debates y proyectos — Accede a debates de equipo, gestiona tableros de proyectos y maneja notificaciones a través de los conjuntos discussions, projects y notifications.
Documentación
Servidor MCP de GitHub
El Servidor MCP de GitHub conecta herramientas de IA directamente con la plataforma de GitHub. Esto permite a agentes de IA, asistentes y chatbots leer repositorios y archivos de código, gestionar incidencias y PRs, analizar código y automatizar flujos de trabajo. Todo mediante interacciones en lenguaje natural.
Casos de Uso
Gestión de Repositorios: Navega y consulta código, busca archivos, analiza commits y comprende la estructura del proyecto en cualquier repositorio al que tengas acceso.
Automatización de Incidencias y PRs: Crea, actualiza y gestiona incidencias y pull requests. Deja que la IA te ayude a clasificar errores, revisar cambios de código y mantener los tableros de proyecto.
Inteligencia de CI/CD y Flujos de Trabajo: Monitoriza las ejecuciones de GitHub Actions, analiza fallos de compilación, gestiona lanzamientos y obtén información sobre tu pipeline de desarrollo.
Análisis de Código: Examina hallazgos de seguridad, revisa alertas de Dependabot, comprende patrones de código y obtén información completa sobre tu base de código.
Colaboración en Equipo: Accede a discusiones, gestiona notificaciones, analiza la actividad del equipo y optimiza procesos para tu equipo.
Diseñado para desarrolladores que quieren conectar sus herramientas de IA al contexto y las capacidades de GitHub, desde simples consultas en lenguaje natural hasta complejos flujos de trabajo de agentes de múltiples pasos.
Servidor MCP Remoto de GitHub
El servidor MCP remoto de GitHub está alojado por GitHub y proporciona el método más sencillo para empezar a funcionar. Si tu host MCP no soporta servidores MCP remotos, ¡no te preocupes! Puedes usar la versión local del Servidor MCP de GitHub en su lugar.
Prerrequisitos
Un host MCP compatible con soporte para servidor remoto (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, etc.)
Para una instalación rápida, usa uno de los botones de instalación en un clic de arriba. Una vez que completes ese flujo, activa el modo Agente (ubicado junto a la entrada de texto de Copilot Chat) y el servidor se iniciará. Asegúrate de estar usando VS Code 1.101 o posterior para soporte de MCP remoto y OAuth.
Alternativamente, para configurar VS Code manualmente, elige el bloque JSON apropiado de los ejemplos a continuación y agrégalo a la configuración de tu host:
Rovo Dev CLI - Guía de instalación para Rovo Dev CLI
Nota: Cada aplicación host MCP necesita configurar una GitHub App u OAuth App para soportar el acceso remoto a través de OAuth. Cualquier aplicación host que soporte servidores MCP remotos debería soportar el servidor remoto de GitHub con autenticación PAT. Los detalles de configuración y los niveles de soporte varían según el host. Asegúrate de consultar la documentación de la aplicación host para más información.
Configuración
Configuración de conjuntos de herramientas
Consulta la Documentación del Servidor Remoto para obtener todos los detalles sobre la configuración del servidor remoto, conjuntos de herramientas, cabeceras y uso avanzado. Este archivo proporciona instrucciones completas y ejemplos para conectar, personalizar e instalar el servidor MCP remoto de GitHub en VS Code y otros hosts MCP.
¡Prueba las nuevas funciones antes! El servidor remoto ofrece una versión insiders con acceso anticipado a nuevas funciones y herramientas experimentales.
Nota: Al usar OAuth con GitHub Enterprise con VS Code y GitHub Copilot, también necesitas configurar los ajustes de VS Code para que apunten a tu instancia de GitHub Enterprise - consulta Autenticar desde VS Code
Para ejecutar el servidor en un contenedor, necesitarás tener Docker instalado.
Una vez que Docker esté instalado, también necesitarás asegurarte de que Docker esté en ejecución. La imagen de Docker está disponible en ghcr.io/github/github-mcp-server. La imagen es pública; si obtienes errores al descargar, es posible que tengas un token expirado y necesites docker logout ghcr.io.
Autenticación. En github.com no necesitas crear nada por adelantado — los botones de un clic de arriba te autentican con OAuth en el primer uso (un flujo basado en navegador; el token se mantiene solo en memoria). Los botones de Docker publican un puerto de callback fijo (127.0.0.1:8085) para que el callback de inicio de sesión del contenedor sea accesible. Consulta Inicio de Sesión OAuth del Servidor Local para saber cómo funciona, la alternativa sin interfaz gráfica/código de dispositivo, y cómo traer tu propia OAuth o GitHub App (requerido para GitHub Enterprise Server y ghe.com).
¿Prefieres un token? Aún puedes autenticarte con un Token de Acceso Personal de GitHub configurando GITHUB_PERSONAL_ACCESS_TOKEN en su lugar (tiene prioridad sobre OAuth). El servidor MCP puede usar muchas de las APIs de GitHub, así que habilita los permisos que te sientas cómodo otorgando a tus herramientas de IA (para aprender más sobre los tokens de acceso, consulta la documentación).
Manejo Seguro de PATs
Variables de Entorno (Recomendado)
Para mantener tu PAT de GitHub seguro y reutilizable en diferentes hosts MCP:
Almacena tu PAT en variables de entorno
export GITHUB_PAT=your_token_here
O crea un archivo .env:
GITHUB_PAT=your_token_here
Protege tu archivo .env
# Add to .gitignore to prevent accidental commits
echo ".env" >> .gitignore
Referencia el token en las configuraciones
# CLI usage
claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/github/github-mcp-server
# In config files (where supported)
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_PAT"
}
Nota: El soporte para variables de entorno varía según la aplicación host y el IDE. Algunas aplicaciones (como Windsurf) requieren tokens codificados en los archivos de configuración.
Mejores Prácticas de Seguridad para Tokens
Ámbitos mínimos: Otorga solo los permisos necesarios
repo - Operaciones de repositorio
read:packages - Acceso a la imagen de Docker
read:org - Acceso al equipo de la organización
Tokens separados: Usa diferentes PATs para diferentes proyectos/entornos
Rotación regular: Actualiza los tokens periódicamente
Nunca commits: Mantén los tokens fuera del control de versiones
Permisos de archivo: Restringe el acceso a los archivos de configuración que contienen tokens
chmod 600 ~/.your-app/config.json
GitHub Enterprise Server y Enterprise Cloud con residencia de datos (ghe.com)
La bandera --gh-host y la variable de entorno GITHUB_HOST se pueden usar para establecer
el nombre de host para GitHub Enterprise Server o GitHub Enterprise Cloud con residencia de datos.
Para GitHub Enterprise Server, prefija el nombre de host con el esquema URI https://, ya que de lo contrario predetermina http://, que GitHub Enterprise Server no soporta.
Para GitHub Enterprise Cloud con residencia de datos, usa https://YOURSUBDOMAIN.ghe.com como nombre de host.
Para una instalación rápida, usa uno de los botones de instalación en un clic de arriba. Una vez que completes ese flujo, activa el modo Agente (ubicado junto a la entrada de texto de Copilot Chat) y el servidor se iniciará.
Instalar en GitHub Copilot en otros IDEs (JetBrains, Visual Studio, Eclipse, etc.)
Agrega uno de los siguientes bloques JSON a la configuración MCP de tu IDE.
Inicia sesión con OAuth (sin token que crear o almacenar). En github.com, la imagen oficial ya incluye las credenciales de la app, por lo que no proporcionas ninguna: ejecuta un inicio de sesión basado en navegador en el primer uso y mantiene el token resultante solo en memoria. En Docker, esto necesita un puerto de callback fijo publicado en loopback para que el callback de inicio de sesión del contenedor sea accesible:
Consulta Inicio de Sesión OAuth del Servidor Local para el flujo de binario nativo (sin necesidad de puerto fijo), la alternativa sin interfaz gráfica/código de dispositivo, GitHub Enterprise Server / ghe.com, y cómo traer tu propia OAuth o GitHub App.
O autentícate con un Token de Acceso Personal. Configura GITHUB_PERSONAL_ACCESS_TOKEN en su lugar (tiene prioridad sobre OAuth):
Opcionalmente, puedes agregar un ejemplo similar (es decir, sin la clave mcp) a un archivo llamado .vscode/mcp.json en tu espacio de trabajo. Esto te permitirá compartir la configuración con otras aplicaciones host que acepten el mismo formato.
Nota: Cualquier aplicación host que soporte servidores MCP locales debería poder acceder al servidor MCP local de GitHub. Sin embargo, el proceso de configuración específico, la sintaxis y la estabilidad de la integración variarán según la aplicación host. Aunque muchas pueden seguir un formato similar a los ejemplos anteriores, esto no está garantizado. Consulta la documentación de tu aplicación host para conocer la sintaxis de configuración MCP correcta y el proceso de configuración.
Compilar desde el código fuente
Si no tienes Docker, puedes usar go build para compilar el binario en el directorio cmd/github-mcp-server, y usar el comando github-mcp-server stdio con la variable de entorno GITHUB_PERSONAL_ACCESS_TOKEN configurada con tu token. Para especificar la ubicación de salida de la compilación, usa la bandera -o. Debes configurar tu servidor para que use el ejecutable compilado como su command. Por ejemplo:
El binario github-mcp-server incluye algunos subcomandos de CLI que son útiles para depurar y explorar el servidor.
github-mcp-server tool-search "<query>" busca herramientas por nombre, descripción y nombres de parámetros de entrada. Usa --max-results para devolver más coincidencias.
Ejemplo (la salida en color requiere una TTY; usa docker run -t (o -it) al ejecutar en Docker):
El Servidor MCP de GitHub permite habilitar o deshabilitar grupos específicos de funcionalidades mediante la bandera --toolsets. Esto te permite controlar qué capacidades de la API de GitHub están disponibles para tus herramientas de IA. Habilitar solo los conjuntos de herramientas que necesitas puede ayudar al LLM con la elección de herramientas y reducir el tamaño del contexto.
Los conjuntos de herramientas no se limitan a Herramientas. También se incluyen Recursos MCP y Prompts relevantes cuando corresponde.
¿Buscas ejemplos? Consulta la Guía de configuración del servidor para recetas comunes como configuraciones mínimas, modo de solo lectura y combinación de herramientas con conjuntos de herramientas.
Especificar conjuntos de herramientas
Para especificar los conjuntos de herramientas que quieres que estén disponibles para el LLM, puedes pasar una lista de permitidos de dos maneras:
La variable de entorno GITHUB_TOOLSETS tiene prioridad sobre el argumento de línea de comandos si se proporcionan ambos.
Especificar herramientas individuales
También puedes configurar herramientas específicas usando la bandera --tools. Las herramientas se pueden usar de forma independiente o combinadas con conjuntos de herramientas para un control detallado.
Esto registra todas las herramientas de los conjuntos repos y issues, más get_gist.
Notas importantes:
Las herramientas y los conjuntos de herramientas se pueden usar juntos
El modo de solo lectura tiene prioridad: las herramientas de escritura se omiten si --read-only está configurado, incluso si se solicitan explícitamente a través de --tools
Los nombres de las herramientas deben coincidir exactamente (por ejemplo, get_file_contents, no getFileContents). Los nombres de herramientas no válidos harán que el servidor falle al iniciar con un mensaje de error
Cuando se renombran las herramientas, los nombres antiguos se conservan como alias para compatibilidad con versiones anteriores. Consulta Renombrar herramientas para más detalles.
Usar conjuntos de herramientas con Docker
Al usar Docker, puedes pasar los conjuntos de herramientas como variables de entorno:
Al usar Docker, puedes pasar herramientas específicas como variables de entorno. También puedes combinar herramientas con conjuntos de herramientas:
# Tools only
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" \
ghcr.io/github/github-mcp-server
# Tools combined with toolsets (additive)
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLSETS="repos,issues" \
-e GITHUB_TOOLS="get_gist" \
ghcr.io/github/github-mcp-server
Conjuntos de herramientas especiales
Conjunto de herramientas "all"
El conjunto de herramientas especial all se puede proporcionar para habilitar todos los conjuntos de herramientas disponibles independientemente de cualquier otra configuración:
./github-mcp-server --toolsets all
O usando la variable de entorno:
GITHUB_TOOLSETS="all" ./github-mcp-server
Conjunto de herramientas "default"
El conjunto de herramientas predeterminado default es la configuración que se pasa al servidor si no se especifican conjuntos de herramientas.
La configuración predeterminada es:
context
repos
issues
pull_requests
users
Para mantener la configuración predeterminada y agregar conjuntos de herramientas adicionales:
Los siguientes conjuntos de herramientas están disponibles:
Conjunto de herramientas
Descripción
context
Altamente recomendado: Herramientas que proporcionan contexto sobre el usuario actual y el contexto de GitHub en el que estás operando
actions
Flujos de trabajo de GitHub Actions y operaciones de CI/CD
code_quality
Herramientas relacionadas con la calidad del código en GitHub
code_security
Herramientas relacionadas con la seguridad del código, como el Escaneo de Código de GitHub
copilot
Herramientas relacionadas con Copilot
dependabot
Herramientas de Dependabot
discussions
Herramientas relacionadas con GitHub Discussions
gists
Herramientas relacionadas con GitHub Gist
git
Herramientas relacionadas con la API Git de GitHub para operaciones Git de bajo nivel
issues
Herramientas relacionadas con GitHub Issues
labels
Herramientas relacionadas con GitHub Labels
notifications
Herramientas relacionadas con GitHub Notifications
orgs
Herramientas relacionadas con GitHub Organization
projects
Herramientas relacionadas con GitHub Projects
pull_requests
Herramientas relacionadas con GitHub Pull Request
repos
Herramientas relacionadas con GitHub Repository
secret_protection
Herramientas relacionadas con la protección de secretos, como el Escaneo de Secretos de GitHub
security_advisories
Herramientas relacionadas con avisos de seguridad
stargazers
Herramientas relacionadas con GitHub Stargazers
users
Herramientas relacionadas con GitHub User
Conjuntos de herramientas adicionales en el Servidor MCP de GitHub Remoto
Conjunto de herramientas
Descripción
copilot
Herramientas relacionadas con Copilot (p. ej., Copilot Coding Agent)
copilot_spaces
Herramientas relacionadas con Copilot Spaces
github_support_docs_search
Buscar documentación para responder preguntas sobre productos y soporte de GitHub
Herramientas
Actions
actions_get - Obtener detalles de recursos de GitHub Actions (flujos de trabajo, ejecuciones de flujo de trabajo, trabajos y artefactos)
Ámbitos de OAuth requeridos: repo
method: El método a ejecutar (cadena, requerido)
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
resource_id: El identificador único del recurso. Esto variará según el "método" proporcionado, así que asegúrate de proporcionar el ID correcto:
Proporciona un ID de flujo de trabajo o nombre de archivo de flujo de trabajo (p. ej., ci.yaml) para el método 'get_workflow'.
Proporciona un ID de ejecución de flujo de trabajo para los métodos 'get_workflow_run', 'get_workflow_run_usage' y 'get_workflow_run_logs_url'.
Proporciona un ID de artefacto para el método 'download_workflow_run_artifact'.
Proporciona un ID de trabajo para el método 'get_workflow_job'.
(cadena, requerido)
actions_list - Listar flujos de trabajo de GitHub Actions en un repositorio
Ámbitos de OAuth requeridos: repo
method: La acción a realizar (cadena, requerido)
owner: Propietario del repositorio (cadena, requerido)
page: Número de página para paginación (predeterminado: 1) (número, opcional)
per_page: Resultados por página para paginación (predeterminado: 30, máx.: 100) (número, opcional)
repo: Nombre del repositorio (cadena, requerido)
resource_id: El identificador único del recurso. Esto variará según el "método" proporcionado, así que asegúrate de proporcionar el ID correcto:
No proporciones ningún ID de recurso para el método 'list_workflows'.
Proporciona un ID de flujo de trabajo o nombre de archivo de flujo de trabajo (p. ej., ci.yaml) para el método 'list_workflow_runs', u omítelo para listar todas las ejecuciones de flujo de trabajo en el repositorio.
Proporciona un ID de ejecución de flujo de trabajo para los métodos 'list_workflow_jobs' y 'list_workflow_run_artifacts'.
(cadena, opcional)
workflow_jobs_filter: Filtros para trabajos de flujo de trabajo. SOLO se usa cuando el método es 'list_workflow_jobs' (objeto, opcional)
workflow_runs_filter: Filtros para ejecuciones de flujo de trabajo. SOLO se usa cuando el método es 'list_workflow_runs' (objeto, opcional)
actions_run_trigger - Activar acciones de flujo de trabajo de GitHub Actions
Ámbitos de OAuth requeridos: repo
inputs: Entradas que acepta el flujo de trabajo. Solo se usa para el método 'run_workflow'. (objeto, opcional)
method: El método a ejecutar (cadena, requerido)
owner: Propietario del repositorio (cadena, requerido)
ref: La referencia git para el flujo de trabajo. La referencia puede ser un nombre de rama o etiqueta. Requerido para el método 'run_workflow'. (cadena, opcional)
repo: Nombre del repositorio (cadena, requerido)
run_id: El ID de la ejecución del flujo de trabajo. Requerido para todos los métodos excepto 'run_workflow'. (número, opcional)
workflow_id: El ID del flujo de trabajo (numérico) o nombre de archivo del flujo de trabajo (p. ej., main.yml, ci.yaml). Requerido para el método 'run_workflow'. (cadena, opcional)
get_job_logs - Obtener registros de trabajos de flujo de trabajo de GitHub Actions
Ámbitos de OAuth requeridos: repo
failed_only: Cuando es true, obtiene registros para todos los trabajos fallidos en la ejecución del flujo de trabajo especificada por run_id. Requiere que se proporcione run_id. (booleano, opcional)
job_id: El identificador único del trabajo del flujo de trabajo. Requerido al obtener registros para un solo trabajo. (número, opcional)
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
return_content: Devuelve el contenido real del registro en lugar de URLs (booleano, opcional)
run_id: El identificador único de la ejecución del flujo de trabajo. Requerido cuando failed_only es true para obtener registros de todos los trabajos fallidos en la ejecución. (número, opcional)
tail_lines: Número de líneas a devolver desde el final del registro (número, opcional)
Calidad del Código- **get_code_quality_finding** - Obtener hallazgo de calidad de código
- **Ámbitos de OAuth requeridos**: `repo`
- `findingNumber`: El número del hallazgo. (número, requerido)
- `owner`: El propietario del repositorio. (cadena, requerido)
- `repo`: El nombre del repositorio. (cadena, requerido)
Seguridad de Código
get_code_scanning_alert - Obtener alerta de escaneo de código
Ámbitos de OAuth requeridos: security_events
Ámbitos de OAuth aceptados: repo, security_events
alertNumber: El número de la alerta. (número, requerido)
owner: El propietario del repositorio. (cadena, requerido)
repo: El nombre del repositorio. (cadena, requerido)
list_code_scanning_alerts - Listar alertas de escaneo de código
Ámbitos de OAuth requeridos: security_events
Ámbitos de OAuth aceptados: repo, security_events
owner: El propietario del repositorio. (cadena, requerido)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
ref: La referencia Git para los resultados que deseas listar. (cadena, opcional)
repo: El nombre del repositorio. (cadena, requerido)
severity: Filtrar alertas de escaneo de código por severidad (cadena, opcional)
state: Filtrar alertas de escaneo de código por estado. Por defecto, abiertas (cadena, opcional)
tool_name: El nombre de la herramienta utilizada para el escaneo de código. (cadena, opcional)
Contexto
get_me - Obtener mi perfil de usuario
No se requieren parámetros
get_team_members - Obtener miembros del equipo
Ámbitos de OAuth requeridos: read:org
Ámbitos de OAuth aceptados: admin:org, read:org, write:org
org: Login de la organización (propietario) que contiene el equipo. (cadena, requerido)
team_slug: Slug del equipo (cadena, requerido)
get_teams - Obtener equipos
Ámbitos de OAuth requeridos: read:org
Ámbitos de OAuth aceptados: admin:org, read:org, write:org
user: Nombre de usuario para el cual obtener equipos. Si no se proporciona, usa el usuario autenticado. (cadena, opcional)
Copilot
assign_copilot_to_issue - Asignar Copilot a una incidencia
Ámbitos de OAuth requeridos: repo
base_ref: Referencia Git (ej., rama) desde la cual el agente comenzará su trabajo. Si no se especifica, usa la rama por defecto del repositorio (cadena, opcional)
custom_instructions: Instrucciones personalizadas opcionales para guiar al agente más allá del cuerpo de la incidencia. Úsalo para proporcionar contexto adicional, restricciones u orientación no capturada en la descripción de la incidencia (cadena, opcional)
issue_number: Número de incidencia (número, requerido)
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
request_copilot_review - Solicitar revisión de Copilot
Ámbitos de OAuth requeridos: repo
owner: Propietario del repositorio (cadena, requerido)
pullNumber: Número de pull request (número, requerido)
repo: Nombre del repositorio (cadena, requerido)
Dependabot
get_dependabot_alert - Obtener alerta de Dependabot
Ámbitos de OAuth requeridos: security_events
Ámbitos de OAuth aceptados: repo, security_events
alertNumber: El número de la alerta. (número, requerido)
owner: El propietario del repositorio. (cadena, requerido)
repo: El nombre del repositorio. (cadena, requerido)
list_dependabot_alerts - Listar alertas de Dependabot
Ámbitos de OAuth requeridos: security_events
Ámbitos de OAuth aceptados: repo, security_events
after: Cursor para paginación. Usa el cursor de la respuesta anterior. (cadena, opcional)
owner: El propietario del repositorio. (cadena, requerido)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: El nombre del repositorio. (cadena, requerido)
severity: Filtrar alertas de Dependabot por severidad (cadena, opcional)
state: Filtrar alertas de Dependabot por estado. Por defecto, abiertas (cadena, opcional)
Discusiones
discussion_comment_write - Gestionar comentarios de discusión
Ámbitos de OAuth requeridos: repo
body: Contenido del comentario (requerido para los métodos 'add', 'reply' y 'update') (cadena, opcional)
commentNodeID: El ID de nodo del comentario de discusión (requerido para los métodos 'reply', 'update', 'delete', 'mark_answer' y 'unmark_answer'). Para 'reply', este es el comentario de nivel superior al que responder; las Discusiones de GitHub solo admiten un nivel de anidamiento. (cadena, opcional)
discussionNumber: Número de discusión (requerido para los métodos 'add' y 'reply') (número, opcional)
method: Operación de escritura a realizar en un comentario de discusión.
Las opciones son:
'add' - añade un nuevo comentario de nivel superior a una discusión.
'reply' - responde a un comentario de discusión de nivel superior (las Discusiones de GitHub solo admiten un nivel de anidamiento).
'update' - actualiza un comentario de discusión existente.
'delete' - elimina un comentario de discusión.
'mark_answer' - marca un comentario de discusión como la respuesta (solo Q&A).
'unmark_answer' - desmarca un comentario de discusión como la respuesta (solo Q&A).
(cadena, requerido)
owner: Propietario del repositorio (requerido para los métodos 'add' y 'reply') (cadena, opcional)
repo: Nombre del repositorio (requerido para los métodos 'add' y 'reply') (cadena, opcional)
get_discussion - Obtener discusión
Ámbitos de OAuth requeridos: repo
discussionNumber: Número de discusión (número, requerido)
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
get_discussion_comments - Obtener comentarios de discusión
Ámbitos de OAuth requeridos: repo
after: Cursor para paginación. Usa el cursor de la respuesta anterior. (cadena, opcional)
discussionNumber: Número de discusión (número, requerido)
includeReplies: Cuando es true, cada comentario de nivel superior incluirá sus respuestas anidadas dentro de él (hasta 100 respuestas por comentario, que es el máximo de la API de GitHub). Por defecto es false. (booleano, opcional)
owner: Propietario del repositorio (cadena, requerido)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: Nombre del repositorio (cadena, requerido)
list_discussion_categories - Listar categorías de discusión
Ámbitos de OAuth requeridos: repo
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio. Si no se proporciona, las categorías de discusión se consultarán a nivel de organización. (cadena, opcional)
list_discussions - Listar discusiones
Ámbitos de OAuth requeridos: repo
after: Cursor para paginación. Usa el cursor de la respuesta anterior. (cadena, opcional)
category: Filtro opcional por ID de categoría de discusión. Si se proporciona, solo se listan las discusiones con esta categoría. (cadena, opcional)
direction: Dirección de orden. (cadena, opcional)
orderBy: Ordenar discusiones por campo. Si se proporciona, también se debe proporcionar la 'dirección'. (cadena, opcional)
owner: Propietario del repositorio (cadena, requerido)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: Nombre del repositorio. Si no se proporciona, las discusiones se consultarán a nivel de organización. (cadena, opcional)
Gists
create_gist - Crear Gist
Ámbitos de OAuth requeridos: gist
content: Contenido para la creación simple de un gist de un solo archivo (cadena, requerido)
description: Descripción del gist (cadena, opcional)
filename: Nombre de archivo para la creación simple de un gist de un solo archivo (cadena, requerido)
public: Si el gist es público (booleano, opcional)
get_gist - Obtener contenido de Gist
gist_id: El ID del gist (cadena, requerido)
list_gists - Listar Gists
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
since: Solo gists actualizados después de este tiempo (marca de tiempo ISO 8601) (cadena, opcional)
username: Nombre de usuario de GitHub (omitir para los gists del usuario autenticado) (cadena, opcional)
update_gist - Actualizar Gist
Ámbitos de OAuth requeridos: gist
content: Contenido para el archivo (cadena, requerido)
description: Descripción actualizada del gist (cadena, opcional)
filename: Nombre de archivo a actualizar o crear (cadena, requerido)
gist_id: ID del gist a actualizar (cadena, requerido)
Git
get_repository_tree - Obtener árbol del repositorio
Ámbitos de OAuth requeridos: repo
owner: Propietario del repositorio (nombre de usuario u organización) (cadena, requerido)
path_filter: Prefijo de ruta opcional para filtrar los resultados del árbol (ej., 'src/' para mostrar solo archivos en el directorio src) (cadena, opcional)
recursive: Establecer este parámetro a true devuelve los objetos o subárboles referenciados por el árbol. Por defecto es false (booleano, opcional)
repo: Nombre del repositorio (cadena, requerido)
tree_sha: El valor SHA1 o nombre de ref (rama o etiqueta) del árbol. Por defecto, la rama por defecto del repositorio (cadena, opcional)
Incidencias
add_issue_comment - Añadir comentario a incidencia o pull request
Ámbitos de OAuth requeridos: repo
body: Contenido del comentario. Requerido a menos que se proporcione una reacción. (cadena, opcional)
comment_id: El ID numérico del comentario de la incidencia o pull request al que reaccionar. Úsalo para reacciones a comentarios; omítelo para reaccionar a la incidencia o pull request en sí. No se puede combinar con body. (número, opcional)
issue_number: Número de incidencia o pull request a comentar o al que reaccionar. (número, requerido)
owner: Propietario del repositorio (cadena, requerido)
reaction: Reacción emoji a añadir. Requerido a menos que se proporcione body. (cadena, opcional)
repo: Nombre del repositorio (cadena, requerido)
get_label - Obtener una etiqueta específica de un repositorio
Ámbitos de OAuth requeridos: repo
name: Nombre de la etiqueta. (cadena, requerido)
owner: Propietario del repositorio (nombre de usuario o nombre de la organización) (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
issue_read - Obtener detalles de un issue
Ámbitos de OAuth requeridos: repo
issue_number: El número del issue (número, requerido)
method: La operación de lectura a realizar en un solo issue.
Las opciones son:
get - Obtener detalles del issue. También devuelve indicadores de jerarquía de mejor esfuerzo (has_parent, has_children); parent y sub_issues_summary son resúmenes de relación opcionales.
get_comments - Obtener comentarios del issue.
get_sub_issues - Obtener sub-issues (hijos) del issue.
get_parent - Obtener el issue padre, si este issue es un sub-issue de otro.
get_labels - Obtener las etiquetas asignadas al issue.
(cadena, requerido)
owner: El propietario del repositorio (cadena, requerido)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: El nombre del repositorio (cadena, requerido)
issue_write - Crear o actualizar issue/pull request
Ámbitos de OAuth requeridos: repo
assignees: Nombres de usuario a asignar a este issue (cadena[], opcional)
body: Contenido del cuerpo del issue (cadena, opcional)
duplicate_of: Número de issue del cual este issue es un duplicado. Solo se usa cuando state_reason es 'duplicate'. (número, opcional)
issue_fields: Valores de campos del issue a establecer o limpiar. Cada elemento requiere 'field_name' y exactamente uno de 'value', 'field_option_name', o 'delete: true'. (objeto[], opcional)
issue_number: Número de issue a actualizar (número, opcional)
labels: Etiquetas a aplicar a este issue (cadena[], opcional)
method: Operación de escritura a realizar en un solo issue.
Las opciones son:
'create' - crea un nuevo issue.
'update' - actualiza un issue existente.
(cadena, requerido)
milestone: Número de milestone (número, opcional)
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
state: Nuevo estado (cadena, opcional)
state_reason: Razón del cambio de estado. Se ignora a menos que se cambie el estado. (cadena, opcional)
title: Título del issue (cadena, opcional)
type: Tipo de este issue. Úsalo solo si los tipos de issue están habilitados para este repositorio. Usa la herramienta list_issue_types para obtener valores de tipo válidos para este repositorio o su organización propietaria. Si el repositorio no admite tipos de issue, omite este parámetro. (cadena, opcional)
list_issue_fields - Listar campos de issue
Ámbitos de OAuth requeridos (cualquiera de): repo, read:org
Ámbitos de OAuth aceptados: admin:org, read:org, repo, write:org
owner: El propietario de la cuenta del repositorio u organización. El nombre no distingue entre mayúsculas y minúsculas. (cadena, requerido)
repo: El nombre del repositorio. Cuando se proporciona, devuelve campos para este repositorio específico (heredados de su organización). Cuando se omite, devuelve campos a nivel de organización directamente. (cadena, opcional)
list_issue_types - Listar tipos de issue disponibles
Ámbitos de OAuth requeridos (cualquiera de): repo, read:org
Ámbitos de OAuth aceptados: admin:org, read:org, repo, write:org
owner: El propietario de la cuenta del repositorio u organización. (cadena, requerido)
repo: El nombre del repositorio. Cuando se proporciona, devuelve tipos de issue para este repositorio específico. Cuando se omite, devuelve tipos de issue a nivel de organización directamente. (cadena, opcional)
list_issues - Listar issues
Ámbitos de OAuth requeridos: repo
after: Cursor para paginación. Usa el cursor de la respuesta anterior. (cadena, opcional)
direction: Dirección de orden. Si se proporciona, también se debe proporcionar 'orderBy'. (cadena, opcional)
field_filters: Filtrar por valores de campos de issue personalizados. Cada entrada toma un field_name y un value; el servidor busca el campo y convierte el valor a su tipo (nombre de opción de selección única, texto, número o fecha YYYY-MM-DD). (objeto[], opcional)
labels: Filtrar por etiquetas (cadena[], opcional)
orderBy: Ordenar issues por campo. Si se proporciona, también se debe proporcionar 'direction'. (cadena, opcional)
owner: Propietario del repositorio (cadena, requerido)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: Nombre del repositorio (cadena, requerido)
since: Filtrar por fecha (marca de tiempo ISO 8601) (cadena, opcional)
state: Filtrar por estado, por defecto se devuelven tanto issues abiertos como cerrados cuando no se proporciona (cadena, opcional)
search_issues - Buscar issues
Ámbitos de OAuth requeridos: repo
order: Orden de clasificación (cadena, opcional)
owner: Propietario del repositorio opcional. Si se proporciona con repo, solo se listan los issues de este repositorio. (cadena, opcional)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
query: Consulta de búsqueda usando la sintaxis de búsqueda de issues de GitHub (cadena, requerido)
repo: Nombre del repositorio opcional. Si se proporciona con owner, solo se listan los issues de este repositorio. (cadena, opcional)
sort: Campo de ordenación por número de coincidencias de categorías, por defecto es mejor coincidencia (cadena, opcional)
sub_issue_write - Cambiar sub-issue
Ámbitos de OAuth requeridos: repo
after_id: El ID del sub-issue a priorizar después (se debe especificar after_id O before_id) (número, opcional)
before_id: El ID del sub-issue a priorizar antes (se debe especificar after_id O before_id) (número, opcional)
issue_number: El número del issue padre (número, requerido)
method: La acción a realizar en un solo sub-issue
Las opciones son:
'add' - añadir un sub-issue a un issue padre en un repositorio de GitHub.
'remove' - eliminar un sub-issue de un issue padre en un repositorio de GitHub.
'reprioritize' - cambiar el orden de los sub-issues dentro de un issue padre en un repositorio de GitHub. Usa 'after_id' o 'before_id' para especificar la nueva posición.
Escribe la jerarquía de issues. Para mover un sub-issue a un nuevo padre, usa add con replace_parent=true; no hay un campo padre escribible.
(cadena, requerido)
owner: Propietario del repositorio (cadena, requerido)
replace_parent: Cuando es true, reemplaza el issue padre actual del sub-issue. Úsalo solo con el método 'add'. (booleano, opcional)
repo: Nombre del repositorio (cadena, requerido)
sub_issue_id: El ID del sub-issue a añadir. El ID no es lo mismo que el número de issue (número, requerido)
Etiquetas
get_label - Obtener una etiqueta específica de un repositorio
Ámbitos de OAuth requeridos: repo
name: Nombre de la etiqueta. (cadena, requerido)
owner: Propietario del repositorio (nombre de usuario o nombre de la organización) (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
label_write - Operaciones de escritura en etiquetas de repositorio
Ámbitos de OAuth requeridos: repo
color: Color de la etiqueta como código hexadecimal de 6 caracteres sin prefijo '#' (ej., 'f29513'). Requerido para 'create', opcional para 'update'. (cadena, opcional)
description: Texto de descripción de la etiqueta. Opcional para 'create' y 'update'. (cadena, opcional)
method: Operación a realizar: 'create', 'update', o 'delete' (cadena, requerido)
name: Nombre de la etiqueta - requerido para todas las operaciones (cadena, requerido)
new_name: Nuevo nombre para la etiqueta (usado solo con el método 'update' para renombrar) (cadena, opcional)
owner: Propietario del repositorio (nombre de usuario o nombre de la organización) (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
list_label - Listar etiquetas de un repositorio
Ámbitos de OAuth requeridos: repo
owner: Propietario del repositorio (nombre de usuario o nombre de la organización) - requerido para todas las operaciones (cadena, requerido)
repo: Nombre del repositorio - requerido para todas las operaciones (cadena, requerido)
Notificaciones
dismiss_notification - Descartar notificación
Ámbitos de OAuth requeridos: notifications
state: El nuevo estado de la notificación (read/done) (cadena, requerido)
threadID: El ID del hilo de notificación (cadena, requerido)
get_notification_details - Obtener detalles de notificación
Ámbitos de OAuth requeridos: notifications
notificationID: El ID de la notificación (cadena, requerido)
list_notifications - Listar notificaciones
Ámbitos de OAuth requeridos: notifications
before: Mostrar solo notificaciones actualizadas antes de la hora dada (formato ISO 8601) (cadena, opcional)
filter: Filtrar notificaciones a, usar predeterminado a menos que se especifique. Las notificaciones leídas son aquellas que ya han sido reconocidas por el usuario. Las notificaciones participativas son aquellas en las que el usuario está directamente involucrado, como issues o pull requests que ha comentado o creado. (cadena, opcional)
owner: Propietario del repositorio opcional. Si se proporciona con repo, solo se listan las notificaciones de este repositorio. (cadena, opcional)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: Nombre del repositorio opcional. Si se proporciona con owner, solo se listan las notificaciones de este repositorio. (cadena, opcional)
since: Mostrar solo notificaciones actualizadas después de la hora dada (formato ISO 8601) (cadena, opcional)
manage_notification_subscription - Gestionar suscripción de notificación
Ámbitos de OAuth requeridos: notifications
action: Acción a realizar: ignore, watch, o delete la suscripción de notificación. (cadena, requerido)
notificationID: El ID del hilo de notificación. (cadena, requerido)
manage_repository_notification_subscription - Gestionar suscripción de notificación de repositorio
Ámbitos de OAuth requeridos: notifications
action: Acción a realizar: ignore, watch, o delete la suscripción de notificación del repositorio. (cadena, requerido)
owner: El propietario de la cuenta del repositorio. (cadena, requerido)
repo: El nombre del repositorio. (cadena, requerido)
mark_all_notifications_read - Marcar todas las notificaciones como leídas
Ámbitos de OAuth requeridos: notifications
lastReadAt: Describe el último punto en que se verificaron las notificaciones (opcional). Predeterminado: Ahora (cadena, opcional)
owner: Propietario del repositorio opcional. Si se proporciona con repo, solo las notificaciones de este repositorio se marcan como leídas. (cadena, opcional)
repo: Nombre del repositorio opcional. Si se proporciona con owner, solo las notificaciones de este repositorio se marcan como leídas. (cadena, opcional)
Organizaciones
search_orgs - Buscar organizaciones
Ámbitos de OAuth requeridos: read:org
Ámbitos de OAuth aceptados: admin:org, read:org, write:org
order: Orden de clasificación (cadena, opcional)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
query: Consulta de búsqueda de organizaciones. Ejemplos: 'microsoft', 'location:california', 'created:>=2025-01-01'. La búsqueda se limita automáticamente a type:org. (cadena, requerido)
sort: Campo de ordenación por categoría (cadena, opcional)
Proyectos
projects_get - Obtener detalles de recursos de GitHub Projects
Ámbitos de OAuth requeridos: read:project
Ámbitos de OAuth aceptados: project, read:project
field_id: El ID del campo. Requerido para el método 'get_project_field'. (número, opcional)
field_names: Lista específica de nombres de campo a incluir en la respuesta al obtener un elemento del proyecto (ej. ["Status", "Priority"]). Se resuelven del lado del servidor a IDs de campo — pase esto en lugar de 'fields' cuando solo conozca los nombres legibles. Mutuamente excluyente con 'fields' — proporcione uno, no ambos. Solo se usa para el método 'get_project_item'. (cadena[], opcional)
fields: Lista específica de IDs de campo a incluir en la respuesta al obtener un elemento del proyecto (ej. ["102589", "985201", "169875"]). Si no se proporciona ni 'fields' ni 'field_names', solo se incluye el campo de título. Mutuamente excluyente con 'field_names' — proporcione uno, no ambos. Solo se usa para el método 'get_project_item'. (cadena[], opcional)
item_id: El ID del elemento. Requerido para el método 'get_project_item'. (número, opcional)
method: El método a ejecutar (cadena, requerido)
owner: El propietario (usuario o nombre de organización). El nombre no distingue mayúsculas de minúsculas. (cadena, opcional)
owner_type: Tipo de propietario (user u org). Si no se proporciona, se detectará automáticamente. (cadena, opcional)
project_number: El número del proyecto. (número, opcional)
status_update_id: El ID de nodo de la actualización de estado del proyecto. Requerido para el método 'get_project_status_update'. (cadena, opcional)
projects_list - Listar recursos de GitHub Projects
Ámbitos de OAuth requeridos: read:project
Ámbitos de OAuth aceptados: project, read:project
after: Cursor de paginación hacia adelante del nextCursor previo de pageInfo. (cadena, opcional)
before: Cursor de paginación hacia atrás del prevCursor previo de pageInfo (raro). (cadena, opcional)
field_names: Nombres de campo a incluir al listar elementos del proyecto (ej. ["Status", "Priority"]). Se resuelven del lado del servidor a IDs de campo — pase esto en lugar de 'fields' cuando solo conozca los nombres legibles. Los nombres que no se resuelvan devuelven un error estructurado. Mutuamente excluyente con 'fields' — proporcione uno, no ambos. Solo se usa para el método 'list_project_items'. (cadena[], opcional)
fields: IDs de campo a incluir al listar elementos del proyecto (ej. ["102589", "985201"]). CRÍTICO: Proporcione siempre para obtener valores de campo. Sin esto (y sin 'field_names'), solo se devuelven títulos. Mutuamente excluyente con 'field_names' — proporcione uno, no ambos. Solo se usa para el método 'list_project_items'. (cadena[], opcional)
method: La acción a realizar (cadena, requerido)
owner: El propietario (usuario o nombre de organización). El nombre no distingue mayúsculas de minúsculas. (cadena, requerido)
owner_type: Tipo de propietario (user u org). Si no se proporciona, se intentará automáticamente con ambos. (cadena, opcional)
per_page: Resultados por página (máx 50) (número, opcional)
project_number: El número del proyecto. Requerido para los métodos 'list_project_fields', 'list_project_items' y 'list_project_status_updates'. (número, opcional)
query: Cadena de filtro/consulta. Para list_projects: filtrar por texto de título y estado (ej. "roadmap is:open"). Para list_project_items: filtrado avanzado usando la sintaxis de filtrado de proyectos de GitHub. (cadena, opcional)
projects_write - Gestionar GitHub Projects
Ámbitos de OAuth requeridos: project
body: El cuerpo de la actualización de estado (markdown). Se usa para el método 'create_project_status_update'. (cadena, opcional)
field_name: El nombre del campo de iteración (ej. 'Sprint'). Requerido para el método 'create_iteration_field'. (cadena, opcional)
issue_number: El número de la incidencia. Requerido para 'add_project_item' cuando item_type es 'issue'. También aceptado por 'update_project_item' para resolver el elemento por número de incidencia (combinar con item_owner e item_repo). (número, opcional)
item_id: El ID del elemento del proyecto. Requerido para 'delete_project_item'. Para 'update_project_item', proporcione item_id, o (item_owner + item_repo + issue_number) para resolver el elemento por incidencia. (número, opcional)
item_owner: El propietario (usuario u organización) del repositorio que contiene la incidencia o pull request. Requerido para el método 'add_project_item'. También aceptado por 'update_project_item' al resolver el elemento por número de incidencia. (cadena, opcional)
item_repo: El nombre del repositorio que contiene la incidencia o pull request. Requerido para el método 'add_project_item'. También aceptado por 'update_project_item' al resolver el elemento por número de incidencia. (cadena, opcional)
item_type: El tipo del elemento, ya sea issue o pull_request. Requerido para el método 'add_project_item'. (cadena, opcional)
iteration_duration: Duración en días para las iteraciones del campo (ej. 7 para semanal, 14 para quincenal). Requerido para el método 'create_iteration_field'. (número, opcional)
iterations: Iteraciones personalizadas para el método 'create_iteration_field'. Establezca esto solo cuando necesite iteraciones con duraciones variables, pausas entre ellas o títulos específicos. De lo contrario, omítalo: GitHub crea automáticamente tres iteraciones de 'iteration_duration' días a partir de 'start_date', que es la opción correcta para la mayoría de los casos. (objeto[], opcional)
method: El método a ejecutar (cadena, requerido)
owner: El propietario del proyecto (usuario o nombre de organización). El nombre no distingue mayúsculas de minúsculas. (cadena, requerido)
owner_type: Tipo de propietario (user u org). Requerido para el método 'create_project'. Si no se proporciona para otros métodos, se detectará automáticamente. (cadena, opcional)
project_number: El número del proyecto. Requerido para todos los métodos excepto 'create_project'. (número, opcional)
pull_request_number: El número de la pull request (úselo cuando item_type sea 'pull_request' para el método 'add_project_item'). Proporcione issue_number o pull_request_number. (número, opcional)
start_date: Fecha de inicio en formato AAAA-MM-DD. Se usa para los métodos 'create_project_status_update' y 'create_iteration_field'. (cadena, opcional)
status: El estado del proyecto. Se usa para el método 'create_project_status_update'. (cadena, opcional)
target_date: La fecha objetivo de la actualización de estado en formato AAAA-MM-DD. Se usa para el método 'create_project_status_update'. (cadena, opcional)
title: El título del proyecto. Requerido para el método 'create_project'. (cadena, opcional)
updated_field: Objeto que describe el campo a actualizar y su nuevo valor. Requerido para 'update_project_item'. Se aceptan dos formas: (1) por ID — {"id": 123456, "value": "..."}; (2) por nombre — {"name": "Status", "value": "In Progress"}. Para campos de selección única, la resolución del nombre de opción requiere la forma por nombre; en la forma por ID, pase el ID de la opción. Establezca value a null para limpiar el campo. (objeto, opcional)
Pull Requests
add_comment_to_pending_review - Agregar comentario de revisión a la última revisión de pull request pendiente del solicitante
Ámbitos de OAuth requeridos: repo
body: El texto del comentario de revisión (cadena, requerido)
line: La línea del blob en el diff de la pull request a la que se aplica el comentario. Para comentarios de varias líneas, la última línea del rango (número, opcional)
owner: Propietario del repositorio (cadena, requerido)
path: La ruta relativa al archivo que necesita un comentario (cadena, requerido)
pullNumber: Número de pull request (número, requerido)
repo: Nombre del repositorio (cadena, requerido)
side: El lado del diff en el que comentar. LEFT indica el estado anterior, RIGHT indica el nuevo estado (cadena, opcional)
startLine: Para comentarios de varias líneas, la primera línea del rango al que se aplica el comentario (número, opcional)
startSide: Para comentarios de varias líneas, el lado inicial del diff al que se aplica el comentario. LEFT indica el estado anterior, RIGHT indica el nuevo estado (cadena, opcional)
subjectType: El nivel al que se dirige el comentario (cadena, requerido)
add_reply_to_pull_request_comment - Agregar respuesta a comentario de pull request
Ámbitos de OAuth requeridos: repo
body: El texto de la respuesta. Requerido a menos que se proporcione reacción. (cadena, opcional)
commentId: El ID numérico del comentario de revisión de pull request a responder o reaccionar. Use el número de un ancla #discussion_r..., no el ID de nodo de hilo GraphQL (PRRT_...). (número, requerido)
owner: Propietario del repositorio (cadena, requerido)
pullNumber: Número de pull request. Requerido cuando se proporciona cuerpo. (número, opcional)
reaction: Reacción emoji a agregar. Requerido a menos que se proporcione cuerpo. (cadena, opcional)
repo: Nombre del repositorio (cadena, requerido)
create_pull_request - Abrir nueva pull request
Ámbitos de OAuth requeridos: repo
base: Rama en la que fusionar (cadena, requerido)
body: Descripción de la PR (cadena, opcional)
draft: Crear como PR borrador (booleano, opcional)
head: Rama que contiene los cambios (cadena, requerido)
maintainer_can_modify: Permitir ediciones del mantenedor (booleano, opcional)
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
reviewers: Nombres de usuario de GitHub o revisores de equipo ORG/team-slug para solicitar revisiones (cadena[], opcional)
title: Título de la PR (cadena, requerido)
list_pull_requests - Listar pull requests
Ámbitos de OAuth requeridos: repo
base: Filtrar por rama base (cadena, opcional)
direction: Dirección de ordenación (cadena, opcional)
head: Filtrar por usuario/org de cabeza y rama (cadena, opcional)
owner: Propietario del repositorio (cadena, requerido)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: Nombre del repositorio (cadena, requerido)
sort: Ordenar por (cadena, opcional)
state: Filtrar por estado (cadena, opcional)
merge_pull_request - Fusionar pull request
Ámbitos de OAuth requeridos: repo
commit_message: Detalle extra para el commit de fusión (cadena, opcional)
commit_title: Título para el commit de fusión (cadena, opcional)
merge_method: Método de fusión (cadena, opcional)
owner: Propietario del repositorio (cadena, requerido)
pullNumber: Número de pull request (número, requerido)
repo: Nombre del repositorio (cadena, requerido)
pull_request_read - Obtener detalles de una única solicitud de extracción
Ámbitos de OAuth requeridos: repo
after: Cursor para paginación, usado solo por el método get_review_comments. Pasa el endCursor del PageInfo de la página anterior para obtener la siguiente página. (cadena, opcional)
method: Acción para especificar qué datos de la solicitud de extracción se deben recuperar de GitHub.
Opciones posibles:
get - Obtener detalles de una solicitud de extracción específica.
get_diff - Obtener el diff de una solicitud de extracción.
get_status - Obtener el estado combinado de los commits de la cabeza en una solicitud de extracción.
get_files - Obtener la lista de archivos modificados en una solicitud de extracción. Usar con parámetros de paginación para controlar el número de resultados devueltos.
get_commits - Obtener la lista de commits en una solicitud de extracción. Usar con parámetros de paginación para controlar el número de resultados devueltos.
get_review_comments - Obtener hilos de revisión en una solicitud de extracción. Cada hilo contiene comentarios de revisión agrupados lógicamente hechos en la misma ubicación de código durante las revisiones de la solicitud de extracción. Devuelve hilos con metadatos (isResolved, isOutdated, isCollapsed) y sus comentarios asociados. Usa paginación basada en cursor (perPage, after) para controlar los resultados.
get_reviews - Obtener las revisiones de una solicitud de extracción. Cuando se pidan comentarios de revisión, usa el método get_review_comments. Usar con parámetros de paginación para controlar el número de resultados devueltos.
get_comments - Obtener comentarios en una solicitud de extracción. Usa esto si el usuario no quiere específicamente comentarios de revisión. Usar con parámetros de paginación para controlar el número de resultados devueltos.
get_check_runs - Obtener ejecuciones de verificación para el commit de cabeza de una solicitud de extracción. Las ejecuciones de verificación son los trabajos y comprobaciones individuales de CI/CD que se ejecutan en la PR.
(cadena, requerido)
owner: Propietario del repositorio (cadena, requerido)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
pullNumber: Número de solicitud de extracción (número, requerido)
repo: Nombre del repositorio (cadena, requerido)
pull_request_review_write - Operaciones de escritura (crear, enviar, eliminar) en revisiones de solicitudes de extracción
Ámbitos de OAuth requeridos: repo
body: Texto del comentario de revisión (cadena, opcional)
commitID: SHA del commit a revisar (cadena, opcional)
event: Acción de revisión a realizar. (cadena, opcional)
method: La operación de escritura a realizar en la revisión de la solicitud de extracción. (cadena, requerido)
owner: Propietario del repositorio (cadena, requerido)
pullNumber: Número de solicitud de extracción (número, requerido)
repo: Nombre del repositorio (cadena, requerido)
threadId: El ID de nodo del hilo de revisión (ej., PRRT_kwDOxxx). Requerido para los métodos resolve_thread y unresolve_thread. Obtén los IDs de hilo de pull_request_read con el método get_review_comments. (cadena, opcional)
search_pull_requests - Buscar solicitudes de extracción
Ámbitos de OAuth requeridos: repo
order: Orden de clasificación (cadena, opcional)
owner: Propietario del repositorio opcional. Si se proporciona con repo, solo se listan las solicitudes de extracción de este repositorio. (cadena, opcional)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
query: Consulta de búsqueda usando la sintaxis de búsqueda de solicitudes de extracción de GitHub (cadena, requerido)
repo: Nombre del repositorio opcional. Si se proporciona con owner, solo se listan las solicitudes de extracción de este repositorio. (cadena, opcional)
sort: Campo de ordenación por número de coincidencias de categorías, por defecto mejor coincidencia (cadena, opcional)
update_pull_request - Editar solicitud de extracción
Ámbitos de OAuth requeridos: repo
base: Nuevo nombre de rama base (cadena, opcional)
body: Nueva descripción (cadena, opcional)
draft: Marcar solicitud de extracción como borrador (true) o lista para revisión (false) (booleano, opcional)
maintainer_can_modify: Permitir ediciones de mantenedores (booleano, opcional)
owner: Propietario del repositorio (cadena, requerido)
pullNumber: Número de solicitud de extracción a actualizar (número, requerido)
repo: Nombre del repositorio (cadena, requerido)
reviewers: Nombres de usuario de GitHub o revisores de equipo ORG/team-slug para solicitar revisiones (cadena[], opcional)
state: Nuevo estado (cadena, opcional)
title: Nuevo título (cadena, opcional)
update_pull_request_branch - Actualizar rama de solicitud de extracción
Ámbitos de OAuth requeridos: repo
expectedHeadSha: El SHA esperado de la referencia HEAD de la solicitud de extracción (cadena, opcional)
owner: Propietario del repositorio (cadena, requerido)
pullNumber: Número de solicitud de extracción (número, requerido)
repo: Nombre del repositorio (cadena, requerido)
Repositorios
create_branch - Crear rama
Ámbitos de OAuth requeridos: repo
branch: Nombre para la nueva rama (cadena, requerido)
from_branch: Rama de origen (por defecto la rama predeterminada del repositorio) (cadena, opcional)
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
create_or_update_file - Crear o actualizar archivo
Ámbitos de OAuth requeridos: repo
branch: Rama donde crear/actualizar el archivo (cadena, requerido)
content: Contenido del archivo (cadena, requerido)
message: Mensaje de commit (cadena, requerido)
owner: Propietario del repositorio (nombre de usuario u organización) (cadena, requerido)
path: Ruta donde crear/actualizar el archivo (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
sha: El SHA del blob del archivo que se está reemplazando. Requerido si el archivo ya existe. (cadena, opcional)
create_repository - Crear repositorio
Ámbitos de OAuth requeridos: repo
autoInit: Inicializar con README (booleano, opcional)
description: Descripción del repositorio (cadena, opcional)
name: Nombre del repositorio (cadena, requerido)
organization: Organización en la que crear el repositorio (omitir para crear en tu cuenta personal) (cadena, opcional)
private: Si el repositorio debe ser privado. Por defecto true (privado) cuando se omite. (booleano, opcional)
delete_file - Eliminar archivo
Ámbitos de OAuth requeridos: repo
branch: Rama de la que eliminar el archivo (cadena, requerido)
message: Mensaje de commit (cadena, requerido)
owner: Propietario del repositorio (nombre de usuario u organización) (cadena, requerido)
path: Ruta al archivo a eliminar (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
fork_repository - Bifurcar repositorio
Ámbitos de OAuth requeridos: repo
organization: Organización a la que bifurcar (cadena, opcional)
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
get_commit - Obtener detalles del commit
Ámbitos de OAuth requeridos: repo
detail: Nivel de detalle a incluir para los archivos modificados. "none" omite estadísticas y archivos por completo. "stats" (predeterminado) incluye metadatos por archivo: nombre de archivo, estado y recuentos de líneas de código (adiciones, eliminaciones, cambios), sin contenido de parche. "full_patch" incluye adicionalmente el contenido de diff unificado para cada archivo y puede ser muy grande. (cadena, opcional)
owner: Propietario del repositorio (cadena, requerido)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: Nombre del repositorio (cadena, requerido)
sha: SHA del commit, nombre de rama o nombre de etiqueta (cadena, requerido)
get_file_contents - Obtener contenido de archivo o directorio
Ámbitos de OAuth requeridos: repo
owner: Propietario del repositorio (nombre de usuario u organización) (cadena, requerido)
path: Ruta al archivo/directorio (cadena, opcional)
ref: Acepta referencias git opcionales como refs/tags/{tag}, refs/heads/{branch} o refs/pull/{pr_number}/head (cadena, opcional)
repo: Nombre del repositorio (cadena, requerido)
sha: Acepta SHA de commit opcional. Si se especifica, se usará en lugar de ref (cadena, opcional)
get_latest_release - Obtener última versión
Ámbitos de OAuth requeridos: repo
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
get_release_by_tag - Obtener una versión por nombre de etiqueta
Ámbitos de OAuth requeridos: repo
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
tag: Nombre de etiqueta (ej., 'v1.0.0') (cadena, requerido)
get_tag - Obtener detalles de etiqueta
Ámbitos de OAuth requeridos: repo
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
tag: Nombre de etiqueta (cadena, requerido)
list_branches - Listar ramas
Ámbitos de OAuth requeridos: repo
owner: Propietario del repositorio (cadena, requerido)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: Nombre del repositorio (cadena, requerido)
list_commits - Listar commits
Ámbitos de OAuth requeridos: repo
author: Nombre de usuario o correo electrónico del autor para filtrar commits (cadena, opcional)
owner: Propietario del repositorio (cadena, requerido)
page: Número de página para paginación (mín 1) (número, opcional)
path: Solo se devolverán los commits que contengan esta ruta de archivo (cadena, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: Nombre del repositorio (cadena, requerido)
sha: SHA de commit, rama o nombre de etiqueta para listar commits. Si no se proporciona, usa la rama predeterminada del repositorio. Si se proporciona un SHA de commit, listará los commits hasta ese SHA. (cadena, opcional)
since: Solo se devolverán los commits posteriores a esta fecha (formato ISO 8601: YYYY-MM-DDTHH:MM:SSZ o YYYY-MM-DD) (cadena, opcional)
until: Solo se devolverán los commits anteriores a esta fecha (formato ISO 8601: YYYY-MM-DDTHH:MM:SSZ o YYYY-MM-DD) (cadena, opcional)
list_releases - Listar versiones
Ámbitos de OAuth requeridos: repo
owner: Propietario del repositorio (cadena, requerido)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: Nombre del repositorio (cadena, requerido)
list_repository_collaborators - Listar colaboradores del repositorio
Ámbitos de OAuth requeridos: repo
affiliation: Filtrar por afiliación. Puede ser uno de: 'outside' (colaboradores externos), 'direct' (todos con permisos independientemente de la membresía en la organización), 'all' (todos los colaboradores). Predeterminado: 'all' (cadena, opcional)
owner: Propietario del repositorio (cadena, requerido)
page: Número de página para paginación (predeterminado 1, mín 1) (número, opcional)
perPage: Resultados por página para paginación (predeterminado 30, mín 1, máx 100) (número, opcional)
repo: Nombre del repositorio (cadena, requerido)
list_tags - Listar etiquetas
Ámbitos de OAuth requeridos: repo
owner: Propietario del repositorio (cadena, requerido)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: Nombre del repositorio (cadena, requerido)
push_files - Subir archivos al repositorio
Ámbitos de OAuth requeridos: repo
branch: Rama a la que subir (cadena, requerido)
files: Arreglo de objetos de archivo a subir, cada objeto con ruta (cadena) y contenido (cadena) (objeto[], requerido)
message: Mensaje de commit (cadena, requerido)
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
search_code - Buscar código
Ámbitos de OAuth requeridos: repo
order: Orden de clasificación para los resultados (cadena, opcional)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
query: Consulta de búsqueda (API REST de búsqueda de código de GitHub). AND implícito entre términos; admite OR, NOT y "quoted phrase" para coincidencia exacta. Calificadores: repo:owner/repo, org:, user:, language:, path:dir (coincidencia de prefijo), filename:exact.ext, extension:, in:file, in:path, size:, is:archived, is:fork. Máx 256 caracteres. Ejemplos: WithContext language:go org:github; "package main" repo:o/r; func extension:go path:cmd repo:o/r; NOT TODO language:go repo:o/r. (cadena, requerido)
sort: Campo de ordenación (solo 'indexed') (cadena, opcional)
search_commits - Buscar commits
Ámbitos de OAuth requeridos: repo
order: Orden de clasificación (cadena, opcional)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
query: Consulta de búsqueda de commits (API REST de búsqueda de commits de GitHub). Busca mensajes de commit solo en la rama predeterminada. Acota la búsqueda con repo:owner/repo, org: o user: (las consultas sin un calificador de ámbito coinciden en todo GitHub y generalmente no son lo que deseas). Otros calificadores: author:, committer:, author-name:, committer-name:, author-email:, committer-email:, author-date:, committer-date: (admite rangos >, <, >=, <= y YYYY-MM-DD..YYYY-MM-DD), merge:true|false, hash:, tree:, parent:, is:public. Ejemplos: repo:owner/repo fix panic; org:github author:defunkt committer-date:>=2024-01-01; "refactor cache" repo:o/r; hash:abc1234 repo:o/r. (cadena, requerido)
sort: Ordenar por fecha del autor o del committer (por defecto, mejor coincidencia) (cadena, opcional)
search_repositories - Buscar repositorios
Ámbitos de OAuth requeridos: repo
minimal_output: Devolver información mínima del repositorio (predeterminado: true). Cuando es false, devuelve objetos completos de repositorio de la API de GitHub. (booleano, opcional)
order: Orden de clasificación (cadena, opcional)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
query: Consulta de búsqueda de repositorios. Ejemplos: 'machine learning in:name stars:>1000 language:python', 'topic:react', 'user:facebook'. Admite sintaxis de búsqueda avanzada para filtrado preciso. (cadena, requerido)
sort: Ordenar repositorios por campo, por defecto mejor coincidencia (cadena, opcional)
Protección de Secretos
get_secret_scanning_alert - Obtener alerta de escaneo de secretos
Ámbitos de OAuth requeridos: security_events
Ámbitos de OAuth aceptados: repo, security_events
alertNumber: El número de la alerta. (número, requerido)
owner: El propietario del repositorio. (cadena, requerido)
repo: El nombre del repositorio. (cadena, requerido)
list_secret_scanning_alerts - Listar alertas de escaneo de secretos
Ámbitos de OAuth requeridos: security_events
Ámbitos de OAuth aceptados: repo, security_events
owner: El propietario del repositorio. (cadena, requerido)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: El nombre del repositorio. (cadena, requerido)
resolution: Filtrar por resolución (cadena, opcional)
secret_type: Una lista separada por comas de tipos de secretos a devolver. Se devuelven todos los patrones de secretos predeterminados. Para devolver patrones genéricos, pasa el/los nombre(s) del token en el parámetro. (cadena, opcional)
state: Filtrar por estado (cadena, opcional)
Avisos de Seguridad
get_global_security_advisory - Obtener un aviso de seguridad global
Ámbitos de OAuth requeridos: security_events
Ámbitos de OAuth aceptados: repo, security_events
ghsaId: ID del Aviso de Seguridad de GitHub (formato: GHSA-xxxx-xxxx-xxxx). (cadena, requerido)
list_global_security_advisories - Listar avisos de seguridad globales
Ámbitos de OAuth requeridos: security_events
Ámbitos de OAuth aceptados: repo, security_events
affects: Filtrar avisos por paquete o versión afectados (ej. "paquete1,paquete2@1.0.0"). (cadena, opcional)
cveId: Filtrar por ID de CVE. (cadena, opcional)
cwes: Filtrar por IDs de Enumeración de Debilidades Comunes (ej. ["79", "284", "22"]). (cadena[], opcional)
ecosystem: Filtrar por ecosistema de paquete. (cadena, opcional)
ghsaId: Filtrar por ID del Aviso de Seguridad de GitHub (formato: GHSA-xxxx-xxxx-xxxx). (cadena, opcional)
isWithdrawn: Si solo se deben devolver avisos retirados. (booleano, opcional)
modified: Filtrar por fecha de publicación o actualización o rango de fechas (fecha ISO 8601 o rango). (cadena, opcional)
published: Filtrar por fecha de publicación o rango de fechas (fecha ISO 8601 o rango). (cadena, opcional)
severity: Filtrar por severidad. (cadena, opcional)
type: Tipo de aviso. (cadena, opcional)
updated: Filtrar por fecha de actualización o rango de fechas (fecha ISO 8601 o rango). (cadena, opcional)
list_org_repository_security_advisories - Listar avisos de seguridad de repositorios de la organización
Ámbitos de OAuth requeridos: security_events
Ámbitos de OAuth aceptados: repo, security_events
direction: Dirección de ordenación. (cadena, opcional)
org: El login de la organización. (cadena, requerido)
sort: Campo de ordenación. (cadena, opcional)
state: Filtrar por estado del aviso. (cadena, opcional)
list_repository_security_advisories - Listar avisos de seguridad del repositorio
Ámbitos de OAuth requeridos: security_events
Ámbitos de OAuth aceptados: repo, security_events
direction: Dirección de ordenación. (cadena, opcional)
owner: El propietario del repositorio. (cadena, requerido)
repo: El nombre del repositorio. (cadena, requerido)
sort: Campo de ordenación. (cadena, opcional)
state: Filtrar por estado del aviso. (cadena, opcional)
Stargazers
list_starred_repositories - Listar repositorios con estrellas
Ámbitos de OAuth requeridos: repo
direction: La dirección para ordenar los resultados. (cadena, opcional)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
sort: Cómo ordenar los resultados. Puede ser 'created' (cuándo se marcó el repositorio con estrella) o 'updated' (cuándo fue el último push al repositorio). (cadena, opcional)
username: Nombre de usuario para listar sus repositorios con estrellas. Por defecto, el usuario autenticado. (cadena, opcional)
star_repository - Marcar repositorio con estrella
Ámbitos de OAuth requeridos: repo
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
unstar_repository - Quitar estrella a repositorio
Ámbitos de OAuth requeridos: repo
owner: Propietario del repositorio (cadena, requerido)
repo: Nombre del repositorio (cadena, requerido)
Usuarios
search_users - Buscar usuarios
Ámbitos de OAuth requeridos: repo
order: Orden de clasificación (cadena, opcional)
page: Número de página para paginación (mín 1) (número, opcional)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
query: Consulta de búsqueda de usuarios. Ejemplos: 'john smith', 'location:seattle', 'followers:>100'. La búsqueda se limita automáticamente a type:user. (cadena, requerido)
sort: Ordenar usuarios por número de seguidores o repositorios, o por cuándo se unieron a GitHub. (cadena, opcional)
Herramientas Adicionales en el Servidor MCP Remoto de GitHub
Copilot
create_pull_request_with_copilot - Realizar tarea con el agente de codificación de GitHub Copilot
owner: Propietario del repositorio. Puedes adivinar el propietario, pero confírmalo con el usuario antes de proceder. (cadena, requerido)
repo: Nombre del repositorio. Puedes adivinar el nombre del repositorio, pero confírmalo con el usuario antes de proceder. (cadena, requerido)
problem_statement: Descripción detallada de la tarea a realizar (ej., 'Implementar una funcionalidad que haga X', 'Corregir bug Y', etc.) (cadena, requerido)
title: Título para la pull request que se creará (cadena, requerido)
base_ref: Referencia de Git (ej., rama) desde la que el agente comenzará su trabajo. Si no se especifica, se usa la rama predeterminada del repositorio (cadena, opcional)
Copilot Spaces
Nota de autenticación
Los PAT de grano fino no se ocultan mediante el filtrado de ámbito de los PAT clásicos, por lo que estas herramientas pueden seguir apareciendo incluso cuando el token no puede usarlas.
Para espacios propiedad de una organización, los PAT de grano fino deben instalarse en la organización propietaria e incluir organization_copilot_spaces: read.
Si un espacio propiedad de una organización contiene recursos respaldados por repositorios, el token también debe tener acceso a cada repositorio referenciado o el espacio podría tratarse como no encontrado.
get_copilot_space - Obtener Espacio de Copilot
owner: El propietario del espacio. (cadena, requerido)
name: El nombre del espacio. (cadena, requerido)
list_copilot_spaces - Listar Espacios de Copilot
Búsqueda en Documentos de Soporte de GitHub
- **github_support_docs_search** - Recupera documentación relevante para responder preguntas sobre productos y soporte de GitHub. Los temas de soporte incluyen: Flujos de trabajo de GitHub Actions, Autenticación, Consultas de soporte de GitHub, Prácticas de Pull Request, Mantenimiento de repositorios, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces
- `query`: Entrada del usuario sobre la pregunta que necesita responder. Este es el último mensaje del usuario sin editar. SIEMPRE debes dejar el mensaje del usuario tal como está, nunca debes modificarlo. (cadena, obligatorio)
Modo de solo lectura
Para ejecutar el servidor en modo de solo lectura, puedes usar la bandera --read-only. Esto solo ofrecerá herramientas de solo lectura, evitando cualquier modificación en repositorios, issues, pull requests, etc.
./github-mcp-server --read-only
Al usar Docker, puedes pasar el modo de solo lectura como una variable de entorno:
El modo de bloqueo limita el contenido que el servidor mostrará de repositorios públicos. Cuando está habilitado, el servidor verifica si el autor de cada elemento tiene acceso de escritura al repositorio. Los repositorios privados no se ven afectados y los colaboradores mantienen acceso completo a su propio contenido.
./github-mcp-server --lockdown-mode
Al ejecutar con Docker, establece la variable de entorno correspondiente:
El comportamiento del modo de bloqueo depende de la herramienta invocada.
Las siguientes herramientas devolverán un error cuando el autor carezca de acceso de escritura:
issue_read:get
pull_request_read:get
Las siguientes herramientas filtrarán el contenido de usuarios que carezcan de acceso de escritura:
issue_read:get_comments
issue_read:get_sub_issues
pull_request_read:get_comments
pull_request_read:get_review_comments
pull_request_read:get_reviews
i18n / Sobrescribir descripciones
Las descripciones de las herramientas se pueden sobrescribir creando un archivo
github-mcp-server-config.json en el mismo directorio que el binario.
El archivo debe contener un objeto JSON con los nombres de las herramientas como claves y las nuevas
descripciones como valores. Por ejemplo:
{
"TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
"TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}
Puedes crear una exportación de las traducciones actuales ejecutando el binario con
la bandera --export-translations.
Esta bandera preservará cualquier traducción/sobrescritura que hayas realizado, mientras agrega
cualquier traducción nueva que se haya añadido al binario desde la última vez que
exportaste.
También puedes usar variables de entorno para sobrescribir las descripciones. Los nombres de las variables
de entorno son los mismos que las claves en el archivo JSON, con el prefijo
GITHUB_MCP_ y todo en mayúsculas.
Por ejemplo, para sobrescribir la herramienta TOOL_ADD_ISSUE_COMMENT_DESCRIPTION, puedes
establecer la siguiente variable de entorno:
export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"
Sobrescribir nombre y título del servidor
El mismo mecanismo de sobrescritura se puede usar para personalizar los campos name y
title del servidor MCP en la respuesta de inicialización. Esto es útil al ejecutar
múltiples instancias del Servidor MCP de GitHub (por ejemplo, una para github.com y otra para
GitHub Enterprise Server) para que los agentes puedan distinguirlas.
Clave
Variable de entorno
Valor predeterminado
SERVER_NAME
GITHUB_MCP_SERVER_NAME
github-mcp-server
SERVER_TITLE
GITHUB_MCP_SERVER_TITLE
GitHub MCP Server
Por ejemplo, para configurar una instancia de servidor para GitHub Enterprise Server:
La API Go exportada de este módulo debe considerarse actualmente inestable y sujeta a cambios disruptivos. En el futuro, podríamos ofrecer estabilidad; por favor, abre un issue si hay un caso de uso donde esto sería valioso.
Contribuciones
Las contribuciones son bienvenidas. Antes de abrir un pull request, lee la guía de contribución para obtener instrucciones sobre configuración, pruebas, linting y generación de documentación.
Soporte
Para obtener ayuda sobre el uso del Servidor MCP de GitHub, consulta la guía de soporte. Si has encontrado un error o deseas solicitar una función, por favor busca en los issues existentes antes de abrir uno nuevo.
Seguridad
Por favor, no reportes vulnerabilidades de seguridad a través de issues públicos. Sigue las instrucciones en la política de seguridad para reportar vulnerabilidades de manera responsable.
Licencia
Este proyecto está licenciado bajo los términos de la licencia de código abierto MIT. Consulta MIT para los términos completos.