MCP Server Codebase Analyzer
Analizador de bases de código de servidor MCP
Un servidor MCP (Model Context Protocol) de nivel de producción que analiza bases de código TypeScript, detecta problemas de salud del código, obtiene incidentes del sistema y genera planes de remediación accionables. Admite transporte dual (STDIO para desarrollo local, SSE para despliegue en la nube). Construido con ts-morph, Express y validación Zod.
🚀 Características
Tres herramientas principales:
analyze_codebase_health— Escanea repositorios TypeScript en busca de:Archivos grandes (candidatos potenciales a refactorización)
Falta de tipos de función explícitos (tipado débil)
Dependencias circulares (problemas arquitectónicos)
Utiliza
ts-morphpara el análisis a nivel de AST
fetch_system_incidents— Devuelve datos de incidentes estructurados:Datos de incidentes simulados (perfectos para pruebas/demos)
Retrasos y modos de fallo configurables
Respuestas JSON amigables para LLM
generate_remediation_plan— Crea planes de corrección accionables:Análisis de causa raíz a partir de seguimientos de pila (stack traces)
Pasos de remediación detallados
Sugerencias de código y mejores prácticas
Evaluación del nivel de riesgo
Todas las herramientas devuelven sobres de éxito/error estructurados diseñados para el consumo por parte de LLMs.
Descripción general de la arquitectura
flowchart LR
Client[McpClient] --> Runtime[RuntimeSelector]
Runtime -->|stdio| Stdio[StdioTransportAdapter]
Runtime -->|sse| Sse[SseTransportAdapter]
Stdio --> Server[McpServer]
Sse --> Server
Server --> Registry[ToolRegistry]
Registry --> ToolA[analyze_codebase_health]
Registry --> ToolB[fetch_system_incidents]
Registry --> ToolC[generate_remediation_plan]Ejecución local (STDIO)
Instalar dependencias:
npm install
Iniciar servidor:
npm run dev:stdio
El servidor se inicia a través de stdin/stdout y está listo para clientes MCP locales.
Ejecución con SSE (Express)
Configurar entorno:
TRANSPORT=sseopcional:
AUTH_TOKEN=tu-token-secreto
Iniciar servidor:
npm run dev:sse
Endpoints:
GET /eventspara el flujo SSEPOST /messages?sessionId=...para mensajes JSON-RPC de MCP
Conectar desde Cursor
Para uso local, registra Nexus-Core como un servidor MCP stdio:
comando:
nodeargumentos:
dist/index.js(después de compilar) otsx src/index.ts(desarrollo)entorno:
TRANSPORT=stdio
Para uso alojado, configura tu cliente MCP para usar el endpoint SSE:
URL de flujo:
https://<host>/eventsURL de mensajes:
https://<host>/messages?sessionId=<session-id>añade
Authorization: Bearer <AUTH_TOKEN>si la autenticación por token está habilitada.
Ejemplos de prompts
"Analiza mi repositorio"
"Obtén incidentes"
"Corrige este error"
Variables de entorno
Consulta .env.example para ver todos los ajustes admitidos. Controles importantes:
TRANSPORT:stdioosseTOOL_TIMEOUT_MS: tiempo de espera máximo para cada llamada a herramientaTS_MORPH_MAX_FILES,TS_MORPH_MAX_DEPTH: límites de seguridad para el análisisINCIDENT_API_TIMEOUT_MS,INCIDENT_API_RETRIES: controles de dependencias externasSSE_HEARTBEAT_MS,SSE_SESSION_TTL_MS: ciclo de vida de la sesión SSE
Despliegue en producción
Docker
Construir imagen:
docker build -t nexus-core .Ejecutar contenedor:
docker run -e TRANSPORT=sse -e PORT=8080 -p 8080:8080 nexus-core
Cloud Run
Usa deploy.sh:
PROJECT_ID=<gcp-project> REGION=<region> SERVICE=nexus-core ./deploy.shEste script:
Construye la imagen del contenedor
Envía a GCR
Despliega en Cloud Run
Fiabilidad y modelo de errores
Todas las solicitudes de herramientas se validan con Zod.
Ninguna ejecución de herramienta devuelve excepciones no controladas.
Los errores utilizan un sobre estándar con:
codemessageretryablesuggestedActionmeta(requestId,toolName, tiempo)
This server cannot be installed
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/kushalsai-01/mcp-server-codebase-analyser'
If you have feedback or need assistance with the MCP directory API, please join our Discord server