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: CodeBase Optimizer
Instalación
Clonar el repositorio
Instalar dependencias:
npm installConstruir el proyecto:
npm run buildConfiguración
Agregue a su archivo de configuración de MCP (generalmente ubicado en ~/.config/cline/mcp_settings.json o equivalente):
json { mcpServers: { \DependencyMCP: { \command: \node, \args: [\path/to/dependency-mcp/dist/index.js], \env: { \MAX_LINES_TO_READ: \1000, \CACHE_DIR: \path/to/dependency-mcp/.dependency-cache, \CACHE_TTL: \3600000 } } }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.
const result = await client.callTool("DependencyMCP", "analyze_dependencies", {
path: "/path/to/project",
excludePatterns: ["node_modules", "dist"], // optional
maxDepth: 10, // optional
fileTypes: [".ts", ".js", ".cs"] // optional
});obtener_gráfico_de_dependencias
Obtiene el gráfico de dependencia para una base de código en formato JSON o DOT.
const result = await client.callTool("DependencyMCP", "get_dependency_graph", {
path: "/path/to/project",
format: "dot" // or "json" (default)
});obtener metadatos del archivo
Obtiene metadatos detallados sobre un archivo específico.
const result = await client.callTool("DependencyMCP", "get_file_metadata", {
path: "/path/to/file.ts"
});obtener_puntuación_arquitectónica
Califica el código base según reglas y patrones arquitectónicos.
const result = await client.callTool("DependencyMCP", "get_architectural_score", {
path: "/path/to/project",
rules: [
{
pattern: "src/domain/**/*",
allowed: ["src/domain/**/*"],
forbidden: ["src/infrastructure/**/*"]
}
]
});Ejemplo de salida
Gráfico de dependencia (JSON)
{
"src/index.ts": {
"path": "src/index.ts",
"imports": ["./utils", "./services/parser"],
"exports": ["analyze", "generateGraph"],
"namespaces": [],
"architecturalLayer": "Infrastructure",
"dependencies": ["src/utils.ts", "src/services/parser.ts"],
"dependents": []
}
}Puntuación arquitectónica
{
"score": 85,
"violations": [
"src/domain/user.ts -> src/infrastructure/database.ts violates architectural rules"
],
"details": "Score starts at 100 and deducts 5 points per violation"
}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
dependency-mcp/
├── src/
│ └── index.mts # Main server implementation
├── package.json
├── tsconfig.json
└── README.mdAñ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)
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mkearl/dependency-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
