GitHub MCP Server
Integración fluida con las APIs de GitHub para automatización e interacción en el desarrollo.
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, permitiendo 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.
GitHub MCP Server remoto
El GitHub MCP Server remoto está alojado por GitHub y proporciona el método más sencillo para ponerse en marcha. Si tu host de MCP no admite servidores MCP remotos, ¡no te preocupes! Puedes usar la versión local del GitHub MCP Server 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 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 la configuración de tu host:
| Usando OAuth | Usando un PAT de GitHub |
|---|---|
| VS Code (versión 1.101 o superior) | |
|
|
Uso en otros hosts de MCP
Para hosts de MCP que sean 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 de configuración exacto 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 del servidor MCP remoto.
Configuración
Consulta la Documentación del servidor remoto sobre cómo pasar ajustes de configuración adicionales al GitHub MCP Server remoto.
GitHub MCP Server local
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 recibes errores al hacer pull, es posible que tengas un token caducado y necesites
docker logout ghcr.io. - Por último, necesitarás Crear un token de acceso personal de GitHub. 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 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 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 GitHub MCP Server 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 Prompts de MCP relevantes también se incluyen cuando corresponde.
Conjuntos de herramientas disponibles
Los siguientes conjuntos de herramientas están disponibles (todos están activados 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 estás operando |
code_security | Alertas de escaneo de código y funciones de seguridad |
issues | Herramientas relacionadas con issues (crear, leer, actualizar, comentar) |
notifications | Herramientas relacionadas con notificaciones de GitHub |
pull_requests | Operaciones de pull requests (crear, fusionar, revisar) |
repos | Herramientas relacionadas con repositorios (operaciones de archivos, ramas, commits) |
secret_protection | Herramientas relacionadas con la protección de secretos, como GitHub Secret Scanning |
users | Todo lo relacionado con usuarios de GitHub |
experiments | Funciones experimentales (no consideradas estables) |
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:
-
Usando un argumento de línea de comandos:
github-mcp-server --toolsets repos,issues,pull_requests,code_security -
Usando una variable de entorno:
GITHUB_TOOLSETS="repos,issues,pull_requests,code_security" ./github-mcp-server
La variable de entorno GITHUB_TOOLSETS tiene prioridad sobre el argumento de línea de comandos si se proporcionan ambos.
Uso de conjuntos de herramientas con Docker
Cuando uses 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,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 independientemente de 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 función está actualmente en beta y puede no estar disponible en todos los entornos. Por favor, pruébala y háznoslo 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
Cuando uses el binario, puedes pasar la bandera --dynamic-toolsets.
./github-mcp-server --dynamic-toolsets
Cuando uses 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
Cuando uses 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 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://, ya que de lo contrario se establece por defecto enhttp://, 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 conservará cualquier traducción/anulación que hayas realizado, mientras agrega cualquier traducción nueva que se haya añadido al binario desde la última vez que exportaste.
./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, con el prefijo GITHUB_MCP_ y todo 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
Usuarios
- get_me - Obtiene los detalles del usuario autenticado
- No se requieren parámetros
Issues
-
get_issue - Obtiene el contenido de un issue dentro de un repositorio
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)issue_number: Número del issue (número, obligatorio)
-
get_issue_comments - Obtiene los comentarios de un issue de GitHub
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)issue_number: Número del issue (número, obligatorio)
-
create_issue - Crea un nuevo issue en un repositorio de GitHub
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)title: Título del issue (cadena, obligatorio)body: Contenido del cuerpo del issue (cadena, opcional)assignees: Nombres de usuario para asignar a este issue (string[], opcional)labels: Etiquetas para aplicar a este issue (string[], opcional)
-
add_issue_comment - Agrega un comentario a un issue
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)issue_number: Número del issue (número, obligatorio)body: Texto del comentario (cadena, obligatorio)
-
list_issues - Lista y filtra los issues del repositorio
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)state: Filtrar por estado ('open', 'closed', 'all') (cadena, opcional)labels: Etiquetas para filtrar (string[], opcional)sort: Ordenar por ('created', 'updated', 'comments') (cadena, opcional)direction: Dirección de ordenamiento ('asc', 'desc') (cadena, opcional)since: Filtrar por fecha (marca de tiempo ISO 8601) (cadena, opcional)page: Número de página (número, opcional)perPage: Resultados por página (número, opcional)
-
update_issue - Actualiza un issue existente en un repositorio de GitHub
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)issue_number: Número del issue a actualizar (número, obligatorio)title: Nuevo título (cadena, opcional)body: Nueva descripción (cadena, opcional)state: Nuevo estado ('open' o 'closed') (cadena, opcional)labels: Nuevas etiquetas (string[], opcional)assignees: Nuevos asignados (string[], opcional)milestone: Nuevo número de hito (número, opcional)
-
search_issues - Buscar issues y pull requests
query: Consulta de búsqueda (cadena, obligatorio)sort: Campo de ordenación (cadena, opcional)order: Orden de ordenación (cadena, opcional)page: Número de página (número, opcional)perPage: Resultados por página (número, opcional)
-
assign_copilot_to_issue - Asignar Copilot a una issue específica en un repositorio de GitHub
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)issueNumber: Número de issue (número, obligatorio)- Nota: Esta herramienta puede ayudar a crear un Pull Request con cambios en el código fuente para resolver la issue. Más información en documentación de GitHub Copilot
Pull Requests
-
get_pull_request - Obtener detalles de un pull request específico
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)
-
list_pull_requests - Listar y filtrar pull requests del repositorio
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)state: Estado del PR (cadena, opcional)sort: Campo de ordenación (cadena, opcional)direction: Dirección de ordenación (cadena, opcional)perPage: Resultados por página (número, opcional)page: Número de página (número, opcional)
-
merge_pull_request - Fusionar un pull request
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)commit_title: Título para el commit de fusión (cadena, opcional)commit_message: Mensaje para el commit de fusión (cadena, opcional)merge_method: Método de fusión (cadena, opcional)
-
get_pull_request_files - Obtener la lista de archivos modificados en un pull request
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)
-
get_pull_request_status - Obtener el estado combinado de todas las comprobaciones de estado de un pull request
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)
-
update_pull_request_branch - Actualizar la rama de un pull request con los últimos cambios de la rama base
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)expectedHeadSha: El SHA esperado de la referencia HEAD del pull request (cadena, opcional)
-
get_pull_request_comments - Obtener los comentarios de revisión de un pull request
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)
-
get_pull_request_reviews - Obtener las revisiones de un pull request
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)
-
get_pull_request_diff - Obtener el diff de un pull request
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)
-
create_pull_request_review - Crear una revisión en un pull request
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)body: Texto del comentario de revisión (cadena, opcional)event: Acción de revisión ('APPROVE', 'REQUEST_CHANGES', 'COMMENT') (cadena, obligatorio)commitId: SHA del commit a revisar (cadena, opcional)comments: Matriz de objetos de comentarios específicos de línea para colocar comentarios en los cambios del pull request (matriz, opcional)- Para comentarios en línea: proporcione
path,position(oline) ybody - Para comentarios multilínea: proporcione
path,start_line,line,side/start_sideopcional ybody
- Para comentarios en línea: proporcione
-
create_pending_pull_request_review - Crear una revisión pendiente para un pull request que se puede enviar más tarde
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)commitID: SHA del commit a revisar (cadena, opcional)
-
add_pull_request_review_comment_to_pending_review - Agregar un comentario a la última revisión pendiente del pull request del solicitante
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)path: La ruta relativa al archivo que requiere un comentario (cadena, obligatorio)body: El texto del comentario de revisión (cadena, obligatorio)subjectType: El nivel al que se dirige el comentario (cadena, obligatorio)- Enum: "FILE", "LINE"
line: La línea del blob en el diff del pull request a la que se aplica el comentario (número, opcional)side: El lado del diff en el que comentar (cadena, opcional)- Enum: "LEFT", "RIGHT"
startLine: Para comentarios multilínea, la primera línea del rango (número, opcional)startSide: Para comentarios multilínea, el lado inicial del diff (cadena, opcional)- Enum: "LEFT", "RIGHT"
-
submit_pending_pull_request_review - Enviar la última revisión pendiente del pull request del solicitante
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)event: El evento a realizar (cadena, obligatorio)- Enum: "APPROVE", "REQUEST_CHANGES", "COMMENT"
body: El texto del comentario de revisión (cadena, opcional)
-
delete_pending_pull_request_review - Eliminar la última revisión pendiente del pull request del solicitante
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)
-
create_and_submit_pull_request_review - Crear y enviar una revisión para un pull request sin comentarios de revisión
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)body: Texto del comentario de revisión (cadena, obligatorio)event: Acción de revisión ('APPROVE', 'REQUEST_CHANGES', 'COMMENT') (cadena, obligatorio)commitID: SHA del commit a revisar (cadena, opcional)
-
create_pull_request - Crear un nuevo pull request
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)title: Título del PR (cadena, obligatorio)body: Descripción del PR (cadena, opcional)head: Rama que contiene los cambios (cadena, obligatorio)base: Rama en la que fusionar (cadena, obligatorio)draft: Crear como PR borrador (booleano, opcional)maintainer_can_modify: Permitir ediciones del mantenedor (booleano, opcional)
-
add_pull_request_review_comment - Agregar un comentario de revisión a un pull request o responder a un comentario existente
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pull_number: Número de pull request (número, obligatorio)body: El texto del comentario de revisión (cadena, obligatorio)commit_id: El SHA del commit en el que comentar (cadena, obligatorio a menos que se use in_reply_to)path: La ruta relativa al archivo que requiere un comentario (cadena, obligatorio a menos que se use in_reply_to)line: La línea del blob en el diff del pull request a la que se aplica el comentario (número, opcional)side: El lado del diff en el que comentar (LEFT o RIGHT) (cadena, opcional)start_line: Para comentarios multilínea, la primera línea del rango (número, opcional)start_side: Para comentarios multilínea, el lado inicial del diff (LEFT o RIGHT) (cadena, opcional)subject_type: El nivel al que se dirige el comentario (línea o archivo) (cadena, opcional)in_reply_to: El ID del comentario de revisión al que responder (número, opcional). Cuando se especifica, solo se requiere el cuerpo y se ignoran los demás parámetros.
-
update_pull_request - Actualizar un pull request existente en un repositorio de GitHub
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request a actualizar (número, obligatorio)title: Nuevo título (cadena, opcional)body: Nueva descripción (cadena, opcional)state: Nuevo estado ('open' o 'closed') (cadena, opcional)base: Nuevo nombre de rama base (cadena, opcional)maintainer_can_modify: Permitir ediciones del mantenedor (booleano, opcional)
-
request_copilot_review - Solicitar una revisión de GitHub Copilot para un pull request (experimental; sujeto a la compatibilidad de la API de GitHub)
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)pullNumber: Número de pull request (número, obligatorio)- Nota: Actualmente, esta herramienta solo funcionará para github.com
Repositorios
-
create_or_update_file - Crear o actualizar un solo archivo en un repositorio
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)path: Ruta del archivo (cadena, obligatorio)message: Mensaje del commit (cadena, obligatorio)content: Contenido del archivo (cadena, obligatorio)branch: Nombre de la rama (cadena, opcional)sha: SHA del archivo si se actualiza (cadena, opcional)
-
delete_file - Eliminar un archivo de un repositorio de GitHub
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)path: Ruta del archivo a eliminar (cadena, obligatorio)message: Mensaje del commit (cadena, obligatorio)branch: Rama de la que eliminar el archivo (cadena, obligatorio)
-
list_branches - Listar ramas en un repositorio de GitHub
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)page: Número de página (número, opcional)perPage: Resultados por página (número, opcional)
-
push_files - Enviar múltiples archivos en un solo commit
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)branch: Rama a la que enviar (cadena, obligatorio)files: Archivos a enviar, cada uno con ruta y contenido (matriz, obligatorio)message: Mensaje del commit (cadena, obligatorio)
-
search_repositories - Buscar repositorios de GitHub
query: Consulta de búsqueda (cadena, obligatorio)sort: Campo de ordenación (cadena, opcional)order: Orden de ordenación (cadena, opcional)page: Número de página (número, opcional)perPage: Resultados por página (número, opcional)
-
create_repository - Crear un nuevo repositorio de GitHub
name: Nombre del repositorio (cadena, obligatorio)description: Descripción del repositorio (cadena, opcional)private: Si el repositorio es privado (booleano, opcional)autoInit: Inicializar automáticamente con README (booleano, opcional)
-
get_file_contents - Obtener el contenido de un archivo o directorio
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)path: Ruta del archivo (cadena, obligatorio)ref: Referencia de Git (cadena, opcional)
-
fork_repository - Hacer un fork de un repositorio
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)organization: Nombre de la organización de destino (cadena, opcional)
-
create_branch - Crear una nueva rama
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)branch: Nombre de la nueva rama (cadena, obligatorio)sha: SHA desde el cual crear la rama (cadena, obligatorio)
-
list_commits - Obtener una lista de commits de una rama en un repositorio
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)sha: Nombre de la rama, etiqueta o SHA del commit (cadena, opcional)path: Solo commits que contengan esta ruta de archivo (cadena, opcional)page: Número de página (número, opcional)perPage: Resultados por página (número, opcional)
-
get_commit - Obtener detalles de un commit de un repositorio
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)sha: SHA del commit, nombre de rama o nombre de etiqueta (cadena, obligatorio)page: Número de página, para archivos en el commit (número, opcional)perPage: Resultados por página, para archivos en el commit (número, opcional)
-
get_tag - Obtener detalles sobre una etiqueta git específica en un repositorio de GitHub
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)tag: Nombre de la etiqueta (cadena, obligatorio)
-
list_tags - Listar etiquetas git en un repositorio de GitHub
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)page: Número de página (número, opcional)perPage: Resultados por página (número, opcional)
-
search_code - Buscar código en repositorios de GitHub
query: Consulta de búsqueda (cadena, obligatorio)sort: Campo de ordenación (cadena, opcional)order: Orden de ordenación (cadena, opcional)page: Número de página (número, opcional)perPage: Resultados por página (número, opcional)
Usuarios
- search_users - Buscar usuarios de GitHub
q: Consulta de búsqueda (cadena, obligatorio)sort: Campo de ordenación (cadena, opcional)order: Orden de ordenación (cadena, opcional)page: Número de página (número, opcional)perPage: Resultados por página (número, opcional)
Escaneo de código
-
get_code_scanning_alert - Obtener una alerta de escaneo de código
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)alertNumber: Número de alerta (número, obligatorio)
-
list_code_scanning_alerts - Listar alertas de escaneo de código para un repositorio
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)ref: Referencia de Git (cadena, opcional)state: Estado de la alerta (cadena, opcional)severity: Severidad de la alerta (cadena, opcional)tool_name: El nombre de la herramienta utilizada para el escaneo de código (cadena, opcional)
Escaneo de secretos
-
get_secret_scanning_alert - Obtener una alerta de escaneo de secretos
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)alertNumber: Número de alerta (número, obligatorio)
-
list_secret_scanning_alerts - Listar alertas de escaneo de secretos para un repositorio
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)state: Estado de la alerta (cadena, opcional)secret_type: Los tipos de secretos a filtrar en una lista separada por comas (cadena, opcional)resolution: El estado de resolución (cadena, opcional)
Notificaciones
-
list_notifications – Listar notificaciones para un usuario de GitHub
filter: Filtro a aplicar a la respuesta (default,include_read_notifications,only_participating)since: Mostrar solo notificaciones actualizadas después de la hora dada (formato ISO 8601)before: Mostrar solo notificaciones actualizadas antes de la hora dada (formato ISO 8601)owner: Propietario del repositorio opcional (cadena)repo: Nombre del repositorio opcional (cadena)page: Número de página (número, opcional)perPage: Resultados por página (número, opcional)
-
get_notification_details – Obtener información detallada para una notificación específica de GitHub
notificationID: El ID de la notificación (cadena, obligatorio)
-
dismiss_notification – Descartar una notificación marcándola como leída o hecha
threadID: El ID del hilo de notificación (cadena, obligatorio)state: El nuevo estado de la notificación (readodone)
-
mark_all_notifications_read – Marcar todas las notificaciones como leídas
lastReadAt: Describe el último punto en que se revisaron las notificaciones (opcional, cadena RFC3339/ISO8601, predeterminado: ahora)owner: Propietario del repositorio opcional (cadena)repo: Nombre del repositorio opcional (cadena)
-
manage_notification_subscription – Gestionar una suscripción de notificación (ignorar, ver o eliminar) para un hilo de notificación
notificationID: El ID del hilo de notificación (cadena, obligatorio)action: Acción a realizar:ignore,watchodelete(cadena, obligatorio)
-
manage_repository_notification_subscription – Gestionar una suscripción de notificación de repositorio (ignorar, ver o eliminar)
owner: El propietario de la cuenta del repositorio (cadena, obligatorio)repo: El nombre del repositorio (cadena, obligatorio)action: Acción a realizar:ignore,watchodelete(cadena, obligatorio)
Recursos
Contenido del repositorio
-
Obtener contenido del repositorio Recupera el contenido de un repositorio en una ruta específica.
- Plantilla:
repo://{owner}/{repo}/contents{/path*} - Parámetros:
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)path: Ruta de archivo o directorio (cadena, opcional)
- Plantilla:
-
Obtener contenido del repositorio para una rama específica Recupera el contenido de un repositorio en una ruta específica para una rama dada.
- Plantilla:
repo://{owner}/{repo}/refs/heads/{branch}/contents{/path*} - Parámetros:
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)branch: Nombre de la rama (cadena, obligatorio)path: Ruta de archivo o directorio (cadena, opcional)
- Plantilla:
-
Obtener contenido del repositorio para un commit específico Recupera el contenido de un repositorio en una ruta específica para un commit dado.
- Plantilla:
repo://{owner}/{repo}/sha/{sha}/contents{/path*} - Parámetros:
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)sha: SHA del commit (cadena, obligatorio)path: Ruta de archivo o directorio (cadena, opcional)
- Plantilla:
-
Obtener contenido del repositorio para una etiqueta específica Recupera el contenido de un repositorio en una ruta específica para una etiqueta dada.
- Plantilla:
repo://{owner}/{repo}/refs/tags/{tag}/contents{/path*} - Parámetros:
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)tag: Nombre de la etiqueta (cadena, obligatorio)path: Ruta de archivo o directorio (cadena, opcional)
- Plantilla:
-
Obtener contenido del repositorio para una solicitud de extracción específica Recupera el contenido de un repositorio en una ruta específica para una solicitud de extracción dada.
- Plantilla:
repo://{owner}/{repo}/refs/pull/{prNumber}/head/contents{/path*} - Parámetros:
owner: Propietario del repositorio (cadena, obligatorio)repo: Nombre del repositorio (cadena, obligatorio)prNumber: Número de solicitud de extracción (cadena, obligatorio)path: Ruta de archivo o directorio (cadena, opcional)
- Plantilla:
Uso de la biblioteca
La API Go exportada de este módulo debe considerarse actualmente inestable y sujeta a cambios que puedan romper la compatibilidad. En el futuro, podríamos ofrecer estabilidad; por favor, abre un issue si hay un caso de uso donde esto sería valioso.
Licencia
Este proyecto está licenciado bajo los términos de la licencia de código abierto MIT. Consulte MIT para los términos completos.