GitHub MCP

oficial

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.

¿Qué puedes hacer con GitHub 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

Go Report Card

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

Install in VS Code Install in VS Code Insiders Install in Visual Studio

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

  1. Un host MCP compatible con soporte para servidores remotos (VS Code 1.101+, Claude Desktop, Cursor, Windsurf, etc.)
  2. Cualquier política aplicable habilitada

Instalación en 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 tu configuración de host:

Usando OAuthUsando un PAT de GitHub
VS Code (versión 1.101 o superior)
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "github_mcp_pat",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ]
}

Instalación en otros hosts MCP

  • Copilot CLI - Guía de instalación para GitHub Copilot CLI
  • GitHub Copilot en otros IDEs - Instalación para JetBrains, Visual Studio, Eclipse y Xcode con GitHub Copilot
  • Aplicaciones Claude - Guía de instalación para Claude Desktop y Claude Code CLI
  • Codex - Guía de instalación para OpenAI Codex
  • Cursor - Guía de instalación para el IDE Cursor
  • OpenCode - Guía de instalación para el agente de terminal OpenCode
  • Windsurf - Guía de instalación para el IDE Windsurf
  • Zed - Guía de instalación para el editor Zed
  • 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.

Cuando no se especifican conjuntos de herramientas, se usan los conjuntos de herramientas predeterminados.

Modo Insiders

¡Prueba las nuevas funciones antes que nadie! El servidor remoto ofrece una versión insiders con acceso anticipado a nuevas funciones y herramientas experimentales.

Usando ruta de URLUsando encabezado
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/insiders"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "X-MCP-Insiders": "true"
      }
    }
  }
}

Consulta la Documentación del servidor remoto para obtener más detalles y ejemplos, y Funciones de Insiders para ver una lista completa de lo que está disponible.

GitHub Enterprise

GitHub Enterprise Cloud con residencia de datos (ghe.com)

GitHub Enterprise Cloud también puede hacer uso del servidor remoto.

Ejemplo para https://octocorp.ghe.com con token PAT de GitHub:

{
    ...
    "github-octocorp": {
      "type": "http",
      "url": "https://copilot-api.octocorp.ghe.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    },
    ...
}

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

GitHub Enterprise Server

GitHub Enterprise Server no admite el alojamiento de servidores remotos. Consulta GitHub Enterprise Server y Enterprise Cloud con residencia de datos (ghe.com) en la configuración del servidor local.


Servidor GitHub MCP local

Install with Docker in VS Code Install with Docker in VS Code Insiders Install with Docker in Visual Studio

Requisitos previos

  1. Para ejecutar el servidor en un contenedor, necesitarás tener Docker instalado.

  2. 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.

  3. 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:

  1. Almacena tu PAT en variables de entorno

    export GITHUB_PAT=your_token_here
    

    O crea un archivo .env:

    GITHUB_PAT=your_token_here
    
  2. Protege tu archivo .env

    # Add to .gitignore to prevent accidental commits
    echo ".env" >> .gitignore
    
  3. 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.
"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>"
    }
}

Instalación

Instalación en GitHub Copilot en 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á.

Más información sobre el uso de herramientas del servidor MCP en la documentación del modo agente de VS Code.

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:

{
  "mcp": {
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-p",
          "127.0.0.1:8085:8085",
          "-e",
          "GITHUB_OAUTH_CALLBACK_PORT",
          "ghcr.io/github/github-mcp-server"
        ],
        "env": {
          "GITHUB_OAUTH_CALLBACK_PORT": "8085"
        }
      }
    }
  }
}

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.

Para implementaciones stdio no interactivas, consulta Autenticación de GitHub App.

O autentícate con un Token de acceso personal. Configura GITHUB_PERSONAL_ACCESS_TOKEN en su lugar (tiene prioridad sobre OAuth):

{
  "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 aplicaciones host que acepten el mismo formato.

Ejemplo de bloque JSON sin la clave MCP incluida
{
  "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}"
      }
    }
  }
}

Instalación en otros hosts MCP

Para otras aplicaciones host MCP, consulta nuestras guías de instalación:

Para una visión general completa de todas las opciones de instalación, consulta nuestro Índice de Guías de Instalación.

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.

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 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.

Cuando no se especifican conjuntos de herramientas, se usan los conjuntos de herramientas predeterminados.

¿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:

  1. Usando el argumento de línea de comandos:

    github-mcp-server --toolsets repos,issues,pull_requests,actions,code_security
    
  2. Usando la 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 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.

  1. Usando el argumento de línea de comandos:

    github-mcp-server --tools get_file_contents,issue_read,create_pull_request
    
  2. Usando la variable de entorno:

    GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./github-mcp-server
    
  3. Combinando con conjuntos de herramientas (aditivo):

    github-mcp-server --toolsets repos,issues --tools get_gist
    

    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:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" \
  ghcr.io/github/github-mcp-server

Uso de herramientas con Docker

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:

