NestJsMcp
El servidor NestJS MCP es un potente servidor del Protocolo de Contexto de Modelo que proporciona más de 40 herramientas especializadas para el desarrollo con NestJS. Se integra sin problemas con asistentes de IA como Claude Desktop, Cursor, Claude Code CLI y cualquier cliente compatible con MCP.
Documentación
Servidor MCP de NestJS
Un servidor integral del Protocolo de Contexto de Modelos (MCP) para el desarrollo con NestJS
Potencia tu desarrollo con NestJS mediante asistencia impulsada por IA
Características • Instalación • Configuración • Herramientas • Uso • Contribuciones
Descripción general
El servidor MCP de NestJS es un potente servidor del Protocolo de Contexto de Modelos que proporciona más de 40 herramientas especializadas para el desarrollo con NestJS. Se integra sin problemas con asistentes de IA como Claude Desktop, Cursor, Claude Code CLI y cualquier cliente compatible con MCP.
¿Por qué NestJS MCP?
- Acelera el desarrollo: genera código repetitivo, controladores, servicios y recursos CRUD completos en segundos
- Mejores prácticas integradas: todo el código generado sigue las mejores prácticas y convenciones de NestJS
- Seguridad ante todo: herramientas integradas de auditoría de seguridad para identificar vulnerabilidades en tu código
- Ecosistema completo: desde el andamiaje hasta el despliegue, cubre todo el ciclo de vida del desarrollo
- Aprendizaje impulsado por IA: explicaciones instantáneas de conceptos, decoradores y patrones de NestJS
Características
Generación de código
Genera código de NestJS listo para producción con decoradores, tipos y mejores prácticas adecuados.
Andamiaje de proyectos
Crea proyectos NestJS completos con tu base de datos, autenticación y herramientas preferidas preconfiguradas.
Herramientas de pruebas
Genera pruebas unitarias, pruebas E2E, fábricas de pruebas y repositorios simulados automáticamente.
Auditoría de seguridad
Analiza tu código en busca de vulnerabilidades comunes (inyección SQL, XSS, secretos codificados, etc.) con clasificaciones de gravedad.
Automatización de despliegues
Genera Docker, Kubernetes, canalizaciones CI/CD, configuraciones de Nginx y más.
Documentación y aprendizaje
Accede a la documentación, conceptos y mejores prácticas de NestJS directamente a través de tu asistente de IA.
Instalación
Requisitos previos
- Node.js 18.x o superior
- npm 9.x o superior
Inicio rápido
# Clone the repository
git clone https://github.com/pirumar/NestJsMcp.git
cd nestjs-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Verify installation
npm start
Scripts de compilación
| Comando | Descripción |
|---|---|
npm run build | Compila TypeScript a JavaScript |
npm run dev | Modo de observación para desarrollo |
npm start | Ejecuta el servidor MCP |
Configuración
Claude Desktop
Agrega a tu archivo de configuración de Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"nestjs": {
"command": "node",
"args": ["/absolute/path/to/nestjs-mcp/dist/index.js"]
}
}
}
Cursor IDE
Agrega a tu configuración MCP de Cursor (.cursor/mcp.json):
{
"mcpServers": {
"nestjs": {
"command": "node",
"args": ["/absolute/path/to/nestjs-mcp/dist/index.js"]
}
}
}
Claude Code CLI
Agrega a tu configuración de Claude Code:
{
"mcpServers": {
"nestjs": {
"command": "node",
"args": ["/absolute/path/to/nestjs-mcp/dist/index.js"]
}
}
}
Nota: Reemplaza
/absolute/path/to/nestjs-mcpcon la ruta real de tu instalación.
Herramientas disponibles
Herramientas de generación de código
| Herramienta | Descripción |
|---|---|
nestjs_generate_controller | Genera controladores con operaciones CRUD opcionales |
nestjs_generate_service | Genera servicios con integración de repositorios |
nestjs_generate_module | Genera módulos con proveedores e importaciones |
nestjs_generate_resource | Genera recursos CRUD completos (módulo, controlador, servicio, entidad, DTO) |
nestjs_generate_dto | Genera DTO con decoradores de class-validator |
nestjs_generate_entity | Genera entidades de TypeORM/Mongoose |
nestjs_generate_guard | Genera guardias de autenticación, roles o personalizados |
nestjs_generate_interceptor | Genera interceptores de registro, transformación, caché o tiempo de espera |
nestjs_generate_pipe | Genera tuberías de validación o transformación |
nestjs_generate_filter | Genera filtros de excepciones |
nestjs_generate_middleware | Genera middleware personalizado |
Herramientas de andamiaje de proyectos
| Herramienta | Descripción |
|---|---|
nestjs_scaffold_project | Genera un proyecto NestJS completo con opciones personalizables |
Opciones de andamiaje:
- Base de datos: PostgreSQL, MySQL, MongoDB, SQLite
- Autenticación: autenticación basada en JWT con Passport
- Documentación: integración con Swagger/OpenAPI
- Contenedores: Docker y Docker Compose
- Pruebas: configuración de Jest con cobertura
- WebSockets: integración con Socket.io
Herramientas de pruebas
| Herramienta | Descripción |
|---|---|
nestjs_generate_unit_test | Genera pruebas unitarias para servicios |
nestjs_generate_controller_test | Genera pruebas unitarias de controladores |
nestjs_generate_e2e_test | Genera pruebas de extremo a extremo |
nestjs_generate_test_factory | Genera fábricas de datos de prueba |
nestjs_generate_mock_repository | Genera repositorio simulado para pruebas |
nestjs_generate_test_helpers | Genera utilidades de prueba comunes |
Herramientas de seguridad
| Herramienta | Descripción |
|---|---|
nestjs_security_audit | Auditoría de seguridad integral de tu base de código |
nestjs_security_checklist | Obtén la lista de verificación de mejores prácticas de seguridad |
nestjs_generate_secure_main | Genera main.ts reforzado en seguridad |
Las comprobaciones de seguridad incluyen:
- Vulnerabilidades de inyección SQL
- Secuencias de comandos entre sitios (XSS)
- Secretos y credenciales codificados
- Prácticas criptográficas inseguras
- Vulnerabilidades de recorrido de rutas
- Riesgos de inyección de comandos
- Exposición de datos sensibles
- Encabezados de seguridad faltantes
Herramientas de despliegue
| Herramienta | Descripción |
|---|---|
nestjs_generate_dockerfile | Genera Dockerfile de múltiples etapas optimizado |
nestjs_generate_docker_compose | Genera configuración de Docker Compose |
nestjs_generate_github_actions | Genera canalización CI/CD de GitHub Actions |
nestjs_generate_gitlab_ci | Genera canalización CI/CD de GitLab |
nestjs_generate_kubernetes | Genera manifiestos de despliegue de Kubernetes |
nestjs_generate_pm2_config | Genera configuración del ecosistema PM2 |
nestjs_generate_nginx_config | Genera configuración de proxy inverso de Nginx |
nestjs_generate_systemd_service | Genera archivo de servicio systemd |
nestjs_generate_env_files | Genera archivos de configuración de entorno |
Herramientas de documentación y aprendizaje
| Herramienta | Descripción |
|---|---|
nestjs_explain_concept | Explicación detallada de conceptos de NestJS |
nestjs_explain_decorator | Explica decoradores específicos con ejemplos |
nestjs_explain_cli | Explica comandos de la CLI de NestJS |
nestjs_list_schematics | Enumera todos los esquemas disponibles de NestJS |
nestjs_list_decorators | Enumera decoradores por categoría |
nestjs_best_practices | Obtén mejores prácticas por categoría |
nestjs_recommended_packages | Obtén paquetes recomendados según el caso de uso |
nestjs_search_docs | Busca en la documentación de NestJS |
nestjs_request_lifecycle | Comprende el ciclo de vida de las solicitudes |
nestjs_dependency_injection | Aprende sobre la inyección de dependencias |
nestjs_get_common_errors | Obtén soluciones para errores comunes |
Herramientas de análisis de código
| Herramienta | Descripción |
|---|---|
nestjs_analyze_code | Analiza el código en busca de problemas y antipatrones |
nestjs_suggest_improvements | Obtén sugerencias de mejora |
nestjs_validate_structure | Valida la estructura del proyecto |
Recursos disponibles
Accede a la documentación de NestJS directamente a través de los recursos MCP:
| URI del recurso | Descripción |
|---|---|
nestjs://docs/concepts/{topic} | Conceptos principales (módulos, controladores, proveedores, etc.) |
nestjs://docs/techniques/{topic} | Técnicas (base de datos, autenticación, validación, caché, etc.) |
nestjs://docs/advanced/{topic} | Temas avanzados (CQRS, eventos, microservicios, etc.) |
nestjs://docs/cli/commands | Referencia de comandos de la CLI |
nestjs://docs/cli/schematics | Referencia de esquemas |
nestjs://docs/decorators | Referencia completa de decoradores |
nestjs://docs/best-practices | Guía de mejores prácticas |
nestjs://docs/packages | Paquetes recomendados |
nestjs://docs/errors/{error} | Errores comunes y soluciones |
Ejemplos de uso
Generar un recurso CRUD completo
"Generate a complete CRUD resource for 'products' with TypeORM entity"
Esto crea:
products.module.tsproducts.controller.tsproducts.service.tsproduct.entity.tscreate-product.dto.tsupdate-product.dto.ts
Crear un nuevo proyecto con andamiaje
"Scaffold a new NestJS project called 'my-api' with PostgreSQL, JWT auth, Swagger, and Docker"
Esto genera una estructura de proyecto completa con:
- Configuración de base de datos
- Módulo de autenticación
- Configuración de Swagger
- Archivos de Docker y Docker Compose
- Configuración de entorno
- Configuración de pruebas
Auditoría de seguridad
"Run a security audit on my NestJS application"
Devuelve:
- Lista de vulnerabilidades con clasificaciones de gravedad
- Referencias CWE
- Sugerencias de remediación
- Puntuación general de seguridad (calificación A-F)
Generar canalización CI/CD
"Generate a GitHub Actions workflow for my NestJS project"
Crea una canalización CI/CD completa con:
- Linting y verificación de tipos
- Pruebas unitarias y E2E
- Compilación y publicación de Docker
- Etapas de despliegue
Generar despliegue de Kubernetes
"Generate Kubernetes manifests for deploying my NestJS app"
Genera:
- Despliegue con comprobaciones de estado
- Servicio (ClusterIP/LoadBalancer)
- ConfigMap
- Plantilla de Secret
- Autoscalador de pods horizontal
- Configuración de Ingress
Obtener soluciones para errores
"How do I fix the circular dependency error in NestJS?"
Devuelve:
- Causas comunes
- Soluciones paso a paso
- Ejemplos de código
Estructura del proyecto
nestjs-mcp/
├── src/
│ ├── index.ts # Main MCP server entry point
│ ├── data/
│ │ ├── nestjs-docs.ts # Core NestJS documentation
│ │ └── advanced-techniques.ts # Advanced topics & error solutions
│ ├── tools/
│ │ ├── index.ts # Tools barrel export
│ │ ├── generate.ts # Code generation tools
│ │ ├── explain.ts # Documentation tools
│ │ ├── analyze.ts # Code analysis tools
│ │ ├── scaffold.ts # Project scaffolding
│ │ ├── testing.ts # Test generation tools
│ │ ├── security.ts # Security audit tools
│ │ └── deployment.ts # Deployment config generators
│ ├── resources/
│ │ ├── index.ts
│ │ └── documentation.ts # MCP resources
│ └── prompts/
│ ├── index.ts
│ └── templates.ts # Prompt templates
├── dist/ # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md
Temas avanzados cubiertos
El servidor MCP incluye documentación completa y generación de código para:
| Tema | Descripción |
|---|---|
| CQRS | Patrón de segregación de responsabilidades de consulta y comando |
| Basado en eventos | Emisores de eventos y fuente de eventos |
| Carga de archivos | Integración de Multer y cargas por streaming |
| Transmisión | SSE y respuestas de streaming |
| Comprobaciones de estado | Indicadores de estado de Terminus |
| Programación de tareas | Trabajos cron e intervalos |
| Compresión | Compresión de respuestas Gzip/Brotli |
| Limitación de velocidad | Aceleración y limitación de velocidad |
| Versionado de API | Versionado por URI, encabezado y tipo de medio |
| Serialización | Class-transformer e interceptores |
Base de datos de errores comunes
Soluciones integradas para errores comunes de NestJS:
- Dependencia circular - Estrategias de detección y resolución
- No se puede resolver la dependencia - Solución de problemas de proveedores faltantes
- Módulo no válido - Problemas de configuración de módulos
- Elemento desconocido - Problemas de plantillas y decoradores
- Errores de tiempo de espera - Manejo de operaciones asíncronas
- Fallos de validación - Configuración de DTO y tuberías
- Problemas de TypeORM - Problemas de conexión a la base de datos y consultas
- Errores de autenticación - Configuración de JWT y Passport
Contribuciones
¡Las contribuciones son bienvenidas! Así puedes ayudar:
Configuración de desarrollo
# Fork and clone the repository
git clone https://github.com/pirumar/NestJsMcp.git
cd nestjs-mcp
# Install dependencies
npm install
# Start development mode
npm run dev
Pautas de contribución
- Haz un fork del repositorio
- Crea una rama de características (
git checkout -b feature/amazing-feature) - Confirma tus cambios (
git commit -m 'Add amazing feature') - Envía a la rama (
git push origin feature/amazing-feature) - Abre una solicitud de extracción
Áreas para contribuir
- Generadores de código adicionales
- Más comprobaciones de seguridad
- Cobertura de documentación ampliada
- Correcciones de errores y mejoras
- Destinos de despliegue adicionales
Solución de problemas
Problemas comunes
El servidor MCP no se inicia
# Ensure the project is built
npm run build
# Check for TypeScript errors
npx tsc --noEmit
Claude Desktop no detecta el servidor
- Verifica que la ruta en
claude_desktop_config.jsonsea absoluta - Reinicia Claude Desktop después de los cambios de configuración
- Revisa los registros de Claude Desktop para ver errores de conexión
Errores de permisos en Linux/macOS
chmod +x dist/index.js
Hoja de ruta
- Generación de código GraphQL
- Andamiaje de microservicios
- Plantillas de integración gRPC
- Generadores de migraciones de bases de datos
- Generación de código a partir de especificaciones OpenAPI
- Soporte de plantillas personalizadas
- Arquitectura de complementos
Licencia
Este proyecto está bajo la Licencia MIT; consulta el archivo LICENSE para obtener más detalles.
Agradecimientos
- NestJS - El framework progresivo de Node.js
- Model Context Protocol - La especificación MCP
- Anthropic - El asistente de IA Claude
Hecho con amor para la comunidad de NestJS