GitHub MCP Server
Se integra con las APIs de GitHub para automatización e interacción avanzadas, compatible con despliegues remotos y locales.
Documentación
GitHub MCP Server
El GitHub MCP Server es un servidor de Model Context Protocol (MCP) que proporciona una integración perfecta con las APIs de GitHub, habilitando capacidades avanzadas de automatización e interacción para desarrolladores y herramientas.
Casos de uso
- Automatizar flujos de trabajo y procesos de GitHub.
- Extraer y analizar datos de repositorios de GitHub.
- Crear herramientas y aplicaciones impulsadas por IA que interactúen con el ecosistema de GitHub.
Servidor remoto de GitHub MCP
El servidor remoto de GitHub MCP está alojado por GitHub y proporciona el método más sencillo para ponerse en marcha. Si tu host de MCP no admite servidores remotos de MCP, ¡no te preocupes! Puedes usar la versión local del servidor de GitHub MCP en su lugar.
Requisitos previos
- Un host de MCP que admita la última especificación de MCP y servidores remotos, como VS Code.
Instalación
Uso con VS Code
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 estar usando VS Code 1.101 o posterior para admitir MCP remoto y OAuth.
Alternativamente, para configurar VS Code manualmente, elige el bloque JSON apropiado de los ejemplos a continuación y agrégalo a la configuración de tu host:
| Usando OAuth | Usando un PAT de GitHub |
|---|---|
| VS Code (versión 1.101 o mayor) | |
|
|
Uso en otros hosts de MCP
Para hosts de MCP que son compatibles con MCP remoto, elige el bloque JSON apropiado de los ejemplos a continuación y agrégalo a la configuración de tu host:
| Usando OAuth | Usando un PAT de GitHub |
|---|---|
|
|
Nota: El formato exacto de configuración puede variar según el host. Consulta la documentación de tu host para conocer la sintaxis y la ubicación correctas para la configuración de servidores remotos de MCP.
Configuración
Consulta la Documentación del servidor remoto sobre cómo pasar opciones de configuración adicionales al servidor remoto de GitHub MCP.
Servidor local de GitHub MCP
Requisitos previos
- 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 es pública; si obtienes errores al extraerla, es posible que tengas un token caducado y debas
docker logout ghcr.io. - Por último, deberás Crear un token de acceso personal de GitHub. El servidor de 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 los tokens de acceso, consulta la documentación).
Instalación
Uso con VS Code
Para una instalación rápida, usa uno de los botones de instalación con un clic. Una vez que completes ese flujo, activa el modo Agente (ubicado junto al campo de texto de Copilot Chat) y el servidor se iniciará.
Uso en otros hosts de MCP
Agrega el siguiente bloque JSON a la configuración de MCP de tu IDE.
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "github_token",
"description": "GitHub Personal Access Token",
"password": true
}
],
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
}
}
}
}
}
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 personas.
{
"inputs": [
{
"type": "promptString",
"id": "github_token",
"description": "GitHub Personal Access Token",
"password": true
}
],
"servers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
}
}
}
}
Más información sobre el uso de las herramientas del servidor de MCP en la documentación del modo agente de VS Code.
Uso con Claude Desktop
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
Compilar desde el código fuente
Si no tienes Docker, puedes usar go build para compilar el binario en el directorio cmd/github-mcp-server, y usar el comando github-mcp-server stdio con la variable de entorno GITHUB_PERSONAL_ACCESS_TOKEN configurada con tu token. Para especificar la ubicación de salida de la compilación, usa la bandera -o. Debes configurar tu servidor para que use el ejecutable compilado como su command. Por ejemplo:
{
"mcp": {
"servers": {
"github": {
"command": "/path/to/github-mcp-server",
"args": ["stdio"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
}
Configuración de herramientas
El servidor de GitHub MCP 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 selección de herramientas y reducir el tamaño del contexto.
Los conjuntos de herramientas no se limitan a herramientas. Los recursos y avisos de MCP relevantes también se incluyen cuando corresponda.
Conjuntos de herramientas disponibles
Los siguientes conjuntos de herramientas están disponibles (todos están habilitados por defecto):
| Conjunto de herramientas | Descripción |
|---|---|
context | Muy recomendado: Herramientas que proporcionan contexto sobre el usuario actual y el contexto de GitHub en el que operas |
actions | Flujos de trabajo de GitHub Actions y operaciones de CI/CD |
code_security | Herramientas relacionadas con la seguridad del código, como GitHub Code Scanning |
experiments | Características experimentales que aún no se consideran estables |
issues | Herramientas relacionadas con los issues de GitHub |
notifications | Herramientas relacionadas con las notificaciones de GitHub |
orgs | Herramientas relacionadas con organizaciones de GitHub |
pull_requests | Herramientas relacionadas con las pull requests de GitHub |
repos | Herramientas relacionadas con los repositorios de GitHub |
secret_protection | Herramientas relacionadas con la protección de secretos, como GitHub Secret Scanning |
users | Herramientas relacionadas con los usuarios de GitHub |
Especificación de conjuntos de herramientas
Para especificar los conjuntos de herramientas que deseas poner a disposición del LLM, puedes pasar una lista de permitidos de dos maneras:
-
Usando un argumento de línea de comandos:
github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security -
Usando una variable de entorno:
GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./github-mcp-server
La variable de entorno GITHUB_TOOLSETS tiene prioridad sobre el argumento de línea de comandos si ambos se proporcionan.
Uso de conjuntos de herramientas con Docker
Al usar Docker, puedes pasar los conjuntos de herramientas como variables de entorno:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security,experiments" \
ghcr.io/github/github-mcp-server
El conjunto de herramientas "all"
El conjunto de herramientas especial all se puede proporcionar para habilitar todos los conjuntos de herramientas disponibles, sin importar cualquier otra configuración:
./github-mcp-server --toolsets all
O usando la variable de entorno:
GITHUB_TOOLSETS="all" ./github-mcp-server
Descubrimiento dinámico de herramientas
Nota: Esta característica está actualmente en beta y puede no estar disponible en todos los entornos. Pruébala y háznos saber si encuentras algún problema.
En lugar de comenzar con todas las herramientas habilitadas, puedes activar el descubrimiento dinámico de conjuntos de herramientas. Los conjuntos de herramientas dinámicos permiten que el host de MCP liste y habilite conjuntos de herramientas en respuesta a un prompt del usuario. Esto debería ayudar a evitar situaciones en las que el modelo se confunda por la gran cantidad de herramientas disponibles.
Uso del descubrimiento dinámico de herramientas
Al usar el binario, puedes pasar la bandera --dynamic-toolsets.
./github-mcp-server --dynamic-toolsets
Al usar Docker, puedes pasar los conjuntos de herramientas como variables de entorno:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_DYNAMIC_TOOLSETS=1 \
ghcr.io/github/github-mcp-server
Modo de solo lectura
Para ejecutar el servidor en modo de solo lectura, puedes usar la bandera --read-only. Esto solo ofrecerá herramientas de solo lectura, evitando cualquier modificación a repositorios, issues, pull requests, etc.
./github-mcp-server --read-only
Al usar Docker, puedes pasar el modo de solo lectura como una variable de entorno:
docker run -i --rm \
-e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
-e GITHUB_READ_ONLY=1 \
ghcr.io/github/github-mcp-server
GitHub Enterprise Server y GitHub Enterprise Cloud con residencia de datos (ghe.com)
La bandera --gh-host y la variable de entorno GITHUB_HOST se pueden usar para establecer el nombre de host para GitHub Enterprise Server o GitHub Enterprise Cloud con residencia de datos.
- Para GitHub Enterprise Server, prefija el nombre de host con el esquema URI
https://, ya que de lo contrario se usahttp://, que GitHub Enterprise Server no admite. - Para GitHub Enterprise Cloud con residencia de datos, usa
https://YOURSUBDOMAIN.ghe.comcomo nombre de host.
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"-e",
"GITHUB_HOST",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
"GITHUB_HOST": "https://<your GHES or ghe.com domain name>"
}
}
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 la bandera --export-translations.
Esta bandera preservará las traducciones/anulaciones que hayas realizado, a la vez que agregará las nuevas traducciones que se hayan agregado al binario desde la última exportación.
./github-mcp-server --export-translations
cat github-mcp-server-config.json
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, prefijados con GITHUB_MCP_ y en mayúsculas.
Por ejemplo, para anular la herramienta TOOL_ADD_ISSUE_COMMENT_DESCRIPTION, puedes configurar la siguiente variable de entorno:
export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"
Herramientas
Acciones
-
cancel_workflow_run - Cancelar ejecución de flujo de trabajo
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)run_id: El identificador único de la ejecución del flujo de trabajo (número, obligatorio)
-
delete_workflow_run_logs - Eliminar registros de flujo de trabajo
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)run_id: El identificador único de la ejecución del flujo de trabajo (número, obligatorio)
-
download_workflow_run_artifact - Descargar artefacto de flujo de trabajo
artifact_id: El identificador único del artefacto (número, obligatorio)owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)
-
get_job_logs - Obtener registros de trabajo
failed_only: Cuando sea verdadero, obtiene registros para todos los trabajos fallidos en run_id (booleano, opcional)job_id: El identificador único del trabajo de flujo de trabajo (obligatorio para registros de 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 URLs (booleano, opcional)run_id: ID de ejecución del flujo de trabajo (obligatorio al usar failed_only) (número, opcional)
-
get_workflow_run - Obtener ejecución de flujo de trabajo
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)run_id: El identificador único de la ejecución del flujo de trabajo (número, obligatorio)
-
get_workflow_run_logs - Obtener registros de ejecución de flujo de trabajo
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)run_id: El identificador único de la ejecución del flujo de trabajo (número, obligatorio)
-
get_workflow_run_usage - Obtener uso del flujo de trabajo
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)run_id: El identificador único de la ejecución del flujo de trabajo (número, obligatorio)
-
list_workflow_jobs - Listar trabajos de flujo de trabajo
filter: Filtra los trabajos por su marca de tiempo completed_at (cadena, opcional)owner: Propietario del repositorio (cadena, obligatorio)page: El número de página de los resultados a obtener (número, opcional)per_page: El número de resultados por página (máximo 100) (número, opcional)repo: Nombre del repositorio (cadena, obligatorio)run_id: El identificador único de la ejecución del flujo de trabajo (número, obligatorio)
-
list_workflow_run_artifacts - Listar artefactos de flujo de trabajo
owner: Propietario del repositorio (string, obligatorio)page: El número de página de los resultados a obtener (number, opcional)per_page: El número de resultados por página (máx. 100) (number, opcional)repo: Nombre del repositorio (string, obligatorio)run_id: El identificador único de la ejecución del flujo de trabajo (number, obligatorio)
-
list_workflow_runs - Listar ejecuciones de flujo de trabajo
actor: Devuelve las ejecuciones de flujo de trabajo de alguien. Usa el login del usuario que creó la ejecución del flujo de trabajo. (string, opcional)branch: Devuelve las ejecuciones de flujo de trabajo asociadas a una rama. Usa el nombre de la rama. (string, opcional)event: Devuelve las ejecuciones de flujo de trabajo para un tipo de evento específico (string, opcional)owner: Propietario del repositorio (string, obligatorio)page: El número de página de los resultados a obtener (number, opcional)per_page: El número de resultados por página (máx. 100) (number, opcional)repo: Nombre del repositorio (string, obligatorio)status: Devuelve las ejecuciones de flujo de trabajo con el estado de ejecución de verificación (string, opcional)workflow_id: El ID del flujo de trabajo o el nombre del archivo del flujo de trabajo (string, obligatorio)
-
list_workflows - Listar flujos de trabajo
owner: Propietario del repositorio (string, obligatorio)page: El número de página de los resultados a obtener (number, opcional)per_page: El número de resultados por página (máx. 100) (number, opcional)repo: Nombre del repositorio (string, obligatorio)
-
rerun_failed_jobs - Volver a ejecutar trabajos fallidos
owner: Propietario del repositorio (string, obligatorio)repo: Nombre del repositorio (string, obligatorio)run_id: El identificador único de la ejecución del flujo de trabajo (number, obligatorio)
-
rerun_workflow_run - Volver a ejecutar la ejecución del flujo de trabajo
owner: Propietario del repositorio (string, obligatorio)repo: Nombre del repositorio (string, obligatorio)run_id: El identificador único de la ejecución del flujo de trabajo (number, obligatorio)
-
run_workflow - Ejecutar flujo de trabajo
inputs: Entradas que acepta el flujo de trabajo (object, opcional)owner: Propietario del repositorio (string, obligatorio)ref: La referencia de git para el flujo de trabajo. La referencia puede ser un nombre de rama o etiqueta. (string, obligatorio)repo: Nombre del repositorio (string, obligatorio)workflow_id: El ID del flujo de trabajo (numérico) o el nombre del archivo del flujo de trabajo (por ejemplo, main.yml, ci.yaml) (string, obligatorio)
Seguridad de código
-
get_code_scanning_alert - Obtener alerta de escaneo de código
alertNumber: El número de la alerta. (number, obligatorio)owner: El propietario del repositorio. (string, obligatorio)repo: El nombre del repositorio. (string, obligatorio)
-
list_code_scanning_alerts - Listar alertas de escaneo de código
owner: El propietario del repositorio. (string, obligatorio)ref: La referencia de Git para los resultados que deseas listar. (string, opcional)repo: El nombre del repositorio. (string, obligatorio)severity: Filtrar alertas de escaneo de código por severidad (string, opcional)state: Filtrar alertas de escaneo de código por estado. Por defecto, abiertas (string, opcional)tool_name: El nombre de la herramienta utilizada para el escaneo de código. (string, opcional)
Contexto
- get_me - Obtener mi perfil de usuario
reason: Opcional: la razón para solicitar la información del usuario (string, opcional)
Problemas
-
add_issue_comment - Añadir comentario al problema
body: Contenido del comentario (string, obligatorio)issue_number: Número del problema al que comentar (number, obligatorio)owner: Propietario del repositorio (string, obligatorio)repo: Nombre del repositorio (string, obligatorio)
-
assign_copilot_to_issue - Asignar Copilot al problema
issueNumber: Número del problema (number, obligatorio)owner: Propietario del repositorio (string, obligatorio)repo: Nombre del repositorio (string, obligatorio)
-
create_issue - Abrir nuevo problema
assignees: Nombres de usuario para asignar a este problema (string[], opcional)body: Contenido del cuerpo del problema (string, opcional)labels: Etiquetas para aplicar a este problema (string[], opcional)milestone: Número de hito (number, opcional)owner: Propietario del repositorio (string, obligatorio)repo: Nombre del repositorio (string, obligatorio)title: Título del problema (string, obligatorio)
-
get_issue - Obtener detalles del problema
issue_number: El número del problema (number, obligatorio)owner: El propietario del repositorio (string, obligatorio)repo: El nombre del repositorio (string, obligatorio)
-
get_issue_comments - Obtener comentarios del problema
issue_number: Número del problema (number, obligatorio)owner: Propietario del repositorio (string, obligatorio)page: Número de página (number, opcional)per_page: Número de registros por página (number, opcional)repo: Nombre del repositorio (string, obligatorio)
-
list_issues - Listar problemas
direction: Dirección de ordenación (string, opcional)labels: Filtrar por etiquetas (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)since: Filtrar por fecha (marca de tiempo ISO 8601) (string, opcional)sort: Orden de clasificación (string, opcional)state: Filtrar por estado (string, opcional)
-
search_issues - Buscar problemas
order: Orden de clasificación (string, opcional)owner: Propietario del repositorio opcional. Si se proporciona con repo, solo se listan las notificaciones 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 problemas de GitHub (string, obligatorio)repo: Nombre del repositorio opcional. Si se proporciona con propietario, solo se listan las notificaciones de este repositorio. (string, opcional)sort: Campo de ordenación por número de coincidencias de categorías, por defecto mejor coincidencia (string, opcional)
-
update_issue - Editar problema
assignees: Nuevos asignados (string[], opcional)body: Nueva descripción (string, opcional)issue_number: Número del problema a actualizar (number, obligatorio)labels: Nuevas etiquetas (string[], opcional)milestone: Nuevo número de hito (number, opcional)owner: Propietario del repositorio (string, obligatorio)repo: Nombre del repositorio (string, obligatorio)state: Nuevo estado (string, opcional)title: Nuevo título (string, opcional)
Notificaciones
-
dismiss_notification - Descartar notificación
state: El nuevo estado de la notificación (leída/hecha) (string, opcional)threadID: El ID del hilo de notificación (string, obligatorio)
-
get_notification_details - Obtener detalles de la notificación
notificationID: El ID de la notificación (string, obligatorio)
-
list_notifications - Listar notificaciones
before: Mostrar solo notificaciones actualizadas antes de la hora dada (formato ISO 8601) (string, opcional)filter: Filtrar notificaciones, usar el valor predeterminado a menos que se especifique. Las notificaciones leídas son aquellas que ya han sido reconocidas por el usuario. Las notificaciones participantes son aquellas en las que el usuario está directamente involucrado, como problemas o solicitudes de extracción en las que ha comentado o creado. (string, opcional)owner: Propietario del repositorio opcional. Si se proporciona con repo, solo se listan las notificaciones 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)repo: Nombre del repositorio opcional. Si se proporciona con propietario, solo se listan las notificaciones de este repositorio. (string, opcional)since: Mostrar solo notificaciones actualizadas después de la hora dada (formato ISO 8601) (string, opcional)
-
manage_notification_subscription - Gestionar suscripción de notificación
action: Acción a realizar: ignorar, observar o eliminar la suscripción de notificación. (string, obligatorio)notificationID: El ID del hilo de notificación. (string, obligatorio)
-
manage_repository_notification_subscription - Gestionar suscripción de notificación del repositorio
action: Acción a realizar: ignorar, observar o eliminar la suscripción de notificación 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
lastReadAt: Describe el último punto en que se revisaron las notificaciones (opcional). Predeterminado: Ahora (string, opcional)owner: Propietario del repositorio opcional. Si se proporciona con repo, solo se marcan como leídas las notificaciones de este repositorio. (string, opcional)repo: Nombre del repositorio opcional. Si se proporciona con propietario, solo se marcan como leídas las notificaciones de este repositorio. (string, opcional)
Organizaciones
- search_orgs - Buscar organizaciones
order: Orden de clasificación (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 organizaciones de GitHub limitada a type:org (string, obligatorio)sort: Campo de ordenación por categoría (string, opcional)
Solicitudes de extracción
-
add_pull_request_review_comment_to_pending_review - Añadir comentario a la revisión pendiente más reciente de la solicitud de extracción del solicitante
body: El texto del comentario de revisión (string, obligatorio)line: La línea del blob en el diff de la solicitud de extracción a la que se aplica el comentario. Para comentarios de varias líneas, la última línea del rango (number, opcional)owner: Propietario del repositorio (string, obligatorio)path: La ruta relativa al archivo que requiere un comentario (string, obligatorio)pullNumber: Número de la solicitud de extracción (number, obligatorio)repo: Nombre del repositorio (string, obligatorio)side: El lado del diff sobre el que comentar. LEFT indica el estado anterior, RIGHT indica el nuevo estado (string, opcional)startLine: Para comentarios de varias líneas, la primera línea del rango al que se aplica el comentario (number, opcional)startSide: Para comentarios de varias líneas, el lado inicial del diff al que se aplica el comentario. LEFT indica el estado anterior, RIGHT indica el nuevo estado (string, opcional)subjectType: El nivel al que se dirige el comentario (string, obligatorio)
-
create_and_submit_pull_request_review - Crear y enviar una revisión de pull request sin comentarios
body: Texto del comentario de revisión (string, requerido)commitID: SHA del commit a revisar (string, opcional)event: Acción de revisión a realizar (string, requerido)owner: Propietario del repositorio (string, requerido)pullNumber: Número de pull request (number, requerido)repo: Nombre del repositorio (string, requerido)
-
create_pending_pull_request_review - Crear revisión de pull request pendiente
commitID: SHA del commit a revisar (string, opcional)owner: Propietario del repositorio (string, requerido)pullNumber: Número de pull request (number, requerido)repo: Nombre del repositorio (string, requerido)
-
create_pull_request - Abrir nueva pull request
base: Rama en la que fusionar (string, requerido)body: Descripción de la PR (string, opcional)draft: Crear como PR borrador (boolean, opcional)head: Rama que contiene los cambios (string, requerido)maintainer_can_modify: Permitir ediciones del mantenedor (boolean, opcional)owner: Propietario del repositorio (string, requerido)repo: Nombre del repositorio (string, requerido)title: Título de la PR (string, requerido)
-
delete_pending_pull_request_review - Eliminar la revisión de pull request pendiente más reciente del solicitante
owner: Propietario del repositorio (string, requerido)pullNumber: Número de pull request (number, requerido)repo: Nombre del repositorio (string, requerido)
-
get_pull_request - Obtener detalles de la pull request
owner: Propietario del repositorio (string, requerido)pullNumber: Número de pull request (number, requerido)repo: Nombre del repositorio (string, requerido)
-
get_pull_request_comments - Obtener comentarios de la pull request
owner: Propietario del repositorio (string, requerido)pullNumber: Número de pull request (number, requerido)repo: Nombre del repositorio (string, requerido)
-
get_pull_request_diff - Obtener diff de la pull request
owner: Propietario del repositorio (string, requerido)pullNumber: Número de pull request (number, requerido)repo: Nombre del repositorio (string, requerido)
-
get_pull_request_files - Obtener archivos de la pull request
owner: Propietario del repositorio (string, requerido)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, requerido)repo: Nombre del repositorio (string, requerido)
-
get_pull_request_reviews - Obtener revisiones de la pull request
owner: Propietario del repositorio (string, requerido)pullNumber: Número de pull request (number, requerido)repo: Nombre del repositorio (string, requerido)
-
get_pull_request_status - Obtener comprobaciones de estado de la pull request
owner: Propietario del repositorio (string, requerido)pullNumber: Número de pull request (number, requerido)repo: Nombre del repositorio (string, requerido)
-
list_pull_requests - Listar pull requests
base: Filtrar por rama base (string, opcional)direction: Dirección de ordenación (string, opcional)head: Filtrar por usuario/org de head y rama (string, opcional)owner: Propietario del repositorio (string, requerido)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, requerido)sort: Ordenar por (string, opcional)state: Filtrar por estado (string, opcional)
-
merge_pull_request - Fusionar pull request
commit_message: Detalle adicional para el commit de fusión (string, opcional)commit_title: Título para el commit de fusión (string, opcional)merge_method: Método de fusión (string, opcional)owner: Propietario del repositorio (string, requerido)pullNumber: Número de pull request (number, requerido)repo: Nombre del repositorio (string, requerido)
-
request_copilot_review - Solicitar revisión de Copilot
owner: Propietario del repositorio (string, requerido)pullNumber: Número de pull request (number, requerido)repo: Nombre del repositorio (string, requerido)
-
search_pull_requests - Buscar pull requests
order: Orden de clasificación (string, opcional)owner: Propietario del repositorio opcional. Si se proporciona con repo, solo se listan las notificaciones 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, requerido)repo: Nombre del repositorio opcional. Si se proporciona con owner, solo se listan las notificaciones de este repositorio. (string, opcional)sort: Campo de ordenación por número de coincidencias de categorías, por defecto mejor coincidencia (string, opcional)
-
submit_pending_pull_request_review - Enviar la revisión de pull request pendiente más reciente del solicitante
body: El texto del comentario de revisión (string, opcional)event: El evento a realizar (string, requerido)owner: Propietario del repositorio (string, requerido)pullNumber: Número de pull request (number, requerido)repo: Nombre del repositorio (string, requerido)
-
update_pull_request - Editar pull request
base: Nuevo nombre de rama base (string, opcional)body: Nueva descripción (string, opcional)maintainer_can_modify: Permitir ediciones del mantenedor (boolean, opcional)owner: Propietario del repositorio (string, requerido)pullNumber: Número de pull request a actualizar (number, requerido)repo: Nombre del repositorio (string, requerido)state: Nuevo estado (string, opcional)title: Nuevo título (string, opcional)
-
update_pull_request_branch - Actualizar rama de pull request
expectedHeadSha: El SHA esperado de la ref HEAD de la pull request (string, opcional)owner: Propietario del repositorio (string, requerido)pullNumber: Número de pull request (number, requerido)repo: Nombre del repositorio (string, requerido)
Repositorios
-
create_branch - Crear rama
branch: Nombre para la nueva rama (string, requerido)from_branch: Rama de origen (por defecto la rama predeterminada del repositorio) (string, opcional)owner: Propietario del repositorio (string, requerido)repo: Nombre del repositorio (string, requerido)
-
create_or_update_file - Crear o actualizar archivo
branch: Rama en la que crear/actualizar el archivo (string, requerido)content: Contenido del archivo (string, requerido)message: Mensaje del commit (string, requerido)owner: Propietario del repositorio (usuario u organización) (string, requerido)path: Ruta donde crear/actualizar el archivo (string, requerido)repo: Nombre del repositorio (string, requerido)sha: SHA del archivo que se reemplaza (para actualizaciones) (string, opcional)
-
create_repository - Crear repositorio
autoInit: Inicializar con README (boolean, opcional)description: Descripción del repositorio (string, opcional)name: Nombre del repositorio (string, requerido)private: Si el repositorio debe ser privado (boolean, opcional)
-
delete_file - Eliminar archivo
branch: Rama de la que eliminar el archivo (string, requerido)message: Mensaje del commit (string, requerido)owner: Propietario del repositorio (usuario u organización) (string, requerido)path: Ruta del archivo a eliminar (string, requerido)repo: Nombre del repositorio (string, requerido)
-
fork_repository - Hacer fork del repositorio
organization: Organización a la que hacer fork (string, opcional)owner: Propietario del repositorio (string, requerido)repo: Nombre del repositorio (string, requerido)
-
get_commit - Obtener detalles del commit
owner: Propietario del repositorio (string, requerido)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, requerido)sha: SHA del commit, nombre de rama o nombre de etiqueta (string, requerido)
-
get_file_contents - Obtener contenido de archivo o directorio
owner: Propietario del repositorio (usuario u organización) (string, requerido)path: Ruta al archivo/directorio (los directorios deben terminar con una barra '/') (string, requerido)ref: Acepta refs de git opcionales comorefs/tags/{tag},refs/heads/{branch}orefs/pull/{pr_number}/head(string, opcional)repo: Nombre del repositorio (string, requerido)sha: Acepta sha de git opcional, si se especifica sha se usará en lugar de ref (string, opcional)
-
get_tag - Obtener detalles de la etiqueta
owner: Propietario del repositorio (string, requerido)repo: Nombre del repositorio (string, requerido)tag: Nombre de la etiqueta (string, requerido)
-
list_branches - Listar ramas
owner: Propietario del repositorio (string, requerido)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, requerido)
-
list_commits - Listar commits
author: Nombre de usuario o dirección de correo del autor (string, opcional)owner: Propietario del repositorio (string, requerido)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, requerido)sha: SHA o nombre de rama (string, opcional)
-
list_tags - Listar etiquetas
owner: Propietario del repositorio (string, requerido)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, requerido)
-
push_files - Enviar archivos al repositorio
branch: Rama a la que enviar (string, requerido)files: Matriz de objetos de archivo a enviar, cada objeto con path (string) y content (string) (object[], requerido)message: Mensaje del commit (string, requerido)owner: Propietario del repositorio (string, requerido)repo: Nombre del repositorio (string, requerido)
-
search_code - Buscar código
order: Orden de clasificación (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)q: Consulta de búsqueda usando la sintaxis de búsqueda de código de GitHub (string, requerido)sort: Campo de ordenación (solo 'indexed') (string, opcional)
-
search_repositories - Buscar repositorios
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 (string, requerido)
Protección de secretos
- **get_secret_scanning_alert** - Obtener alerta de escaneo de secretos - `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_secret_scanning_alerts - Listar alertas de escaneo de secretos
owner: El propietario del repositorio. (cadena, obligatorio)repo: El nombre del repositorio. (cadena, obligatorio)resolution: Filtrar por resolución (cadena, opcional)secret_type: Una lista separada por comas de tipos de secretos a devolver. Se devuelven todos los patrones de secretos predeterminados. Para devolver patrones genéricos, pase el/los nombre(s) del token en el parámetro. (cadena, opcional)state: Filtrar por estado (cadena, opcional)
Usuarios
- search_users - Buscar usuarios
order: Orden de clasificación (cadena, opcional)page: Número de página para paginación (mín. 1) (número, opcional)perPage: Resultados por página para paginación (mín. 1, máx. 100) (número, opcional)query: Consulta de búsqueda usando la sintaxis de búsqueda de usuarios de GitHub limitada a type:user (cadena, obligatorio)sort: Campo de clasificación por categoría (cadena, opcional)
Uso de la biblioteca
La API de Go exportada de este módulo debe considerarse actualmente inestable y sujeta a cambios que rompan la compatibilidad. En el futuro, es posible que ofrezcamos estabilidad; por favor, abra un issue si existe un caso de uso donde esto sea valioso.
Licencia
Este proyecto está licenciado bajo los términos de la licencia de código abierto MIT. Consulte MIT para conocer los términos completos.