Servidor DependencyMCP
Un servidor de Protocolo de Contexto de Modelo (MCP) que analiza bases de código para generar gráficos de dependencias e información arquitectónica. Este servidor ayuda a comprender la estructura del código, las dependencias y los patrones arquitectónicos en múltiples lenguajes de programación.
Características
Compatibilidad con varios idiomas : analiza dependencias en TypeScript, JavaScript, C#, Python y más
Generación de gráficos de dependencia : crea gráficos de dependencia detallados en formato JSON o DOT
Análisis arquitectónico : infiere capas arquitectónicas y las valida según las reglas
Metadatos de archivo : extrae importaciones, exportaciones y otros metadatos de los archivos de origen
Sistema de puntuación : evalúa el código base en función de las reglas y patrones arquitectónicos
Related MCP server: Code Explainer MCP
Instalación
Clonar el repositorio
Instalar dependencias:
Construir el proyecto:
Configuración
Agregue a su archivo de configuración de MCP (generalmente ubicado en ~/.config/cline/mcp_settings.json o equivalente):
Variables de entorno:
MAX_LINES_TO_READ: Número máximo de líneas a leer de cada archivo (predeterminado: 1000)
CACHE_DIR: Directorio para almacenar archivos de caché de dependencia (predeterminado: .dependency-cache)
CACHE_TTL: Tiempo de vida de la caché en milisegundos (valor predeterminado: 1 hora = 3600000)
Herramientas disponibles
analizar_dependencias
Analiza las dependencias en una base de código y genera un gráfico de dependencia.
obtener_gráfico_de_dependencias
Obtiene el gráfico de dependencia para una base de código en formato JSON o DOT.
obtener metadatos del archivo
Obtiene metadatos detallados sobre un archivo específico.
obtener_puntuación_arquitectónica
Califica el código base según reglas y patrones arquitectónicos.
Ejemplo de salida
Gráfico de dependencia (JSON)
Puntuación arquitectónica
Desarrollo
El servidor está construido con TypeScript y utiliza:
Zod para la validación de esquemas
diff para comparación de archivos
minimatch para coincidencia de patrones globulares
Estructura del proyecto
Añadiendo compatibilidad con nuevos idiomas
Para agregar soporte para un nuevo lenguaje de programación:
Agregar extensiones de archivo a la matriz
fileTypespredeterminadaImplementar patrones de expresiones regulares específicos del lenguaje en
parseFileImportsyparseFileExportsAgregue cualquier patrón arquitectónico específico del idioma a
inferArchitecturalLayer
Licencia
Instituto Tecnológico de Massachusetts (MIT)