GITHUB_TOOLSETS="default,stargazers" ./github-mcp-server

Modo Insiders

El servidor MCP local de GitHub ofrece una versión insiders con acceso anticipado a nuevas funciones y herramientas experimentales.

  1. Usando el argumento de línea de comandos:

    ./github-mcp-server --insiders
    
  2. Usando la variable de entorno:

    GITHUB_INSIDERS=true ./github-mcp-server
    

Cuando uses Docker:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_INSIDERS=true \
  ghcr.io/github/github-mcp-server

Conjuntos de herramientas disponibles

Los siguientes conjuntos de herramientas están disponibles:

Conjunto de herramientasDescripción
personcontextMuy recomendado: Herramientas que proporcionan contexto sobre el usuario actual y el contexto de GitHub en el que estás operando
workflowactionsFlujos de trabajo de GitHub Actions y operaciones de CI/CD
code-squarecode_qualityHerramientas relacionadas con la calidad del código de GitHub
codescancode_securityHerramientas relacionadas con la seguridad del código, como GitHub Code Scanning
copilotcopilotHerramientas relacionadas con Copilot
copilotcopilot_issue_intentsHerramientas opcionales de asignación de problemas de Copilot que llevan metadatos de intención (justificación, confianza, sugerencia)
dependabotdependabotHerramientas de Dependabot
comment-discussiondiscussionsHerramientas relacionadas con GitHub Discussions
logo-gistgistsHerramientas relacionadas con GitHub Gist
git-branchgitHerramientas relacionadas con la API Git de GitHub para operaciones Git de bajo nivel
lawgovernanceHerramientas de gobernanza de repositorios para gestionar reglas y propiedades personalizadas a nivel de repositorio, organización y empresa
issue-openedissuesHerramientas relacionadas con GitHub Issues
taglabelsHerramientas relacionadas con GitHub Labels
bellnotificationsHerramientas relacionadas con GitHub Notifications
organizationorgsHerramientas relacionadas con GitHub Organization
projectprojectsHerramientas relacionadas con GitHub Projects
git-pull-requestpull_requestsHerramientas relacionadas con GitHub Pull Request
reporeposHerramientas relacionadas con GitHub Repository
shield-locksecret_protectionHerramientas relacionadas con la protección de secretos, como GitHub Secret Scanning
shieldsecurity_advisoriesHerramientas relacionadas con avisos de seguridad
starstargazersHerramientas relacionadas con GitHub Stargazers
peopleusersHerramientas relacionadas con GitHub User

Conjuntos de herramientas adicionales en el servidor MCP remoto de GitHub

Conjunto de herramientasDescripción
copilotHerramientas relacionadas con Copilot (por ejemplo, Copilot Coding Agent)
copilot_spacesHerramientas relacionadas con Copilot Spaces
github_support_docs_searchBuscar 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.

workflow 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)
code-square 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)
codescan 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)
person 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 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)
copilot 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 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)
comment-discussion 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)
logo-gist 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-branch 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)
law 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)
  • custom_properties_read - Leer propiedades personalizadas

    • Ámbitos de desafío OAuth: repo, read:org, read:enterprise
    • enterprise: Slug de la empresa. Obligatorio 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. 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)
  • custom_properties_write - Establecer propiedades personalizadas

    • Á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)
issue-opened 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:
      1. 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.
      2. get_comments - Obtener comentarios del problema.
      3. get_sub_issues - Obtener sub-problemas (hijos) del problema.
      4. get_parent - Obtener el problema principal, si este problema es un sub-problema de otro.
      5. 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)
tag 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)
bell 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)
organization 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)
project 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)
git-pull-request 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:
      1. get - Obtener detalles de un pull request específico.
      2. get_diff - Obtener el diff de un pull request.
      3. get_status - Obtener el estado combinado de los commits de un commit head en un pull request.
      4. 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.
      5. 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.
      6. 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.
      7. 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.
      8. 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.
      9. 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)
repo 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)
shield-lock 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)
shield 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)
star 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)
people 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:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_READ_ONLY=1 \
  ghcr.io/github/github-mcp-server

Modo de bloqueo

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:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_LOCKDOWN_MODE=1 \
  ghcr.io/github/github-mcp-server

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.

./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 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.

ClaveVariable de entornoPredeterminado
SERVER_NAMEGITHUB_MCP_SERVER_NAMEgithub-mcp-server
SERVER_TITLEGITHUB_MCP_SERVER_TITLEGitHub MCP Server

Por ejemplo, para configurar una instancia del servidor para GitHub Enterprise Server:

{
  "SERVER_NAME": "ghes-mcp-server",
  "SERVER_TITLE": "GHES MCP Server"
}

O usando variables de entorno:

export GITHUB_MCP_SERVER_NAME="ghes-mcp-server"
export GITHUB_MCP_SERVER_TITLE="GHES MCP Server"

Uso de la biblioteca

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.