Github MCP Server

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.

Integrations

  • Provides integration with Github, allowing LLMs to search repositories, issues, commits, code, users, topics, and labels. It also supports listing and retrieving specific repository issues and pull requests.

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

  1. Crear u obtener un token de acceso para su cuenta de Github: Guía
  2. Agregar configuración de servidor a Claude Desktop:
    • MacOS: ~/Biblioteca/Soporte de aplicaciones/Claude/claude_desktop_config.json
    • Windows: Consulta esta guía
{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "github-mcp-server"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "your_personal_github_access_token" } } } }

Componentes

Herramientas

  1. 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.
  2. 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 o desc ).
      • 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 o updated ).
  3. 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 o desc ).
      • sort (cadena opcional, valor predeterminado: best match ): campo de ordenamiento (puede ser uno de los siguientes: committer-date o author-date ).
  4. 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.
  5. 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 o desc ).
      • sort (cadena opcional, valor predeterminado: best match ): campo de ordenamiento (puede ser uno de: followers , repositories o joined ).
  6. 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.
  7. 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 o desc ).
      • sort (cadena opcional, valor predeterminado: best match ): campo de ordenamiento (puede ser uno de los siguientes: created o updated ).
  8. 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 o desc ).
      • sort (cadena opcional, predeterminado: created ): campo de ordenación (puede ser uno de: created , comments o updated ).
      • 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.
  9. 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.
  10. 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 o desc ).
    • sort (cadena opcional, valor predeterminado: created ): campo de ordenamiento (puede ser uno de los siguientes: created , popularity , long-running o updated ).
    • 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).
  1. 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:

  1. "modelcontextprotocol" → ejecuta la herramienta search_repositories para encontrar repositorios donde se menciona modelcontextprotocol.
  2. "¿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.
  3. "¿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

  1. Instalar dependencias:
pnpm install
  1. Configurar el token de acceso de Github en .env :
GITHUB_PERSONAL_ACCESS_TOKEN=<your_personal_github_access_token>
  1. Ejecutar localmente con reloj:
pnpm dev
  1. Construir el servidor:
pnpm build
  1. Depuración local con inspector:
pnpm inspector
-
security - not tested
F
license - not found
-
quality - not tested

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.

  1. Installation
    1. Manual Installation
  2. Components
    1. Tools
  3. Usage examples
    1. Development
      ID: mltxtigc9r