GitHub MCP Tools

Integrations

  • Supports environment variable management through .env files to securely store GitHub credentials and configuration settings.

  • Allows interaction with GitHub's API to search repositories and issues, create and manage issues and pull requests, handle repository settings and workflows, and manage collaborators and teams.

  • Enables management of GitHub Actions workflows, including enabling, disabling, and triggering workflow actions within repositories.

Herramientas MCP de GitHub

Un programa multi-Claude (MCP) para interactuar con las API de GitHub a través de Claude Desktop.

Características

  • Buscar repositorios y problemas de GitHub
  • Crear, actualizar y administrar problemas y solicitudes de extracción de GitHub
  • Administrar configuraciones y ajustes del repositorio
  • Gestionar flujos de trabajo y acciones del repositorio
  • Búsqueda de usuarios y organizaciones
  • Administrar colaboradores y equipos del repositorio

Instalación

  1. Clonar este repositorio:
    git clone https://github.com/yourusername/github-mcp.git cd github-mcp
  2. Crear y activar un entorno virtual:
    # On macOS/Linux python -m venv venv source venv/bin/activate # On Windows python -m venv venv .\venv\Scripts\activate
  3. Instalar dependencias:
    pip install -r requirements.txt
  4. Cree un archivo .env en la raíz del proyecto:
    touch .env
  5. Agregue sus credenciales de GitHub al archivo .env :
    GITHUB_TOKEN=your_personal_access_token_here GITHUB_USERNAME=your_github_username
  6. Pruebe la instalación:
    # Run all tests python -m pytest # Run a specific test file python -m pytest tests/test_search_repos.py
  7. Inicie el servidor MCP:
    python run.py

Configuración del entorno

Token de acceso personal de GitHub

Necesitará un token de acceso personal detallado para autenticarse con GitHub:

  1. Inicia sesión en tu cuenta de GitHub
  2. Vaya a Configuración > Configuración de desarrollador > Tokens de acceso personal > Tokens de granularidad fina
  3. Haga clic en "Generar nuevo token"
  4. Configurar el token:
    • Nombre del token: "Integración de escritorio de Claude"
    • Descripción: "Token para la integración de GitHub con Claude Desktop"
    • Caducidad: Elija una fecha de caducidad adecuada
    • Acceso al repositorio: seleccione "Todos los repositorios" o repositorios específicos
    • Permisos:
      • Permisos del repositorio:
        • Acciones: Leer y escribir
        • Contenidos: Leer y escribir
        • Problemas: Leer y escribir
        • Solicitudes de extracción: lectura y escritura
        • Ganchos del repositorio: lectura y escritura
        • Configuración del repositorio: lectura y escritura
      • Permisos de la organización (si se trabaja con repositorios de la organización):
        • Miembros: Sólo lectura
        • Equipos: solo lectura
  5. Haga clic en "Generar token" y guarde el token generado de forma segura.

Herramientas

Buscar repositorios

Busque repositorios de GitHub utilizando varios criterios.

Parámetros:

  • consulta: cadena de consulta de búsqueda
  • ordenar: campo de ordenación (estrellas, bifurcaciones, actualizado, etc.)
  • orden: Orden de clasificación (ascendente o descendente)
  • max_results: Número máximo de resultados a devolver (predeterminado: 10)

Crear problema

Crea un nuevo problema de GitHub en un repositorio específico.

Parámetros:

  • propietario: Propietario del repositorio
  • repo: Nombre del repositorio
  • título: Título del número
  • cuerpo: Descripción del problema
  • etiquetas: Lista de etiquetas a aplicar
  • cesionarios: Lista de nombres de usuario de los cesionarios

Crear solicitud de extracción

Crear una nueva solicitud de extracción.

Parámetros:

  • propietario: Propietario del repositorio
  • repo: Nombre del repositorio
  • título: Título de relaciones públicas
  • cuerpo: descripción de relaciones públicas
  • cabeza: rama fuente
  • base: rama de destino
  • borrador: si se creará como borrador de PR

Administrar la configuración del repositorio

Actualizar la configuración y los ajustes del repositorio.

Parámetros:

  • propietario: Propietario del repositorio
  • repo: Nombre del repositorio
  • Ajustes: Diccionario de ajustes para actualizar

Problemas de búsqueda

Busque problemas en todos los repositorios.

Parámetros:

  • consulta: cadena de consulta de búsqueda
  • estado: Estado del problema (abierto, cerrado, todos)
  • sort: Ordenar campo
  • orden: Orden de clasificación
  • max_results: Número máximo de resultados

Administrar flujos de trabajo

Administrar flujos de trabajo de GitHub Actions.

Parámetros:

  • propietario: Propietario del repositorio
  • repo: Nombre del repositorio
  • workflow_file: Ruta del archivo de flujo de trabajo
  • acción: Acción a realizar (habilitar, deshabilitar, activar)

Administrar colaboradores

Administrar colaboradores del repositorio.

Parámetros:

  • propietario: Propietario del repositorio
  • repo: Nombre del repositorio
  • nombre de usuario: Nombre de usuario del colaborador
  • Permiso: Nivel de permiso (extraer, enviar, administrar, mantener, triaje)

Ejemplo de uso

# Search for repositories search_repos(query="python web framework", sort="stars", max_results=5) # Create a new issue create_issue( owner="username", repo="repository", title="Bug: Login not working", body="Users cannot log in using the login button", labels=["bug", "high-priority"] ) # Create a pull request create_pull_request( owner="username", repo="repository", title="Feature: Add user authentication", body="Implements JWT-based authentication", head="feature/auth", base="main" ) # Search for issues search_issues(query="is:open is:issue author:username", max_results=10) # Manage repository settings manage_repo_settings( owner="username", repo="repository", settings={ "has_issues": True, "has_projects": True, "has_wiki": True } )

Desarrollo

Ejecución de pruebas

# Run all tests python -m pytest # Run with coverage python -m pytest --cov=src tests/ # Run specific test file python -m pytest tests/test_search_repos.py

Agregar nuevas herramientas

  1. Crea un nuevo archivo en src/tools/
  2. Implemente la función de su herramienta
  3. Registra la herramienta en src/main.py
  4. Añadir pruebas en tests/
  5. Actualizar la documentación en README.md

Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Realiza tus cambios
  4. Ejecutar pruebas
  5. Enviar una solicitud de extracción

Licencia

Licencia MIT

-
security - not tested
F
license - not found
-
quality - not tested

Un programa Multi-Claude para interactuar con las API de GitHub a través de Claude Desktop, que permite a los usuarios buscar repositorios, administrar problemas, solicitudes de extracción, configuraciones de repositorios, flujos de trabajo y colaboradores.

  1. Features
    1. Installation
      1. Environment Setup
        1. GitHub Personal Access Token
      2. Tools
        1. Search Repositories
        2. Create Issue
        3. Create Pull Request
        4. Manage Repository Settings
        5. Search Issues
        6. Manage Workflows
        7. Manage Collaborators
      3. Example Usage
        1. Development
          1. Running Tests
          2. Adding New Tools
          3. Contributing
        2. License
          ID: lwqgnude1m