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
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.
- Entradas requeridas:
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 (asc
odesc
).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
,created
oupdated
).
- Entradas requeridas:
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 (asc
odesc
).sort
(cadena opcional, valor predeterminado:best match
): campo de ordenamiento (puede ser uno de los siguientes:committer-date
oauthor-date
).
- Entradas requeridas:
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.
- Entradas requeridas:
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 (asc
odesc
).sort
(cadena opcional, valor predeterminado:best match
): campo de ordenamiento (puede ser uno de:followers
,repositories
ojoined
).
- Entradas requeridas:
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.
- Entradas requeridas:
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 (asc
odesc
).sort
(cadena opcional, valor predeterminado:best match
): campo de ordenamiento (puede ser uno de los siguientes:created
oupdated
).
- Entradas requeridas:
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 (asc
odesc
).sort
(cadena opcional, predeterminado:created
): campo de ordenación (puede ser uno de:created
,comments
oupdated
).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.
- Entradas requeridas:
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.
- Entradas requeridas:
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 (asc
odesc
).sort
(cadena opcional, valor predeterminado:created
): campo de ordenamiento (puede ser uno de los siguientes:created
,popularity
,long-running
oupdated
).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_repositories
para encontrar repositorios donde se menciona modelcontextprotocol. - "¿Cuál es el problema 739 en el repositorio de servidores modelcontextprotocol?" → ejecute la herramienta
get_issue
para 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_request
para 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:
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Proporciona integración con Github a través del Protocolo de contexto de modelo (MCP), lo que permite que los modelos de lenguaje grandes interactúen con los repositorios, problemas, solicitudes de extracción y funcionalidad de búsqueda de Github.
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.Last updated -1252,147PythonMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enables Large Language Models to interact with Git repositories through a robust API, supporting operations like repository initialization, cloning, file staging, committing, and branch management.Last updated -2150970TypeScriptApache 2.0
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI models to interact with GitHub's API, allowing for repository creation and management with descriptions, topics, and website URLs through natural language commands.Last updated -1JavaScript
- -securityFlicense-qualityProvides tools for interacting with GitHub's API through the MCP protocol, allowing users to create repositories, push content, and retrieve user information.Last updated -JavaScript