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.
Exploración de repositorios — Pídele a tu asistente que navegue por el código, busque archivos y analice confirmaciones en cualquier repositorio al que tengas acceso.
Gestión de issues y PRs — Haz que la IA cree, actualice y clasifique issues y pull requests, incluida la revisión de cambios de código.
Monitoreo de CI/CD — Obtén información sobre las ejecuciones de flujos de trabajo de GitHub Actions, analiza fallos de compilación y gestiona lanzamientos.
Análisis de seguridad — Examina los hallazgos del escaneo de código y revisa las alertas de Dependabot para detectar vulnerabilidades.
Colaboración en equipo — Accede a discusiones, gestiona notificaciones y analiza la actividad del equipo en tus proyectos.
Servidor MCP alojado
npx add-mcp 'https://api.githubcopilot.com/mcp/'
Se instala en Claude Code, Codex, Cursor y más
Documentación
Servidor GitHub MCP
El Servidor GitHub MCP conecta herramientas de IA directamente con la plataforma de GitHub. Esto brinda a agentes de IA, asistentes y chatbots la capacidad de leer repositorios y archivos de código, gestionar issues y PRs, analizar código y automatizar flujos de trabajo. Todo a través de interacciones en lenguaje natural.
Casos de uso
Gestión de repositorios: Explora y consulta código, busca archivos, analiza commits y comprende la estructura del proyecto en cualquier repositorio al que tengas acceso.
Automatización de issues y PRs: Crea, actualiza y gestiona issues y pull requests. Permite que la IA ayude a clasificar errores, revisar cambios de código y mantener tableros de proyecto.
Inteligencia de CI/CD y flujos de trabajo: Monitorea ejecuciones de flujos de trabajo 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 integral 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 con el contexto y las capacidades de GitHub, desde consultas simples en lenguaje natural hasta flujos de trabajo complejos de agentes multi-paso.
Uso del módulo Go
La ruta del módulo Go es github.com/github/github-mcp-server/v2. Los consumidores de la biblioteca
deben usar este prefijo en los imports, por ejemplo
github.com/github/github-mcp-server/v2/pkg/github, y en comandos go get.
No se necesita el subdirectorio /v2 al compilar desde un checkout del repositorio.
La etiqueta v2.0.0 existente es anterior a esta corrección de la ruta del módulo y no se puede usar
como módulo Go. Después de que este cambio se fusione, se debe etiquetar un nuevo lanzamiento como v2.0.1
desde un commit que contenga la ruta del módulo corregida. Hasta entonces,
los consumidores pueden usar una pseudo-versión de un commit que contenga este cambio.
Servidor GitHub MCP remoto
El Servidor GitHub MCP remoto está alojado por GitHub y proporciona el método más sencillo para ponerse en marcha. Si tu host MCP no admite servidores MCP remotos, ¡no te preocupes! Puedes usar la versión local del Servidor GitHub MCP en su lugar.
Requisitos previos
Un host MCP compatible con soporte para servidores remotos (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, etc.)
Para una instalación rápida, usa uno de los botones de instalación con un clic de arriba. Una vez que completes ese flujo, activa el modo Agente (ubicado junto al campo de texto de Copilot Chat) y el servidor se iniciará. Asegúrate de usar 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 tu configuración de host:
Rovo Dev CLI - Guía de instalación para Rovo Dev CLI
Nota: Cada aplicación host MCP necesita configurar una GitHub App o OAuth App para admitir acceso remoto mediante OAuth. Cualquier aplicación host que admita servidores MCP remotos debería admitir 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 obtener más información.
Configuración
Configuración del conjunto de herramientas
Consulta la Documentación del servidor remoto para obtener todos los detalles sobre la configuración del servidor remoto, conjuntos de herramientas, encabezados y uso avanzado. Este archivo proporciona instrucciones y ejemplos completos para conectar, personalizar e instalar el Servidor GitHub MCP remoto en VS Code y otros hosts MCP.
¡Prueba las nuevas funciones antes que nadie! El servidor remoto ofrece una versión insiders con acceso anticipado a nuevas funciones y herramientas experimentales.
Nota: Al usar OAuth con GitHub Enterprise en VS Code y GitHub Copilot, también debes configurar los ajustes de VS Code para apuntar a tu instancia de GitHub Enterprise; consulta Autenticación desde VS Code
Para ejecutar el servidor en un contenedor, necesitarás tener Docker instalado.
Una vez que Docker esté instalado, también deberá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 hacer pull, es posible que tengas un token caducado y necesites docker logout ghcr.io.
Autenticación. En github.com no necesitas crear nada de antemano: los botones de un clic de arriba te inician sesión 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 ver cómo funciona, el respaldo sin interfaz/código de dispositivo, y cómo traer tu propio 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 obtener más información sobre 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 de variables de entorno varía según la aplicación host y el IDE. Algunas aplicaciones (como Windsurf) requieren tokens codificados en archivos de configuración.
Mejores prácticas de seguridad de tokens
Ámbitos mínimos: Solo otorga los permisos necesarios
repo - Operaciones de repositorio
read:packages - Acceso a imágenes de Docker
read:org - Acceso a equipos de organización
Tokens separados: Usa diferentes PATs para diferentes proyectos/entornos
Rotación regular: Actualiza los tokens periódicamente
Nunca hagas commit: Mantén los tokens fuera del control de versiones
Permisos de archivos: Restringe el acceso a archivos de configuración que contengan 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 configurar
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 de URI https://. HTTPS es obligatorio y se aplica: los hosts sin HTTPS son rechazados para que las credenciales nunca se envíen en texto claro (la única excepción es un host de loopback como http://localhost para desarrollo local).
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 con un clic de arriba. Una vez que completes ese flujo, activa el modo Agente (ubicado junto al campo de texto de Copilot Chat) y el servidor se iniciará.
Instalación 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 aplicación, por lo que no necesitas proporcionar 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 requiere 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 con binario nativo (sin necesidad de puerto fijo), el respaldo sin interfaz/código de dispositivo, GitHub Enterprise Server / ghe.com, y cómo traer tu propio OAuth o GitHub App.
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 admita 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.
Las solicitudes de API STDIO identifican el servidor como github-mcp-server/<version> y conservan el nombre/versión del cliente MCP ascendente entre paréntesis cuando está disponible. Los caracteres de control, comillas, barras invertidas y paréntesis en los metadatos del cliente se escapan para que el encabezado HTTP siga siendo válido; los nombres, versiones, espacios y Unicode imprimible ordinarios se conservan. Las compilaciones de lanzamiento mantienen su versión de lanzamiento. Las compilaciones de origen y las compilaciones predeterminadas de Docker con metadatos de revisión usan vcs-<full-commit-sha>. El flujo de trabajo de publicación de Docker conserva las versiones de etiquetas, incluidas las versiones preliminares, y permite que las compilaciones de ramas, solicitudes de extracción y nocturnas usen la revisión de origen vinculada. El marcador -dirty se aplica solo cuando tanto la revisión como el estado modificado provienen de metadatos VCS integrados, nunca a un main.commit válido y proporcionado explícitamente. Este es un identificador de compilación VCS, no un número de lanzamiento.
Compila el paquete completo con go build -o github-mcp-server ./cmd/github-mcp-server desde un checkout de Git para incrustar su revisión VCS. Para compilaciones sin metadatos VCS, proporciona el lanzamiento real con -ldflags '-X main.version=<release>' o la revisión de origen completa con -ldflags '-X main.commit=<sha>'. Los metadatos válidos se seleccionan en este orden: lanzamiento explícito, revisión de origen explícita, revisión VCS integrada y luego la versión del módulo principal instalado. Las revisiones explícitas válidas siguen siendo autoritativas incluso si el filtrado del contexto de compilación cambia los metadatos VCS integrados. Los candidatos faltantes o malformados pasan a la siguiente fuente utilizable. Si no hay ninguna disponible, STDIO aún se inicia con la etiqueta de desarrollo dev y emite una advertencia en stderr, dejando stdout disponible para el protocolo MCP. Proporciona metadatos de lanzamiento o revisión reales cuando se necesite atribución específica de versión.
El servidor MCP de GitHub admite 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. Los Recursos y Prompts MCP relevantes también se incluyen 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.
Especificación de conjuntos de herramientas
Para especificar los conjuntos de herramientas que deseas 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.
Especificación de 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 de herramientas 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 mediante --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 iniciarse con un mensaje de error
Cuando se renombran herramientas, los nombres antiguos se conservan como alias para compatibilidad con versiones anteriores. Consulta Renombramiento de herramientas para más detalles.
Uso de conjuntos de herramientas con Docker
Cuando uses Docker, puedes pasar los conjuntos de herramientas como variables de entorno:
Cuando uses 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
Muy 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 de GitHub
code_security
Herramientas relacionadas con la seguridad del código, como GitHub Code Scanning
copilot
Herramientas relacionadas con Copilot
copilot_issue_intents
Herramientas opcionales de asignación de problemas de Copilot que llevan metadatos de intención (justificación, confianza, sugerencia)
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
governance
Herramientas de gobernanza de repositorios para gestionar reglas y propiedades personalizadas a nivel de repositorio, organización y empresa
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 GitHub Secret Scanning
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 remoto de GitHub
Conjunto de herramientas
Descripción
copilot
Herramientas relacionadas con Copilot (por ejemplo, Copilot Coding Agent)
copilot_spaces
Herramientas relacionadas con Copilot Spaces
github_support_docs_search
Buscar documentos para responder preguntas sobre productos y soporte de GitHub
Herramientas
Las herramientas de repositorio exponen esquemas de salida y structuredContent tipados cuando la versión del protocolo MCP negociada es una versión compatible 2026-07-28 o más reciente. Los clientes más antiguos, los clientes con una versión de protocolo desconocida y los clientes que omiten la versión reciben el contenido existente sin un esquema de salida ni salida estructurada. Las versiones desconocidas no se tratan como compatibles simplemente porque se ordenan después de 2026-07-28.
Para get_file_contents, los resultados de directorio (incluidas las proyecciones de campos) son matrices estructuradas. Las descargas de archivos y las respuestas solo de metadatos usan una matriz content de bloques de texto tipado, recurso incrustado o enlace de recurso, conservando mensajes de estado, texto, blobs base64, archivos vacíos y enlaces de descarga. Las mutaciones de repositorio solo de texto, como marcar con estrella y eliminar, también devuelven un message estructurado; las respuestas de bifurcación distinguen una referencia de repositorio de un mensaje en curso. La eliminación de repositorios aún requiere su flujo de confirmación existente antes de devolver un resultado completado.
Los resultados estructurados de repositorios utilizan DTOs compactos en lugar de objetos REST sin procesar. Las búsquedas de lanzamientos comparten la forma compacta de lanzamiento con los listados de lanzamientos; las referencias de Git conservan la ref, el tipo de objeto y el SHA; las etiquetas anotadas conservan la información de etiqueta/mensaje/etiquetador/objetivo; los commits de eliminación conservan SHA, mensaje, autores, SHA de árbol, SHA de padres y un html_url legible para humanos cuando está disponible. Las entradas de directorio conservan metadatos de archivo y enlaces HTML/descarga útiles, pero omiten las URL de enrutamiento de API e hipermedia incluso cuando esos campos fueron solicitados en una proyección. Las versiones de protocolo heredadas y desconocidas conservan el texto original byte por byte; las respuestas JSON modernas de solo texto serializan el mismo DTO compacto que structuredContent. Los bloques de recursos no textuales y los errores de herramientas conservan su comportamiento de contenido existente. Las proyecciones estructuradas utilizan la misma fuente saneada y filtrada que el formateador heredado.
Para get_repository_tree, list_gists, get_gist, create_gist y update_gist, los resultados de gists conservan nombres de archivo, contenidos, tamaños, información de idioma/tipo, marcas de tiempo, visibilidad y perfiles de propietario compactos, mientras omiten las URL de API/nodo y transporte de Git. Las entradas de árbol omiten sus URL de API derivables. Los resultados de crear/actualizar gist contienen el ID del gist y la URL HTML. El texto JSON moderno y el contenido estructurado serializan el mismo resultado compacto. Las versiones de protocolo más antiguas o desconocidas conservan el texto heredado byte por byte sin un esquema de salida o contenido estructurado.
Los metadatos de issues (list_issue_types, list_issue_fields), comentarios (add_issue_comment, update_issue_comment), dependencias (issue_dependency_read, issue_dependency_write) y herramientas de detección de duplicados (find_duplicate) proporcionan outputSchema y structuredContent tipados para versiones de protocolo compatibles negociadas 2026-07-28 o más recientes. Las versiones de protocolo más antiguas o desconocidas conservan las mismas respuestas de texto sin estos campos. Los errores de herramientas no devuelven contenido estructurado. Las herramientas de dependencia y detección de duplicados conservan sus compuertas de funcionalidad existentes.
Para versiones de protocolo compatibles negociadas 2026-07-28 o más recientes, las herramientas consolidadas de Actions (actions_list, actions_get, actions_run_trigger) devuelven objetos estructurados con un discriminante method y un campo tipado específico del método; el texto JSON contiene la misma proyección compacta. Las proyecciones de flujos de trabajo, trabajos y artefactos omiten las URL de API/hipermedia mientras conservan enlaces de navegador e identificadores útiles, estados, marcas de tiempo y duraciones de uso. Las listas de uso de ejecuciones facturan entornos de ejecutor en orden de nombre determinista. Las respuestas de texto de protocolos más antiguos y desconocidos permanecen sin cambios; get_job_logs conserva su contenido tipado, URL o variantes de colección de trabajos fallidos.
Actions
actions_get - Obtener detalles de los recursos de GitHub Actions (flujos de trabajo, ejecuciones de flujos de trabajo, trabajos y artefactos)
Ámbitos de desafío OAuth: repo
method: El método a ejecutar (cadena, obligatorio)
owner: Propietario del repositorio (cadena, obligatorio)
repo: Nombre del repositorio (cadena, obligatorio)
resource_id: El identificador único del recurso. Esto variará según el "método" proporcionado, así que asegúrese de proporcionar el ID correcto:
Proporcione un ID de flujo de trabajo o nombre de archivo de flujo de trabajo (por ejemplo, ci.yaml) para el método 'get_workflow'.
Proporcione 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'.
Proporcione un ID de artefacto para el método 'download_workflow_run_artifact'.
Proporcione un ID de trabajo para el método 'get_workflow_job'.
(cadena, obligatorio)
actions_list - Listar flujos de trabajo de GitHub Actions en un repositorio
Ámbitos de desafío OAuth: repo
method: La acción a realizar (cadena, obligatorio)
owner: Propietario del repositorio (cadena, obligatorio)
page: Número de página para paginación (predeterminado: 1) (número, opcional)
perPage: Resultados por página para paginación (predeterminado: 30, máximo: 100) (número, opcional)
repo: Nombre del repositorio (cadena, obligatorio)
resource_id: El identificador único del recurso. Esto variará según el "método" proporcionado, así que asegúrese de proporcionar el ID correcto:
No proporcione ningún ID de recurso para el método 'list_workflows'.
Proporcione un ID de flujo de trabajo o nombre de archivo de flujo de trabajo (por ejemplo, ci.yaml) para el método 'list_workflow_runs', u omita para listar todas las ejecuciones de flujos de trabajo en el repositorio.
Proporcione 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 desafío OAuth: 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, obligatorio)
owner: Propietario del repositorio (cadena, obligatorio)
ref: La referencia de 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, obligatorio)
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 (por ejemplo, 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 desafío OAuth: repo
failed_only: Cuando es verdadero, obtiene registros de 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 de flujo de trabajo. Requerido al obtener registros para un solo trabajo. (número, opcional)
owner: Propietario del repositorio (cadena, obligatorio)
repo: Nombre del repositorio (cadena, obligatorio)
return_content: Devuelve el contenido real del registro en lugar de URL (booleano, opcional)
run_id: El identificador único de la ejecución del flujo de trabajo. Requerido cuando failed_only es verdadero 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 de Código
get_code_quality_finding - Obtener hallazgo de calidad de código
Ámbitos de desafío OAuth: repo
findingNumber: El número del hallazgo. (número, obligatorio)
owner: El propietario del repositorio. (cadena, obligatorio)
repo: El nombre del repositorio. (cadena, obligatorio)
Seguridad de Código
get_code_scanning_alert - Obtener alerta de escaneo de código
Ámbitos de desafío OAuth: security_events
alertNumber: El número de la alerta. (número, obligatorio)
owner: El propietario del repositorio. (cadena, obligatorio)
repo: El nombre del repositorio. (cadena, obligatorio)
list_code_scanning_alerts - Listar alertas de escaneo de código
Ámbitos de desafío OAuth: security_events
owner: El propietario del repositorio. (cadena, obligatorio)
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 de Git para los resultados que desea listar. (cadena, opcional)
repo: El nombre del repositorio. (cadena, obligatorio)
severity: Filtrar alertas de escaneo de código por severidad (cadena, opcional)
state: Filtrar alertas de escaneo de código por estado. El valor predeterminado es abierto (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
Interfaz de usuario de la aplicación MCP: ui://github-mcp-server/get-me
No se requieren parámetros
get_team_members - Obtener miembros del equipo
Ámbitos de desafío OAuth: read:org
org: Inicio de sesión de la organización (propietario) que contiene el equipo. (cadena, obligatorio)
team_slug: Slug del equipo (cadena, obligatorio)
get_teams - Obtener equipos
Ámbitos de desafío OAuth: read:org
user: Nombre de usuario para obtener equipos. Si no se proporciona, utiliza el usuario autenticado. (cadena, opcional)
ui_get - Obtener datos de interfaz de usuario
Ámbitos de desafío OAuth: repo, read:org
method: El tipo de datos a obtener (cadena, obligatorio)
owner: Propietario del repositorio (obligatorio para todos los métodos) (cadena, obligatorio)
repo: Nombre del repositorio (obligatorio para etiquetas, asignados, hitos, ramas, campos de issues, revisores) (cadena, opcional)
Copilot
assign_copilot_to_issue - Asignar Copilot a un issue
Ámbitos de desafío OAuth: repo
base_ref: Referencia de Git (por ejemplo, rama) desde la que el agente comenzará su trabajo. Si no se especifica, el valor predeterminado es la rama predeterminada del repositorio (cadena, opcional)
custom_instructions: Instrucciones personalizadas opcionales para guiar al agente más allá del cuerpo del issue. Úselo para proporcionar contexto adicional, restricciones o guía que no esté capturada en la descripción del issue (cadena, opcional)
issue_number: Número del issue (número, obligatorio)
owner: Propietario del repositorio (cadena, obligatorio)
repo: Nombre del repositorio (cadena, obligatorio)
request_copilot_review - Solicitar revisión de Copilot
Ámbitos de desafío OAuth: repo
owner: Propietario del repositorio (cadena, obligatorio)
pullNumber: Número de solicitud de extracción (número, obligatorio)
repo: Nombre del repositorio (cadena, obligatorio)
Intenciones de Issues de Copilot
- **assign_copilot_to_issue_with_intent** - Asignar Copilot a un issue con intención
- **Ámbitos de desafío OAuth**: `repo`
- `base_ref`: Referencia de Git (por ejemplo, rama) desde la cual el agente comenzará su trabajo. Si no se especifica, se usa la rama predeterminada del repositorio. Se ignora cuando is_suggestion es true (cadena, opcional)
- `confidence`: Qué tan seguro estás de esta elección. 'HIGH' para una señal clara o solicitud explícita del usuario, 'MEDIUM' para una inferencia razonable con cierta ambigüedad, 'LOW' para una suposición con señal limitada. (cadena, obligatorio)
- `custom_instructions`: Instrucciones personalizadas opcionales para guiar al agente más allá del cuerpo del issue. Se ignoran cuando is_suggestion es true (cadena, opcional)
- `is_suggestion`: Si es true, registra una intención de asignación de Copilot pendiente en lugar de lanzar el agente. La aprobación posterior proporciona el contexto de lanzamiento; base_ref y custom_instructions se ignoran en este caso. (booleano, obligatorio)
- `issue_number`: Número del issue (número, obligatorio)
- `owner`: Propietario del repositorio (cadena, obligatorio)
- `rationale`: Una oración concisa que explique qué específicamente del issue llevó a elegir Copilot. Indica la señal concreta (por ejemplo, 'Tarea bien definida con criterios de aceptación claros'). (cadena, obligatorio)
- `repo`: Nombre del repositorio (cadena, obligatorio)
Dependabot
get_dependabot_alert - Obtener alerta de Dependabot
Ámbitos de desafío OAuth: security_events
alertNumber: El número de la alerta. (número, obligatorio)
owner: El propietario del repositorio. (cadena, obligatorio)
repo: El nombre del repositorio. (cadena, obligatorio)
list_dependabot_alerts - Listar alertas de Dependabot
Ámbitos de desafío OAuth: security_events
after: Cursor para paginación. Usa el cursor de la respuesta anterior. (cadena, opcional)
owner: El propietario del repositorio. (cadena, obligatorio)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: El nombre del repositorio. (cadena, obligatorio)
severity: Filtrar alertas de Dependabot por severidad (cadena, opcional)
state: Filtrar alertas de Dependabot por estado. El valor predeterminado es open (cadena, opcional)
Discussions
discussion_comment_write - Gestionar comentarios de discusión
Ámbitos de desafío OAuth: repo
body: Contenido del comentario (obligatorio para los métodos 'add', 'reply' y 'update') (cadena, opcional)
commentNodeID: El ID de nodo del comentario de discusión (obligatorio para los métodos 'reply', 'update', 'delete', 'mark_answer' y 'unmark_answer'). Para 'reply', este es el comentario de nivel superior al que se responde; GitHub Discussions solo admite un nivel de anidamiento. (cadena, opcional)
discussionNumber: Número de discusión (obligatorio 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' - agrega un nuevo comentario de nivel superior a una discusión.
'reply' - responde a un comentario de discusión de nivel superior (GitHub Discussions solo admite 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 preguntas y respuestas).
'unmark_answer' - desmarca un comentario de discusión como la respuesta (solo preguntas y respuestas).
(cadena, obligatorio)
owner: Propietario del repositorio (obligatorio para los métodos 'add' y 'reply') (cadena, opcional)
repo: Nombre del repositorio (obligatorio para los métodos 'add' y 'reply') (cadena, opcional)
get_discussion - Obtener discusión
Ámbitos de desafío OAuth: repo
discussionNumber: Número de discusión (número, obligatorio)
owner: Propietario del repositorio (cadena, obligatorio)
repo: Nombre del repositorio (cadena, obligatorio)
get_discussion_comments - Obtener comentarios de discusión
Ámbitos de desafío OAuth: repo
after: Cursor para paginación. Usa el cursor de la respuesta anterior. (cadena, opcional)
discussionNumber: Número de discusión (número, obligatorio)
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). El valor predeterminado es false. (booleano, opcional)
owner: Propietario del repositorio (cadena, obligatorio)
perPage: Resultados por página para paginación (mín 1, máx 100) (número, opcional)
repo: Nombre del repositorio (cadena, obligatorio)
list_discussion_categories - Listar categorías de discusión
Ámbitos de desafío OAuth: repo
owner: Propietario del repositorio (cadena, obligatorio)
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 desafío OAuth: 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 del orden. (cadena, opcional)
orderBy: Ordenar discusiones por campo. Si se proporciona, también se debe proporcionar la 'direction'. (cadena, opcional)
owner: Propietario del repositorio (cadena, obligatorio)
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 desafío OAuth: gist
content: Contenido para la creación simple de un gist de un solo archivo (cadena, obligatorio)
description: Descripción del gist (cadena, opcional)
filename: Nombre de archivo para la creación simple de un gist de un solo archivo (cadena, obligatorio)
public: Si el gist es público (booleano, opcional)
get_gist - Obtener contenido del Gist
gist_id: El ID del gist (cadena, obligatorio)
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 momento (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 desafío OAuth: gist
content: Contenido para el archivo (cadena, obligatorio)
description: Descripción actualizada del gist (cadena, opcional)
filename: Nombre de archivo a actualizar o crear (cadena, obligatorio)
gist_id: ID del gist a actualizar (cadena, obligatorio)
Git
get_repository_tree - Obtener árbol del repositorio
Ámbitos de desafío OAuth: repo
owner: Propietario del repositorio (nombre de usuario u organización) (cadena, obligatorio)
path_filter: Prefijo de ruta opcional para filtrar los resultados del árbol (por ejemplo, 'src/' para mostrar solo archivos en el directorio src) (cadena, opcional)
recursive: Establecer este parámetro en true devuelve los objetos o subárboles referenciados por el árbol. El valor predeterminado es false (booleano, opcional)
repo: Nombre del repositorio (cadena, obligatorio)
tree_sha: El valor SHA1 o el nombre de la ref (rama o etiqueta) del árbol. El valor predeterminado es la rama predeterminada del repositorio (cadena, opcional)
Governance
create_repository_ruleset - Crear conjunto de reglas del repositorio
Ámbitos de desafío OAuth: repo, admin:org, admin:enterprise
bypass_actors: Los actores que pueden omitir las reglas en este conjunto de reglas (objeto[], opcional)
conditions: Condiciones para cuándo se aplica este conjunto de reglas, por ejemplo, {"ref_name": {"include": ["refs/heads/main"], "exclude": []}} (objeto, opcional)
enforcement: El nivel de aplicación del conjunto de reglas. 'evaluate' permite a los administradores probar reglas antes de aplicarlas (cadena, obligatorio)
enterprise: Slug de la empresa. Obligatorio cuando el nivel es 'enterprise'. (cadena, opcional)
level: El nivel en el que se configura el conjunto de reglas:
'repository': Un conjunto de reglas en un solo repositorio (requiere 'owner' y 'repo').
'organization': Un conjunto de reglas que cubre repositorios en una organización (requiere 'org').
'enterprise': Un conjunto de reglas que cubre repositorios en una empresa (requiere 'enterprise'). (cadena, obligatorio)
name: El nombre del conjunto de reglas (cadena, obligatorio)
org: Nombre de la organización. Obligatorio cuando el nivel es 'organization'. (cadena, opcional)
owner: Propietario del repositorio. Obligatorio cuando el nivel es 'repository'. (cadena, opcional)
repo: Nombre del repositorio. Obligatorio cuando el nivel es 'repository'. (cadena, opcional)
rules: Una matriz de reglas dentro del conjunto de reglas. Cada regla es un objeto con un 'type' (por ejemplo, 'creation', 'deletion', 'non_fast_forward', 'required_signatures', 'pull_request', 'required_status_checks') y, para reglas que necesitan configuración, un objeto 'parameters' (objeto[], obligatorio)
target: El objetivo del conjunto de reglas. El valor predeterminado es 'branch'. 'repository' solo es válido para conjuntos de reglas de nivel 'organization' y 'enterprise'. (cadena, opcional)
Ámbitos de desafío OAuth: repo, admin:org, admin:enterprise
enterprise: Slug de la empresa. Requerido cuando el nivel es 'enterprise'. (cadena, opcional)
level: El nivel en el que se gestionan las propiedades personalizadas:
'repository': Los VALORES de propiedad personalizada asignados a un repositorio (requiere 'owner' y 'repo').
'organization': Las DEFINICIONES de propiedad personalizada (esquema) para una organización (requiere 'org').
'enterprise': Las DEFINICIONES de propiedad personalizada (esquema) para una empresa (requiere 'enterprise'). (cadena, obligatorio)
org: Nombre de la organización. Requerido cuando el nivel es 'organization'. (cadena, opcional)
owner: Propietario del repositorio. Requerido cuando el nivel es 'repository'. (cadena, opcional)
properties: Las propiedades personalizadas a crear o actualizar. A nivel de repositorio, cada elemento asigna un valor ('property_name' y 'value'); a nivel de organización y empresa, cada elemento define el esquema ('property_name' y 'value_type', además de campos de definición opcionales). (objeto[], obligatorio)
repo: Nombre del repositorio. Requerido cuando el nivel es 'repository'. (cadena, opcional)
repository_ruleset_read - Leer reglas de repositorio
Ámbitos de desafío OAuth: repo, read:org, read:enterprise
actor_name: El identificador de la cuenta de usuario de GitHub para filtrar suites de reglas. Utilizado por el método 'list_rule_suites'. (cadena, opcional)
branch: Nombre de la rama. Requerido para el método 'get_rules_for_branch'. (cadena, opcional)
enterprise: Slug de la empresa. Requerido cuando el nivel es 'enterprise'. (cadena, opcional)
evaluate_status: Filtrar suites de reglas por modo de evaluación de reglas. Utilizado por el método 'list_rule_suites'. (cadena, opcional)
includes_parents: Incluir reglas configuradas en niveles superiores que también se aplican. El valor predeterminado es true. Utilizado por los métodos 'get' y 'list' a nivel de repositorio. (booleano, opcional)
level: El nivel en el que se configura la regla:
'repository': Una regla en un solo repositorio (requiere 'owner' y 'repo').
'organization': Una regla que cubre repositorios en una organización (requiere 'org').
'enterprise': Una regla que cubre repositorios en una empresa (requiere 'enterprise'). (cadena, obligatorio)
method: Operación a realizar:
'get': Obtener una regla específica por ID (requiere 'ruleset_id'). Compatible en todos los niveles.
'list': Listar todas las reglas. Compatible en todos los niveles.
'get_rules_for_branch': Obtener todas las reglas que se aplican a una rama (requiere 'branch'). Solo a nivel de repositorio.
'list_rule_suites': Listar suites de reglas, las evaluaciones de reglas contra envíos. Solo a nivel de repositorio y organización.
'get_rule_suite': Obtener una suite de reglas específica por ID (requiere 'rule_suite_id'). Solo a nivel de repositorio y organización. (cadena, obligatorio)
org: Nombre de la organización. Requerido cuando el nivel es 'organization'. (cadena, opcional)
owner: Propietario del repositorio. Requerido cuando el nivel es 'repository'. (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)
ref: El nombre de la ref (rama, etiqueta, etc.) para filtrar suites de reglas. Utilizado por el método 'list_rule_suites'. (cadena, opcional)
repo: Nombre del repositorio. Requerido cuando el nivel es 'repository'. (cadena, opcional)
repository_name: Nombre del repositorio para filtrar suites de reglas. Utilizado por el método 'list_rule_suites' a nivel de organización. (cadena, opcional)
rule_suite_id: ID de la suite de reglas. Requerido para el método 'get_rule_suite'. (número, opcional)
rule_suite_result: El resultado de la suite de reglas para filtrar. Utilizado por el método 'list_rule_suites'. (cadena, opcional)
ruleset_id: ID de la regla. Requerido para el método 'get'. (número, opcional)
time_period: El período de tiempo para filtrar suites de reglas. Utilizado por el método 'list_rule_suites'. (cadena, opcional)
Problemas
add_issue_comment - Agregar comentario a problema o solicitud de extracción
Ámbitos de desafío OAuth: repo
body: Contenido del comentario. Requerido a menos que se proporcione una reacción. (cadena, opcional)
comment_id: El ID numérico del comentario del problema o solicitud de extracción al que reaccionar. Úselo para reacciones a comentarios; omítalo para reaccionar al problema o solicitud de extracción en sí. No se puede combinar con body. (entero, opcional)
issue_number: Número del problema o solicitud de extracción para comentar o reaccionar. (número, obligatorio)
owner: Propietario del repositorio (cadena, obligatorio)
reaction: Reacción de emoji a agregar. Requerida a menos que se proporcione body. (cadena, opcional)
repo: Nombre del repositorio (cadena, obligatorio)
get_label - Obtener una etiqueta específica de un repositorio
Ámbitos de desafío OAuth: repo
name: Nombre de la etiqueta. (cadena, obligatorio)
owner: Propietario del repositorio (nombre de usuario o nombre de organización) (cadena, obligatorio)
repo: Nombre del repositorio (cadena, obligatorio)
issue_read - Obtener detalles del problema
Ámbitos de desafío OAuth: repo
issue_number: El número del problema (número, obligatorio)
method: La operación de lectura a realizar en un solo problema.
Las opciones son:
get - Obtener detalles del problema. También devuelve indicadores de jerarquía de mejor esfuerzo (has_parent, has_children); parent y sub_issues_summary son resúmenes de relaciones opcionales, y closed_by_pull_requests resume las solicitudes de extracción configuradas para cerrar el problema como total_count más hasta 5 references.
get_comments - Obtener comentarios del problema.
get_sub_issues - Obtener sub-problemas (hijos) del problema.
get_parent - Obtener el problema principal, si este problema es un sub-problema de otro.
get_labels - Obtener etiquetas asignadas al problema.
(cadena, obligatorio)
owner: El propietario del repositorio (cadena, obligatorio)
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, obligatorio)
issue_write - Crear o actualizar problema/solicitud de extracción
Ámbitos de desafío OAuth: repo
Interfaz de usuario de la aplicación MCP: ui://github-mcp-server/issue-write
assignees: Nombres de usuario para asignar a este problema (cadena[], opcional)
body: Contenido del cuerpo del problema (cadena, opcional)
duplicate_of: Número del problema del cual este problema es un duplicado. Requerido cuando state_reason es 'duplicate'. (número, opcional)
issue_fields: Valores de campos del problema a establecer o borrar. Cada elemento requiere 'field_name' y exactamente uno de 'value', 'field_option_name' o 'delete: true'. (objeto[], opcional)
issue_number: Número del problema a actualizar (número, opcional)
labels: Etiquetas a aplicar a este problema (cadena[], opcional)
method: Operación de escritura a realizar en un solo problema.
Las opciones son:
'create' - crea un nuevo problema.
'update' - actualiza un problema existente.
(cadena, obligatorio)
milestone: Número de hito (número, opcional)
owner: Propietario del repositorio (cadena, obligatorio)
parent_issue_number: Número del problema principal. Solo se usa cuando el método es 'create' y no se puede combinar con issue_fields. El nuevo problema se crea y se adjunta a este principal en la misma operación. (número, opcional)
parent_owner: Propietario del repositorio del problema principal. Debe proporcionarse con parent_repo. Omita ambos para usar owner y repo. Solo se usa cuando el método es 'create' y se proporciona parent_issue_number. (cadena, opcional)
parent_repo: Nombre del repositorio del problema principal. Debe proporcionarse con parent_owner. Omita ambos para usar owner y repo. Solo se usa cuando el método es 'create' y se proporciona parent_issue_number. (cadena, opcional)
repo: Nombre del repositorio (cadena, obligatorio)
state: Nuevo estado (cadena, opcional)
state_reason: Razón para el cambio de estado. Se ignora a menos que se cambie el estado. (cadena, opcional)
title: Título del problema (cadena, opcional)
type: Tipo de este problema. Para actualizaciones, pase null para eliminar el tipo actual. Solo use si los tipos de problema están habilitados para este repositorio. Use 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 problema, omita este parámetro. (cadena | null, opcional)
list_issue_fields - Listar campos de problema
Ámbitos de desafío OAuth: repo, read:org
owner: El propietario de la cuenta del repositorio u organización. El nombre no distingue entre mayúsculas y minúsculas. (cadena, obligatorio)
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 problema disponibles
Ámbitos de desafío OAuth: repo, read:org
owner: El propietario de la cuenta del repositorio u organización. (cadena, obligatorio)
repo: El nombre del repositorio. Cuando se proporciona, devuelve tipos de problema para este repositorio específico. Cuando se omite, devuelve tipos de problema a nivel de organización directamente. (cadena, opcional)
list_issues - Listar problemas
Ámbitos de desafío OAuth: repo
after: Cursor para paginación. Use 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 problema 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 AAAA-MM-DD). (objeto[], opcional)
fields: Subconjunto de campos a devolver para cada problema. Si se omite, se devuelven todos los campos. Use esto para reducir el tamaño de la respuesta cuando solo necesita campos específicos; omitir 'body' y 'field_values' en particular elimina los datos por resultado más grandes. (cadena[], opcional)
labels: Filtrar por etiquetas (cadena[], opcional)
orderBy: Ordenar problemas por campo. Si se proporciona, también se debe proporcionar 'direction'. (cadena, opcional)
owner: Propietario del repositorio (cadena, obligatorio)
perPage: Resultados por página para paginación (mín. 1, máx. 100) (número, opcional)
repo: Nombre del repositorio (cadena, obligatorio)
since: Filtrar por fecha (marca de tiempo ISO 8601) (cadena, opcional)
state: Filtrar por estado; por defecto, se devuelven tanto problemas abiertos como cerrados cuando no se proporciona (cadena, opcional)
search_issues - Buscar issues
Ámbitos de desafío OAuth: repo
fields: Subconjunto de campos a devolver para cada resultado de issue. Si se omite, se devuelven todos los campos. Úsalo para reducir el tamaño de la respuesta cuando solo necesites campos específicos; omitir 'body', 'reactions' y 'labels' en particular elimina los datos más grandes por resultado. (string[], opcional)
order: Orden de clasificación (string, opcional)
owner: Propietario del repositorio opcional. Si se proporciona junto con repo, solo se listan los issues de este repositorio. (string, opcional)
page: Número de página para la paginación (mín. 1) (number, opcional)
perPage: Resultados por página para la paginación (mín. 1, máx. 100) (number, opcional)
query: La consulta de búsqueda, en lenguaje natural. Cuando el usuario dé formulaciones alternativas, inclúyelas como palabras simples en lugar de unirlas con OR. (string, obligatorio)
repo: Nombre del repositorio opcional. Si se proporciona junto con owner, solo se listan los issues de este repositorio. (string, opcional)
sort: Campo de clasificación por número de coincidencias de categorías; el valor predeterminado es la mejor coincidencia (string, opcional)
sub_issue_write - Cambiar sub-issue
Ámbitos de desafío OAuth: repo
after_id: El ID del sub-issue que se priorizará después (se debe especificar after_id O before_id) (number, opcional)
before_id: El ID del sub-issue que se priorizará antes (se debe especificar after_id O before_id) (number, opcional)
issue_number: El número del issue principal (number, obligatorio)
method: La acción a realizar sobre un único sub-issue
Las opciones son:
'add' - añadir un sub-issue a un issue principal en un repositorio de GitHub.
'remove' - eliminar un sub-issue de un issue principal en un repositorio de GitHub.
'reprioritize' - cambiar el orden de los sub-issues dentro de un issue principal 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 issue principal, usa add con replace_parent=true; no hay un campo principal editable.
(string, obligatorio)
owner: Propietario del repositorio (string, obligatorio)
replace_parent: Cuando es true, reemplaza el issue principal actual del sub-issue. Úsalo solo con el método 'add'. (boolean, opcional)
repo: Nombre del repositorio (string, obligatorio)
sub_issue_id: El ID del sub-issue a añadir. El ID no es lo mismo que el número de issue (number, obligatorio)
update_issue_comment - Actualizar comentario de issue
Ámbitos de desafío OAuth: repo
body: Nuevo contenido del comentario (string, obligatorio)
comment_id: El ID numérico del comentario de conversación del issue o pull request a actualizar. No uses un ID de comentario de revisión de pull request. (integer, obligatorio)
owner: Propietario del repositorio (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
Etiquetas
get_label - Obtener una etiqueta específica de un repositorio
Ámbitos de desafío OAuth: repo
name: Nombre de la etiqueta. (string, obligatorio)
owner: Propietario del repositorio (nombre de usuario o nombre de organización) (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
label_write - Operaciones de escritura en etiquetas de repositorio
Ámbitos de desafío OAuth: repo
color: Color de la etiqueta como código hexadecimal de 6 caracteres sin el prefijo '#' (p. ej., 'f29513'). Obligatorio para 'create', opcional para 'update'. (string, opcional)
description: Texto de descripción de la etiqueta. Opcional para 'create' y 'update'. (string, opcional)
method: Operación a realizar: 'create', 'update' o 'delete' (string, obligatorio)
name: Nombre de la etiqueta: obligatorio para todas las operaciones (string, obligatorio)
new_name: Nuevo nombre para la etiqueta (se usa solo con el método 'update' para renombrar) (string, opcional)
owner: Propietario del repositorio (nombre de usuario o nombre de organización) (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
list_label - Listar etiquetas de un repositorio
Ámbitos de desafío OAuth: repo
after: Cursor para la paginación. Usa el cursor de la respuesta anterior. (string, opcional)
owner: Propietario del repositorio (nombre de usuario o nombre de organización): obligatorio para todas las operaciones (string, obligatorio)
perPage: Resultados por página para la paginación (mín. 1, máx. 100) (number, opcional)
repo: Nombre del repositorio: obligatorio para todas las operaciones (string, obligatorio)
Notificaciones
dismiss_notification - Descartar notificación
Ámbitos de desafío OAuth: notifications
state: El nuevo estado de la notificación (read/done) (string, obligatorio)
threadID: El ID del hilo de notificación (string, obligatorio)
get_notification_details - Obtener detalles de la notificación
Ámbitos de desafío OAuth: notifications
notificationID: El ID de la notificación (string, obligatorio)
list_notifications - Listar notificaciones
Ámbitos de desafío OAuth: notifications
before: Mostrar solo notificaciones actualizadas antes de la hora indicada (formato ISO 8601) (string, opcional)
filter: Filtra las notificaciones; usa el valor predeterminado a menos que se especifique. Las notificaciones leídas son aquellas que el usuario ya ha reconocido. Las notificaciones de participación son aquellas en las que el usuario está directamente involucrado, como issues o pull requests en los que ha comentado o que ha creado. (string, opcional)
owner: Propietario del repositorio opcional. Si se proporciona junto con repo, solo se listan las notificaciones de este repositorio. (string, opcional)
page: Número de página para la paginación (mín. 1) (number, opcional)
perPage: Resultados por página para la paginación (mín. 1, máx. 100) (number, opcional)
repo: Nombre del repositorio opcional. Si se proporciona junto con owner, solo se listan las notificaciones de este repositorio. (string, opcional)
since: Mostrar solo notificaciones actualizadas después de la hora indicada (formato ISO 8601) (string, opcional)
manage_notification_subscription - Gestionar suscripción a notificaciones
Ámbitos de desafío OAuth: notifications
action: Acción a realizar: ignore, watch o delete la suscripción a notificaciones. (string, obligatorio)
notificationID: El ID del hilo de notificación. (string, obligatorio)
manage_repository_notification_subscription - Gestionar suscripción a notificaciones del repositorio
Ámbitos de desafío OAuth: notifications
action: Acción a realizar: ignore, watch o delete la suscripción a notificaciones del repositorio. (string, obligatorio)
owner: El propietario de la cuenta del repositorio. (string, obligatorio)
repo: El nombre del repositorio. (string, obligatorio)
mark_all_notifications_read - Marcar todas las notificaciones como leídas
Ámbitos de desafío OAuth: notifications
lastReadAt: Describe el último punto en que se revisaron las notificaciones (opcional). Predeterminado: Ahora (string, opcional)
owner: Propietario del repositorio opcional. Si se proporciona junto con repo, solo se marcan como leídas las notificaciones de este repositorio. (string, opcional)
repo: Nombre del repositorio opcional. Si se proporciona junto con owner, solo se marcan como leídas las notificaciones de este repositorio. (string, opcional)
Organizaciones
search_orgs - Buscar organizaciones
Ámbitos de desafío OAuth: read:org
order: Orden de clasificación (string, opcional)
page: Número de página para la paginación (mín. 1) (number, opcional)
perPage: Resultados por página para la paginación (mín. 1, máx. 100) (number, 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. (string, obligatorio)
sort: Campo de clasificación por categoría (string, opcional)
Proyectos
projects_get - Obtener detalles de los recursos de GitHub Projects
Ámbitos de desafío OAuth: read:project
field_id: El ID del campo. Obligatorio para el método 'get_project_field'. (number, opcional)
field_names: Lista específica de nombres de campos a incluir en la respuesta al obtener un elemento de proyecto (p. ej., ["Status", "Priority"]). Se resuelve en el servidor a IDs de campo: pásalo en lugar de 'fields' cuando solo conozcas los nombres legibles. Mutuamente excluyente con 'fields': proporciona uno, no ambos. Solo se usa para el método 'get_project_item'. (string[], opcional)
fields: Lista específica de IDs de campo a incluir en la respuesta al obtener un elemento de proyecto (p. ej., ["102589", "985201", "169875"]). Si no se proporcionan ni 'fields' ni 'field_names', solo se incluye el campo de título. Mutuamente excluyente con 'field_names': proporciona uno, no ambos. Solo se usa para el método 'get_project_item'. (string[], opcional)
item_id: El ID del elemento. Obligatorio para el método 'get_project_item'. (number, opcional)
method: El método a ejecutar (string, obligatorio)
owner: El propietario (inicio de sesión de usuario u organización). El nombre no distingue entre mayúsculas y minúsculas. (string, opcional)
owner_type: Tipo de propietario (user u org). Si no se proporciona, se detectará automáticamente. (string, opcional)
project_number: El número del proyecto. (number, opcional)
status_update_id: El ID de nodo de la actualización de estado del proyecto. Obligatorio para el método 'get_project_status_update'. (string, opcional)
view_id: El ID de nodo de la vista del proyecto. Obligatorio para el método 'get_project_view'. (string, opcional)
projects_list - Listar recursos de GitHub Projects
Ámbitos de desafío OAuth: read:project
after: Cursor de paginación hacia adelante desde pageInfo.nextCursor de la página anterior. (cadena, opcional)
before: Cursor de paginación hacia atrás desde pageInfo.prevCursor de la página anterior (raro). (cadena, opcional)
field_names: Nombres de campos a incluir al listar elementos del proyecto (p. ej. ["Estado", "Prioridad"]). Se resuelven en el 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 (p. 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, obligatorio)
owner: El propietario (inicio de sesión de usuario u organización). El nombre no distingue entre mayúsculas y minúsculas. (cadena, obligatorio)
owner_type: Tipo de propietario (usuario u org). Si no se proporciona, se intentarán automáticamente ambos. (cadena, opcional)
perPage: Resultados por página (máx. 50) (número, opcional)
project_number: El número del proyecto. Obligatorio para los métodos 'list_project_fields', 'list_project_items', 'list_project_views' y 'list_project_status_updates'. (número, opcional)
query: Cadena de filtro/consulta. Para list_projects: filtrar por texto del título y estado (p. 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 desafío OAuth: 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 (p. ej. 'Sprint'). Obligatorio para el método 'create_iteration_field'. (cadena, opcional)
filter: Filtro de vista guardada; omita en la actualización para conservarlo, o pase null para borrarlo. (cadena | null, opcional)
issue_number: El número del issue. Obligatorio para 'add_project_item' cuando item_type es 'issue'. También aceptado por 'update_project_item' para resolver el elemento por número de issue (combine con item_owner y item_repo). (número, opcional)
item_id: El ID del elemento del proyecto. Obligatorio para 'delete_project_item'. Para 'update_project_item', proporcione item_id, o (item_owner + item_repo + issue_number) para resolver el elemento por issue. (número, opcional)
item_owner: El propietario (usuario u organización) del repositorio que contiene el issue o pull request. Obligatorio para el método 'add_project_item'. También aceptado por 'update_project_item' al resolver el elemento por número de issue. (cadena, opcional)
item_repo: El nombre del repositorio que contiene el issue o pull request. Obligatorio para el método 'add_project_item'. También aceptado por 'update_project_item' al resolver el elemento por número de issue. (cadena, opcional)
item_type: El tipo del elemento, ya sea issue o pull_request. Obligatorio para el método 'add_project_item'. (cadena, opcional)
items: Los elementos a actualizar con el 'updated_field' de nivel superior. Obligatorio para 'update_project_items'; prefiera esto en lugar de llamar a 'update_project_item' en un bucle. Cada entrada debe coincidir exactamente con una variante de referencia: 'node_id', 'item_id' numérico, o 'item_owner' + 'item_repo' + 'issue_number'. Límite: 50 elementos por llamada. (objeto[], opcional)
iteration_duration: Duración en días para las iteraciones del campo (p. ej. 7 para semanal, 14 para quincenal). Obligatorio para el método 'create_iteration_field'. (número, opcional)
iterations: Iteraciones personalizadas para el método 'create_iteration_field'. Solo configure esto 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 en la mayoría de los casos. (objeto[], opcional)
layout: Diseño de vista; obligatorio al crear una vista. (cadena, opcional)
method: El método a ejecutar (cadena, obligatorio)
name: Nombre de la vista; obligatorio al crear una vista. (cadena, opcional)
owner: El propietario del proyecto (inicio de sesión de usuario u organización). El nombre no distingue entre mayúsculas y minúsculas. (cadena, obligatorio)
owner_type: Tipo de propietario (usuario u org). Obligatorio 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. Obligatorio para todos los métodos excepto 'create_project'. (número, opcional)
pull_request_number: El número del pull request (use 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. Obligatorio para el método 'create_project'. (cadena, opcional)
updated_field: El campo/valor a aplicar, usando {"id": 123, "value": ...} o {"name": "Status", "value": ...}; null borra el campo. Obligatorio para 'update_project_item' y 'update_project_items', donde un campo/valor de nivel superior se aplica a cada elemento en un lote. Para campos SINGLE_SELECT de 'update_project_item', la forma de nombre acepta nombres de opciones; la forma de ID espera un ID de opción. (objeto, opcional)
view_id: ID de nodo de vista de proyecto para actualizar o eliminar; debe pertenecer a owner/project_number. (cadena, opcional)
visible_field_names: Nombres de campos de proyecto ordenados para mostrar al crear o reemplazar al actualizar; omita en la actualización para conservarlos, o pase [] para restablecer. Mutuamente excluyente con visible_fields. Roadmap solo acepta []. (cadena[], opcional)
visible_fields: IDs de base de datos de campos de proyecto ordenados para mostrar al crear o reemplazar al actualizar; omita en la actualización para conservarlos, o pase [] para restablecer. Mutuamente excluyente con visible_field_names. Roadmap solo acepta []. (cadena[], opcional)
Pull Requests
add_comment_to_pending_review - Agregar comentario de revisión a la revisión de pull request pendiente más reciente del solicitante
Ámbitos de desafío OAuth: repo
body: El texto del comentario de revisión (cadena, obligatorio)
line: La línea del blob en el diff del pull request al 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, obligatorio)
path: La ruta relativa al archivo que requiere un comentario (cadena, obligatorio)
pullNumber: Número del pull request (número, obligatorio)
repo: Nombre del repositorio (cadena, obligatorio)
side: El lado del diff en el que comentar. LEFT indica el estado anterior, RIGHT indica el estado nuevo (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 estado nuevo (cadena, opcional)
subjectType: El nivel al que se dirige el comentario (cadena, obligatorio)
add_reply_to_pull_request_comment - Agregar respuesta a un comentario de pull request
Ámbitos de desafío OAuth: repo
body: El texto de la respuesta. Obligatorio a menos que se proporcione una reacción. (cadena, opcional)
commentId: El ID numérico del comentario de revisión del pull request al que responder o reaccionar. Use el número de un ancla #discussion_r..., no el ID de nodo de subproceso de GraphQL (PRRT_...). (número, obligatorio)
owner: Propietario del repositorio (cadena, obligatorio)
pullNumber: Número del pull request. Obligatorio cuando se proporciona body. (número, opcional)
reaction: Reacción de emoji a agregar. Obligatoria a menos que se proporcione body. (cadena, opcional)
repo: Nombre del repositorio (cadena, obligatorio)
create_pull_request - Abrir nuevo pull request
Ámbitos de desafío OAuth: repo
Interfaz de usuario de la aplicación MCP: ui://github-mcp-server/pr-write
base: Rama en la que fusionar (cadena, obligatorio)
body: Descripción del PR (cadena, opcional)
draft: Crear como PR borrador (booleano, opcional)
head: Rama que contiene los cambios (cadena, obligatorio)
maintainer_can_modify: Permitir ediciones del mantenedor (booleano, opcional)
owner: Propietario del repositorio (cadena, obligatorio)
repo: Nombre del repositorio (cadena, obligatorio)
reviewers: Nombres de usuario de GitHub o revisores de equipo ORG/team-slug para solicitar revisiones (cadena[], opcional)
title: Título del PR (cadena, obligatorio)
list_pull_requests - Listar pull requests
Ámbitos de desafío OAuth: repo
base: Filtrar por rama base (cadena, opcional)
direction: Dirección de ordenación (cadena, opcional)
fields: Subconjunto de campos a devolver para cada pull request. Si se omite, se devuelven todos los campos. Use esto para reducir el tamaño de la respuesta cuando solo necesite campos específicos; omitir 'body' en particular elimina los datos más grandes por resultado. (cadena[], opcional)
head: Filtrar por usuario/org principal y rama (cadena, opcional)
owner: Propietario del repositorio (cadena, obligatorio)
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, obligatorio)
sort: Ordenar por (cadena, opcional)
state: Filtrar por estado (cadena, opcional)
merge_pull_request - Fusionar pull request
Ámbitos de desafío OAuth: repo
commit_message: Detalle adicional para el commit de fusión (cadena, opcional)
commit_title: Título para el commit de fusión (cadena, opcional)
expectedHeadSha: El SHA esperado de la ref HEAD del pull request (cadena, opcional)
merge_method: Método de fusión (cadena, opcional)
owner: Propietario del repositorio (cadena, obligatorio)
pullNumber: Número del pull request (número, obligatorio)
repo: Nombre del repositorio (cadena, obligatorio)
pull_request_read - Obtener detalles de un solo pull request
Ámbitos de desafío OAuth: repo
after: Cursor para paginación, utilizado solo por el método get_review_comments. Pase el endCursor del PageInfo de la página anterior para obtener la siguiente página. (string, opcional)
method: Acción para especificar qué datos del pull request deben recuperarse de GitHub.
Opciones posibles:
get - Obtener detalles de un pull request específico.
get_diff - Obtener el diff de un pull request.
get_status - Obtener el estado combinado de los commits de un commit head en un pull request.
get_files - Obtener la lista de archivos modificados en un pull request. Usar con parámetros de paginación para controlar el número de resultados devueltos.
get_commits - Obtener la lista de commits en un pull request. Usar con parámetros de paginación para controlar el número de resultados devueltos.
get_review_comments - Obtener hilos de revisión en un pull request. Cada hilo contiene comentarios de revisión agrupados lógicamente realizados en la misma ubicación de código durante las revisiones del pull request. Devuelve metadatos del hilo y comentarios con coordenadas de rango de línea actuales y originales anulables (line, start_line, original_line, original_start_line). Las coordenadas actuales se omiten cuando no están disponibles, como en comentarios desactualizados. Usar paginación basada en cursor (perPage, after) para controlar los resultados.
get_reviews - Obtener las revisiones en un pull request. Cuando se soliciten comentarios de revisión, usar 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 un pull request. Usar esto si el usuario no solicita 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 head de un pull request. Las ejecuciones de verificación son los trabajos y verificaciones individuales de CI/CD que se ejecutan en el PR.
(string, obligatorio)
owner: Propietario del repositorio (string, obligatorio)
page: Número de página para paginación (mín. 1) (number, opcional)
perPage: Resultados por página para paginación (mín. 1, máx. 100) (number, opcional)
pullNumber: Número de pull request (number, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
pull_request_review_write - Operaciones de escritura (crear, enviar, eliminar) en revisiones de pull request
Ámbitos de desafío OAuth: repo
body: Texto del comentario de revisión (string, opcional)
commitID: SHA del commit a revisar (string, opcional)
event: Acción de revisión a realizar. (string, opcional)
method: La operación de escritura a realizar en la revisión del pull request. (string, obligatorio)
owner: Propietario del repositorio (string, obligatorio)
pullNumber: Número de pull request (number, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
threadId: El ID de nodo del hilo de revisión (p. ej., PRRT_kwDOxxx). Requerido para los métodos resolve_thread y unresolve_thread. Obtener los ID de hilo de pull_request_read con el método get_review_comments. (string, opcional)
search_pull_requests - Buscar pull requests
Ámbitos de desafío OAuth: repo
fields: Subconjunto de campos a devolver para cada resultado de pull request. Si se omite, se devuelven todos los campos. Usar esto para reducir el tamaño de la respuesta cuando solo se necesitan campos específicos; omitir 'body', 'reactions' y 'labels' en particular elimina los datos más grandes por resultado. (string[], opcional)
order: Orden de clasificación (string, opcional)
owner: Propietario del repositorio opcional. Si se proporciona con repo, solo se listan los pull requests de este repositorio. (string, opcional)
page: Número de página para paginación (mín. 1) (number, opcional)
perPage: Resultados por página para paginación (mín. 1, máx. 100) (number, opcional)
query: Consulta de búsqueda usando la sintaxis de búsqueda de pull requests de GitHub (string, obligatorio)
repo: Nombre del repositorio opcional. Si se proporciona con owner, solo se listan los pull requests de este repositorio. (string, opcional)
sort: Campo de clasificación por número de coincidencias de categorías, por defecto mejor coincidencia (string, opcional)
update_pull_request - Editar pull request
Ámbitos de desafío OAuth: repo
Interfaz de usuario de la aplicación MCP: ui://github-mcp-server/pr-edit
base: Nuevo nombre de rama base (string, opcional)
body: Nueva descripción (string, opcional)
draft: Marcar pull request como borrador (true) o listo para revisión (false) (boolean, opcional)
maintainer_can_modify: Permitir ediciones del mantenedor (boolean, opcional)
owner: Propietario del repositorio (string, obligatorio)
pullNumber: Número de pull request a actualizar (number, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
reviewers: Nombres de usuario de GitHub o revisores de equipo ORG/team-slug para solicitar revisiones (string[], opcional)
state: Nuevo estado (string, opcional)
title: Nuevo título (string, opcional)
update_pull_request_branch - Actualizar rama del pull request
Ámbitos de desafío OAuth: repo
expectedHeadSha: El SHA esperado de la ref HEAD del pull request (string, opcional)
owner: Propietario del repositorio (string, obligatorio)
pullNumber: Número de pull request (number, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
Repositorios
create_branch - Crear rama
Ámbitos de desafío OAuth: repo
branch: Nombre para la nueva rama (string, obligatorio)
from_branch: Rama de origen (por defecto la rama predeterminada del repositorio) (string, opcional)
owner: Propietario del repositorio (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
create_or_update_file - Crear o actualizar archivo
Ámbitos de desafío OAuth: repo, workflow
allow_symlink_write: Establecer true para actualizar un enlace simbólico en sí mismo; el contenido debe ser su nueva ruta de destino. (boolean, opcional)
branch: Rama en la que crear/actualizar el archivo (string, obligatorio)
content: Contenido del archivo, exactamente como debe aparecer una vez escrito. No lo codifique en base64; este servidor lo hace antes de llamar a la API REST. (string, obligatorio)
message: Mensaje de commit (string, obligatorio)
owner: Propietario del repositorio (nombre de usuario u organización) (string, obligatorio)
path: Ruta donde crear/actualizar el archivo (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
sha: El SHA del blob del archivo que se reemplaza. Requerido si el archivo ya existe. Recupérelo con get_file_contents usando el mismo owner, repo y path, con ref establecido al valor de rama de esta herramienta. (string, opcional)
create_repository - Crear repositorio
Ámbitos de desafío OAuth: repo
autoInit: Inicializar con README (boolean, opcional)
description: Descripción del repositorio (string, opcional)
name: Nombre del repositorio (string, obligatorio)
organization: Organización en la que crear el repositorio (omitir para crear en su cuenta personal) (string, opcional)
private: Si el repositorio debe ser privado. Por defecto es true (privado) cuando se omite. (boolean, opcional)
delete_file - Eliminar archivo
Ámbitos de desafío OAuth: repo, workflow
branch: Rama de la que eliminar el archivo (string, obligatorio)
message: Mensaje de commit (string, obligatorio)
owner: Propietario del repositorio (nombre de usuario u organización) (string, obligatorio)
path: Ruta al archivo a eliminar (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
delete_repository - Eliminar repositorio
Ámbitos de desafío OAuth: delete_repo, repo
owner: Propietario del repositorio (nombre de usuario u organización) (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
fork_repository - Bifurcar repositorio
Ámbitos de desafío OAuth: repo
organization: Organización a la que bifurcar (string, opcional)
owner: Propietario del repositorio (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
get_commit - Obtener detalles del commit
Ámbitos de desafío OAuth: repo
detail: Nivel de detalle a incluir para los archivos modificados. "none" omite estadísticas y archivos por completo. "stats" (por defecto) 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" además incluye el contenido de diff unificado para cada archivo y puede ser muy grande. (string, opcional)
owner: Propietario del repositorio (string, obligatorio)
page: Número de página para paginación (mín. 1) (number, opcional)
perPage: Resultados por página para paginación (mín. 1, máx. 100) (number, opcional)
repo: Nombre del repositorio (string, obligatorio)
sha: SHA del commit, nombre de rama o nombre de etiqueta (string, obligatorio)
get_file_contents - Obtener contenido de archivo o directorio
Ámbitos de desafío OAuth: repo
fields: Subconjunto de campos a devolver para cada entrada cuando la ruta es un directorio. Si se omite, se devuelven todos los campos. Se ignora cuando la ruta es un solo archivo. Usar esto para reducir el tamaño de la respuesta al listar directorios y solo necesitar campos específicos, p. ej., solo 'name' y 'type'. (string[], opcional)
owner: Propietario del repositorio (nombre de usuario u organización) (string, obligatorio)
path: Ruta al archivo/directorio (string, opcional)
ref: Acepta refs de git opcionales como refs/tags/{tag}, refs/heads/{branch} o refs/pull/{pr_number}/head (string, opcional)
repo: Nombre del repositorio (string, obligatorio)
sha: Acepta SHA de commit opcional. Si se especifica, se usará en lugar de ref (string, opcional)
get_latest_release - Obtener última versión
Ámbitos de desafío OAuth: repo
owner: Propietario del repositorio (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
get_release_by_tag - Obtener una versión por nombre de etiqueta
Ámbitos de desafío OAuth: repo
owner: Propietario del repositorio (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
tag: Nombre de etiqueta (p. ej., 'v1.0.0') (string, obligatorio)
get_tag - Obtener detalles de etiqueta
Ámbitos de desafío OAuth: repo
owner: Propietario del repositorio (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
tag: Nombre de etiqueta (string, obligatorio)
list_branches - Listar ramas
Ámbitos de desafío OAuth: repo
owner: Propietario del repositorio (string, obligatorio)
page: Número de página para paginación (mín. 1) (number, opcional)
perPage: Resultados por página para paginación (mín. 1, máx. 100) (number, opcional)
repo: Nombre del repositorio (string, obligatorio)
list_commits - Listar commits
OAuth Challenge Scopes: repo
author: Nombre de usuario o dirección de correo electrónico del autor para filtrar los commits (string, opcional)
fields: Subconjunto de campos a devolver para cada commit. Si se omite, se devuelven todos los campos. Úselo para reducir el tamaño de la respuesta cuando solo necesite campos específicos, p. ej., solo 'sha' y 'html_url'. (string[], opcional)
owner: Propietario del repositorio (string, obligatorio)
page: Número de página para la paginación (mín. 1) (number, opcional)
path: Solo se devolverán los commits que contengan esta ruta de archivo (string, opcional)
perPage: Resultados por página para la paginación (mín. 1, máx. 100) (number, opcional)
repo: Nombre del repositorio (string, obligatorio)
sha: SHA del commit, rama o nombre de etiqueta para listar los commits. Si no se proporciona, usa la rama predeterminada del repositorio. Si se proporciona un SHA de commit, se listarán los commits hasta ese SHA. (string, opcional)
since: Solo se devolverán los commits posteriores a esta fecha (formato ISO 8601: YYYY-MM-DDTHH:MM:SSZ o YYYY-MM-DD) (string, opcional)
until: Solo se devolverán los commits anteriores a esta fecha (formato ISO 8601: YYYY-MM-DDTHH:MM:SSZ o YYYY-MM-DD) (string, opcional)
list_releases - Listar lanzamientos
OAuth Challenge Scopes: repo
fields: Subconjunto de campos a devolver para cada lanzamiento. Si se omite, se devuelven todos los campos. Úselo para reducir el tamaño de la respuesta cuando solo necesite campos específicos; omitir 'body' en particular elimina los datos más grandes por lanzamiento. (string[], opcional)
owner: Propietario del repositorio (string, obligatorio)
page: Número de página para la paginación (mín. 1) (number, opcional)
perPage: Resultados por página para la paginación (mín. 1, máx. 100) (number, opcional)
repo: Nombre del repositorio (string, obligatorio)
list_repository_collaborators - Listar colaboradores del repositorio
OAuth Challenge Scopes: repo
affiliation: Filtrar por afiliación. Puede ser uno de: 'outside' (colaboradores externos), 'direct' (todos con permisos independientemente de la membresía de la organización), 'all' (todos los colaboradores). Predeterminado: 'all' (string, opcional)
owner: Propietario del repositorio (string, obligatorio)
page: Número de página para la paginación (predeterminado 1, mín. 1) (number, opcional)
perPage: Resultados por página para la paginación (predeterminado 30, mín. 1, máx. 100) (number, opcional)
repo: Nombre del repositorio (string, obligatorio)
list_tags - Listar etiquetas
OAuth Challenge Scopes: repo
owner: Propietario del repositorio (string, obligatorio)
page: Número de página para la paginación (mín. 1) (number, opcional)
perPage: Resultados por página para la paginación (mín. 1, máx. 100) (number, opcional)
repo: Nombre del repositorio (string, obligatorio)
push_files - Enviar archivos al repositorio
OAuth Challenge Scopes: repo, workflow
branch: Rama a la que enviar (string, obligatorio)
files: Matriz de objetos de archivo a enviar, cada objeto con path (string) y content (string) (object[], obligatorio)
message: Mensaje del commit (string, obligatorio)
owner: Propietario del repositorio (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
search_code - Buscar código
OAuth Challenge Scopes: repo
fields: Subconjunto de campos a devolver para cada resultado de búsqueda de código. Si se omite, se devuelven todos los campos. Úselo para reducir el tamaño de la respuesta cuando solo necesite campos específicos; omitir 'repository' y 'text_matches' en particular elimina los datos más grandes por resultado. (string[], opcional)
order: Orden de clasificación de los resultados (string, opcional)
page: Número de página para la paginación (mín. 1) (number, opcional)
perPage: Resultados por página para la paginación (mín. 1, máx. 100) (number, opcional)
query: Consulta de búsqueda (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. (string, obligatorio)
sort: Campo de clasificación (solo 'indexed') (string, opcional)
search_commits - Buscar commits
OAuth Challenge Scopes: repo
order: Orden de clasificación (string, opcional)
page: Número de página para la paginación (mín. 1) (number, opcional)
perPage: Resultados por página para la paginación (mín. 1, máx. 100) (number, opcional)
query: Consulta de búsqueda de commits (REST de búsqueda de commits de GitHub). Busca mensajes de commit solo en la rama predeterminada. Acote 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 desea). 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. (string, obligatorio)
sort: Ordenar por fecha de autor o de confirmación (predeterminado: mejor coincidencia) (string, opcional)
search_repositories - Buscar repositorios
OAuth Challenge Scopes: repo
minimal_output: Devolver información mínima del repositorio (predeterminado: true). Cuando es false, los clientes modernos reciben detalles adicionales seleccionados del repositorio, no el objeto completo de la API de GitHub. Los clientes heredados conservan los objetos completos del repositorio de la API de GitHub. (boolean, opcional)
order: Orden de clasificación (string, opcional)
page: Número de página para la paginación (mín. 1) (number, opcional)
perPage: Resultados por página para la paginación (mín. 1, máx. 100) (number, 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. (string, obligatorio)
sort: Ordenar repositorios por campo, predeterminado: mejor coincidencia (string, opcional)
Protección de secretos
get_secret_scanning_alert - Obtener alerta de escaneo de secretos
OAuth Challenge Scopes: security_events
alertNumber: El número de la alerta. (number, obligatorio)
owner: El propietario del repositorio. (string, obligatorio)
repo: El nombre del repositorio. (string, obligatorio)
list_secret_scanning_alerts - Listar alertas de escaneo de secretos
OAuth Challenge Scopes: security_events
owner: El propietario del repositorio. (string, obligatorio)
page: Número de página para la paginación (mín. 1) (number, opcional)
perPage: Resultados por página para la paginación (mín. 1, máx. 100) (number, opcional)
repo: El nombre del repositorio. (string, obligatorio)
resolution: Filtrar por resolución (string, 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, pase los nombres de token en el parámetro. (string, opcional)
state: Filtrar por estado (string, opcional)
Avisos de seguridad
get_global_security_advisory - Obtener un aviso de seguridad global
OAuth Challenge Scopes: security_events
ghsaId: ID de aviso de seguridad de GitHub (formato: GHSA-xxxx-xxxx-xxxx). (string, obligatorio)
list_global_security_advisories - Listar avisos de seguridad globales
OAuth Challenge Scopes: security_events
affects: Filtrar avisos por paquete o versión afectada (p. ej., "package1,package2@1.0.0"). (string, opcional)
cveId: Filtrar por ID de CVE. (string, opcional)
cwes: Filtrar por IDs de enumeración de debilidades comunes (p. ej., ["79", "284", "22"]). (string[], opcional)
ecosystem: Filtrar por ecosistema de paquete. (string, opcional)
ghsaId: Filtrar por ID de aviso de seguridad de GitHub (formato: GHSA-xxxx-xxxx-xxxx). (string, opcional)
isWithdrawn: Si solo se deben devolver avisos retirados. (boolean, opcional)
modified: Filtrar por fecha de publicación o actualización o rango de fechas (fecha ISO 8601 o rango). (string, opcional)
published: Filtrar por fecha de publicación o rango de fechas (fecha ISO 8601 o rango). (string, opcional)
severity: Filtrar por gravedad. (string, opcional)
type: Tipo de aviso. (string, opcional)
updated: Filtrar por fecha de actualización o rango de fechas (fecha ISO 8601 o rango). (string, opcional)
list_org_repository_security_advisories - Listar avisos de seguridad de repositorios de la organización
OAuth Challenge Scopes: security_events
direction: Dirección de clasificación. (string, opcional)
org: El inicio de sesión de la organización. (string, obligatorio)
sort: Campo de clasificación. (string, opcional)
state: Filtrar por estado del aviso. (string, opcional)
list_repository_security_advisories - Listar avisos de seguridad de repositorios
OAuth Challenge Scopes: security_events
direction: Dirección de clasificación. (string, opcional)
owner: El propietario del repositorio. (string, obligatorio)
repo: El nombre del repositorio. (string, obligatorio)
sort: Campo de clasificación. (string, opcional)
state: Filtrar por estado del aviso. (string, opcional)
Stargazers
list_starred_repositories - Listar repositorios marcados con estrella
OAuth Challenge Scopes: repo
direction: La dirección para ordenar los resultados. (string, opcional)
page: Número de página para la paginación (mín. 1) (number, opcional)
perPage: Resultados por página para la paginación (mín. 1, máx. 100) (number, opcional)
sort: Cómo ordenar los resultados. Puede ser 'created' (cuando se marcó el repositorio con estrella) o 'updated' (cuando se realizó el último push al repositorio). (string, opcional)
username: Nombre de usuario para listar los repositorios marcados con estrella. Predeterminado: el usuario autenticado. (string, opcional)
star_repository - Marcar repositorio con estrella
OAuth Challenge Scopes: repo
owner: Propietario del repositorio (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
unstar_repository - Quitar estrella del repositorio
OAuth Challenge Scopes: repo
owner: Propietario del repositorio (string, obligatorio)
repo: Nombre del repositorio (string, obligatorio)
Usuarios
- **search_users** - Buscar usuarios
- **Ámbitos de desafío OAuth**: `repo`
- `order`: Orden de clasificación (cadena, opcional)
- `page`: Número de página para la paginación (mín. 1) (número, opcional)
- `perPage`: Resultados por página para la 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, obligatorio)
- `sort`: Ordenar usuarios por número de seguidores o repositorios, o por cuándo se unió la persona a GitHub. (cadena, opcional)
Herramientas adicionales en el servidor remoto GitHub MCP
Copilot
create_pull_request_with_copilot - Realizar una 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 continuar. (cadena, obligatorio)
repo: Nombre del repositorio. Puedes adivinar el nombre del repositorio, pero confírmalo con el usuario antes de continuar. (cadena, obligatorio)
problem_statement: Descripción detallada de la tarea a realizar (p. ej., 'Implementar una función que haga X', 'Corregir el error Y', etc.) (cadena, obligatorio)
title: Título para la solicitud de extracción que se creará (cadena, obligatorio)
base_ref: Referencia de Git (p. 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 están ocultos por el filtrado de ámbitos de PAT clásico, por lo que estas herramientas pueden aparecer 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 puede tratarse como no encontrado.
get_copilot_space - Obtener espacio de Copilot
owner: El propietario del espacio. (cadena, obligatorio)
name: El nombre del espacio. (cadena, obligatorio)
list_copilot_spaces - Listar espacios de Copilot
Búsqueda en la documentación de soporte de GitHub
github_support_docs_search - Recuperar 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 solicitudes de extracción, mantenimiento de repositorios, GitHub Pages, GitHub Packages, GitHub Discussions, Copilot Spaces
query: Entrada del usuario sobre la pregunta que necesita respuesta. Este es el último mensaje de 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 el indicador --read-only. Esto solo ofrecerá herramientas de solo lectura, evitando cualquier modificación a repositorios, problemas, solicitudes de extracción, etc.
./github-mcp-server --read-only
Cuando se usa 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 inserción al repositorio. Los repositorios privados no se ven afectados y los colaboradores mantienen acceso completo a su propio contenido.
El modo de bloqueo es un filtro de contenido de mejor esfuerzo destinado a reducir el riesgo de inyección de indicaciones desde contenido de repositorios no confiable (problemas, solicitudes de extracción, comentarios, confirmaciones, etc.). No es un límite de autorización: no cambia lo que la credencial de GitHub subyacente puede leer o escribir, y el contenido retenido de una respuesta de herramienta filtrada aún puede ser accesible a través de otras herramientas o acceso directo a la API de GitHub con la misma credencial.
Como excepción intencional, el contenido creado por un pequeño conjunto de cuentas de bot confiables (actualmente github-actions[bot] y copilot) siempre se trata como seguro, independientemente del acceso de inserción. Esto evita filtrar la automatización de rutina (p. ej., confirmaciones o comentarios generados por CI) que de otro modo se retendrían en el modo de bloqueo.
./github-mcp-server --lockdown-mode
Cuando se ejecuta con Docker, establece la variable de entorno correspondiente:
En modo HTTP, este indicador (o GITHUB_LOCKDOWN_MODE) es un límite superior: el encabezado de solicitud X-MCP-Lockdown puede habilitar el modo de bloqueo cuando el operador no lo ha hecho, pero no puede deshabilitar el modo de bloqueo que el operador ya ha habilitado. Consulta la Guía de configuración del servidor para obtener más detalles.
El comportamiento del modo de bloqueo depende de la herramienta invocada.
Las siguientes herramientas devolverán un error cuando el autor no tenga acceso de inserción:
issue_read:get
pull_request_read:get
pull_request_read:get_diff
pull_request_read:get_files
pull_request_read:get_commits
Las siguientes herramientas filtrarán el contenido de usuarios sin acceso de inserción:
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 / Anulación de descripciones
Las descripciones de las herramientas se pueden anular 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
el indicador --export-translations.
Este indicador conservará cualquier traducción/anulación que hayas realizado, mientras agrega
cualquier traducción nueva que se haya agregado al binario desde la última vez que
exportaste.
También puedes usar variables de entorno para anular 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 anular 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"
Anulación del nombre y título del servidor
El mismo mecanismo de anulación se puede usar para personalizar los campos name y
title del servidor MCP en la respuesta de inicialización. Esto es útil cuando se ejecutan
múltiples instancias del servidor GitHub MCP (p. ej., una para github.com y otra para
GitHub Enterprise Server) para que los agentes puedan distinguirlas.
Clave
Variable de entorno
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 del servidor para GitHub Enterprise Server:
La API de Go exportada de este módulo debe considerarse actualmente inestable y sujeta a cambios importantes. En el futuro, podemos ofrecer estabilidad; por favor, abre un problema si hay un caso de uso donde esto sería valioso.
Contribuciones
Las contribuciones son bienvenidas. Antes de abrir una solicitud de extracción, 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 con el uso del servidor GitHub MCP, consulta la guía de soporte. Si has encontrado un error o deseas solicitar una función, busca en los problemas existentes antes de abrir uno nuevo.
Seguridad
No informes vulnerabilidades de seguridad a través de problemas públicos. Sigue las instrucciones de la política de seguridad para informar vulnerabilidades de manera responsable.
Licencia
Este proyecto está licenciado bajo los términos de la licencia de código abierto MIT. Consulta MIT para conocer los términos completos.