Servidor MCP de Github
Un servidor de protocolo de contexto modelo para Github.
Proporciona integración con Github a través de MCP, lo que permite que los LLM interactúen con él.
Documentación de la API REST de Github
Instalación
Instalación manual
Crear u obtener un token de acceso para su cuenta de Github: Guía
Agregar configuración de servidor a Claude Desktop:
MacOS: ~/Biblioteca/Soporte de aplicaciones/Claude/claude_desktop_config.json
Windows: Consulta esta guía
Related MCP server: GitHub MCP Server
Componentes
Herramientas
search_repositories: busca un repositorio en GitHub.Entradas requeridas:
query(cadena): la consulta para buscar el repositorio.page(número, predeterminado: 30, máximo: 100): Número de página para paginación.per_page(número, predeterminado: 30, máximo: 100): Número de resultados por página.
search_issues: busca problemas de un repositorio.Entradas requeridas:
query(cadena): la consulta para buscar el repositorio.page(número, predeterminado: 1): Número de página para paginación.per_page(número, predeterminado: 30, máximo: 100): Número de resultados por página.order(cadena opcional, predeterminado:desc): tipo de orden (ascodesc).sort(cadena opcional, valor predeterminado:best match): campo de ordenamiento (puede ser uno de los siguientes:comments,reactions,reactions-+1,reactions--1,reactions-smile,reactions-thinking_face,reactions-heart,reactions-tada,interactions,createdoupdated).
search_commits: busca confirmaciones de un repositorio.Entradas requeridas:
query(cadena): la consulta para buscar el repositorio.page(número, predeterminado: 1): Número de página para paginación.per_page(número, predeterminado: 30, máximo: 100): Número de resultados por página.order(cadena opcional, predeterminado:desc): tipo de orden (ascodesc).sort(cadena opcional, valor predeterminado:best match): campo de ordenamiento (puede ser uno de los siguientes:committer-dateoauthor-date).
search_code: Busca código de un repositorio.Entradas requeridas:
query(cadena): la consulta para buscar el repositorio.page(número, predeterminado: 1): Número de página para paginación.per_page(número, predeterminado: 30, máximo: 100): Número de resultados por página.
search_users: busca usuarios de un repositorio.Entradas requeridas:
query(cadena): la consulta para buscar el repositorio.page(número, predeterminado: 1): Número de página para paginación.per_page(número, predeterminado: 30, máximo: 100): Número de resultados por página.order(cadena opcional, predeterminado:desc): tipo de orden (ascodesc).sort(cadena opcional, valor predeterminado:best match): campo de ordenamiento (puede ser uno de:followers,repositoriesojoined).
search_topics: Buscar temas.Entradas requeridas:
query(cadena): la consulta para buscar el repositorio.page(número, predeterminado: 1): Número de página para paginación.per_page(número, predeterminado: 30, máximo: 100): Número de resultados por página.
search_labels: Busca etiquetas en un repositorio.Entradas requeridas:
query(cadena): la consulta para buscar el repositorio.page(número, predeterminado: 1): Número de página para paginación.per_page(número, predeterminado: 30, máximo: 100): Número de resultados por página.order(cadena opcional, predeterminado:desc): tipo de orden (ascodesc).sort(cadena opcional, valor predeterminado:best match): campo de ordenamiento (puede ser uno de los siguientes:createdoupdated).
list_repositories_issues: enumera los problemas de un repositorio.Entradas requeridas:
owner(cadena): el propietario del repositorio.repo(cadena): el nombre del repositorio.page(número opcional, predeterminado: 1): Número de página para paginación.per_page(número opcional, predeterminado: 30, máximo: 100): Número de resultados por página.direction(cadena opcional, predeterminada:desc): Dirección de clasificación (ascodesc).sort(cadena opcional, predeterminado:created): campo de ordenación (puede ser uno de:created,commentsoupdated).since(cadena opcional): Resultados actualizados por última vez después del tiempo indicado (formato ISO 8601: AAAA-MM-DDTHH:MM:SSZ).labels(cadena opcional): nombres de etiquetas separados por comas. Ejemplo: bug,ui,@high.milestone(cadena opcional): número de hito.assignee(cadena opcional): Nombre del usuario cesionario (*para todos).creator(cadena opcional): el usuario que creó el problema. (*para todos).mentioned(cadena opcional): un usuario que se menciona en el problema.
get_issue: obtener un problema de un repositorio.Entradas requeridas:
owner(cadena): el propietario del repositorio.repo(cadena): el nombre del repositorio.issue_number(número): El número de emisión.
list_repositories_pull_requests: enumera las solicitudes de extracción de un repositorio.
Entradas requeridas:
owner(cadena): el propietario del repositorio.repo(cadena): el nombre del repositorio.page(número opcional, predeterminado: 1): Número de página para paginación.per_page(número opcional, predeterminado: 30, máximo: 100): Número de resultados por página.direction(cadena opcional, predeterminada:desc): Dirección de clasificación (ascodesc).sort(cadena opcional, valor predeterminado:created): campo de ordenamiento (puede ser uno de los siguientes:created,popularity,long-runningoupdated).head(cadena opcional): filtra las extracciones por usuario principal u organización principal y nombre de rama en el formato usuario:nombre-de-referencia u organización:nombre-de-referencia (por ejemplo: github:new-script-format o octocat:test-branch).base(cadena opcional): filtra las extracciones por nombre de rama base. (Por ejemplo: gh-pages).
get_pull_request: obtiene una solicitud de extracción de un repositorio.
Entradas requeridas:
owner(cadena): el propietario del repositorio.repo(cadena): el nombre del repositorio.pull_request_number(número): el número de solicitud de extracción.
Ejemplos de uso
Algunos ejemplos de indicaciones que puedes usar para interactuar con Github:
"modelcontextprotocol" → ejecuta la herramienta
search_repositoriespara encontrar repositorios donde se menciona modelcontextprotocol."¿Cuál es el problema 739 en el repositorio de servidores modelcontextprotocol?" → ejecute la herramienta
get_issuepara encontrar el problema 739 en el repositorio de servidores modelcontextprotocol."¿Cuál es el PR 717 en el repositorio de servidores modelcontextprotocol?" → ejecute la herramienta
get_pull_requestpara encontrar el PR 717 en el repositorio de servidores modelcontextprotocol.
Desarrollo
Instalar dependencias:
Configurar el token de acceso de Github en
.env:
Ejecutar localmente con reloj:
Construir el servidor:
Depuración local con inspector: