mcp-github-project-manager

by kunwarVivek
Verified

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 GitHub Projects functionality through the MCP interface, allowing management of projects, issues, milestones, sprints, and custom fields using GitHub's GraphQL API

  • Uses GitHub's GraphQL API to interact with GitHub Projects, handling API integration, rate limits, and optimistic concurrency

Servidor MCP del Administrador de proyectos de GitHub

Una implementación de servidor del Protocolo de Contexto de Modelo (MCP) que proporciona la funcionalidad de Proyectos de GitHub mediante herramientas y recursos estandarizados. Este servidor permite a los clientes de LLM gestionar Proyectos de GitHub mediante programación a través de la interfaz MCP.

Descripción general

Este servidor implementa el Protocolo de Contexto de Modelo para exponer la funcionalidad de Proyectos de GitHub a los clientes LLM. Proporciona herramientas para gestionar proyectos, hitos, sprints y métricas mediante la API GraphQL de GitHub, manteniendo el estado y gestionando errores según las especificaciones de MCP.

Características principales

  • Gestión de proyectos
    • Crear y administrar proyectos de GitHub (v2)
    • Manejar configuraciones y ajustes del proyecto
    • Gestionar la visibilidad y el acceso al proyecto
  • Recursos del proyecto
    • Gestión de problemas e hitos
    • Planificación y seguimiento de sprints
    • Campos y vistas personalizados
    • Control de versiones y bloqueo de recursos
  • Implementación de MCP
    • Cumplimiento total de las especificaciones MCP
    • Definiciones de herramientas estandarizadas con validación Zod
    • Gestión del estado de los recursos
    • Manejo de respuesta progresiva
    • Manejo integral de errores
  • Integración de GitHub
    • Integración de API GraphQL con soporte de paginación
    • Manejo inteligente del límite de velocidad
    • Concurrencia optimista
    • Compatibilidad con webhooks (planificado)

Instalación

# Install dependencies npm install # or pnpm install # Set up environment variables cp .env.example .env # Edit .env with your GitHub token and details

Configuración

Variables de entorno requeridas:

GITHUB_TOKEN=your_github_token GITHUB_OWNER=repository_owner GITHUB_REPO=repository_name

El token de GitHub requiere estos permisos:

  • repo (Acceso completo al repositorio)
  • project (Acceso al proyecto)
  • write:org (Acceso de la organización)

Uso

# Start the MCP server npm start # Run tests npm test npm run test:e2e

Consulte la Guía del usuario para obtener instrucciones de uso detalladas.

Arquitectura

El servidor sigue los principios de Arquitectura Limpia con capas diferenciadas:

  • Capa de dominio : entidades centrales, interfaces de repositorio y esquemas Zod
  • Capa de infraestructura : Integración e implementación de la API de GitHub
  • Capa de servicio : coordinación de la lógica empresarial
  • Capa MCP : definiciones de herramientas y manejo de solicitudes

Consulte ARCHITECTURE.md para obtener documentación detallada de la arquitectura.

Estado actual

Características principales

CaracterísticaEstadoNotas
Creación de proyectos✅ CompletoSoporte completo para proyectos v2
Gestión de hitos✅ CompletoOperaciones CRUD implementadas
Planificación de sprints✅ CompletoIncluyendo seguimiento de métricas
Gestión de problemas✅ CompletoCon soporte para campos personalizados
Control de versiones de recursos✅ CompletoCon bloqueo optimista y validación de esquema
Integración de webhooks📅 PlanificadoActualizaciones en tiempo real

Implementación de MCP

ComponenteEstadoNotas
Definiciones de herramientas✅ CompletoTodas las herramientas principales implementadas con la validación de Zod
Gestión de recursos✅ CompletoCon bloqueo optimista y seguimiento de relaciones
Manejo de respuestas✅ CompletoFormato de contenido enriquecido con múltiples tipos de contenido
Manejo de errores✅ CompletoMapeo completo de errores a códigos de error MCP
Gestión del Estado✅ CompletoCon resolución de conflictos y limitación de velocidad

Mejoras recientes

  • Sistema de recursos mejorado :
    • Se agregó la validación del esquema Zod para todos los tipos de recursos
    • Se implementó el seguimiento de las relaciones entre recursos
    • Se creó una ResourceFactory centralizada para un acceso consistente a los recursos
  • Integración mejorada de la API de GitHub :
    • Se agregó limitación de velocidad inteligente con limitación automática
    • Se implementó el soporte de paginación para las API REST y GraphQL
    • Manejo mejorado de errores con tipos de errores específicos
  • Sistema de herramientas avanzado :
    • Se creó un registro de definición de herramientas con validación de Zod
    • Se implementó un formato de respuesta de herramienta estandarizado
    • Se agregó documentación basada en ejemplos para todas las herramientas.
  • Formato de respuesta enriquecido :
    • Se agregó soporte para múltiples tipos de contenido (JSON, Markdown, HTML, Texto)
    • Se implementaron actualizaciones de progreso para operaciones de larga duración.
    • Se agregó soporte de paginación para conjuntos de resultados grandes

Brechas funcionales identificadas

A pesar de las recientes mejoras, aún existen las siguientes brechas funcionales y se priorizan para el desarrollo futuro:

  1. Estrategia de almacenamiento en caché persistente :
    • Si bien ResourceCache proporciona almacenamiento en caché en memoria, carece de persistencia tras reinicios del servidor.
    • Sin almacenamiento en caché distribuido para implementaciones de múltiples instancias
    • Faltan políticas de desalojo de caché para la gestión de memoria
  2. Procesamiento de eventos en tiempo real :
    • Sin integración de webhook para actualizaciones en tiempo real desde GitHub
    • Falta un sistema de suscripción basado en eventos para los clientes
    • Falta de compatibilidad con eventos enviados por el servidor (SSE) para actualizaciones en tiempo real
  3. Características avanzadas de Proyectos de GitHub v2 :
    • Soporte limitado para tipos de campos personalizados y validación
    • Integración incompleta con los tipos de campos de Proyectos v2 más nuevos de GitHub
    • Falta la gestión de reglas de automatización
  4. Optimización del rendimiento :
    • No se realizan agrupaciones de consultas para recursos relacionados
    • Falta la actualización en segundo plano de los recursos a los que se accede con frecuencia
    • Búsqueda previa incompleta de recursos relacionados
  5. Visualización y generación de informes de datos :
    • No hay generadores de visualización integrados para métricas
    • Faltan capacidades de generación de informes
    • Análisis de datos de series temporales limitadas

Consulte docs/mcp/gaps-analysis.md para conocer el estado de implementación detallado.

Documentación

Desarrollo

Pruebas

# Unit tests npm test # Integration tests npm run test:integration # End-to-end tests npm run test:e2e

Calidad del código

# Lint code npm run lint # Type check npm run type-check # Format code npm run format

Contribuyendo

Consulte CONTRIBUTING.md para obtener pautas de desarrollo.

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
A
license - permissive license
-
quality - not tested

Proporciona herramientas integrales para gestionar proyectos, hitos, tareas y sprints de GitHub. Este servidor se integra a la perfección con GitHub Projects V2, ofreciendo funciones como flujos de trabajo kanban automatizados, planificación de sprints y gestión de campos personalizados.

  1. Overview
    1. Key Features
      1. Installation
        1. Configuration
          1. Usage
            1. Architecture
              1. Current Status
                1. Core Features
                2. MCP Implementation
                3. Recent Improvements
                4. Identified Functional Gaps
              2. Documentation
                1. Development
                  1. Testing
                  2. Code Quality
                2. Contributing
                  1. License
                    ID: g5jidpjria