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

TypeScript NestJS MCP License

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

ComandoDescripción
npm run buildCompila TypeScript a JavaScript
npm run devModo de observación para desarrollo
npm startEjecuta 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-mcp con la ruta real de tu instalación.


Herramientas disponibles

Herramientas de generación de código

HerramientaDescripción
nestjs_generate_controllerGenera controladores con operaciones CRUD opcionales
nestjs_generate_serviceGenera servicios con integración de repositorios
nestjs_generate_moduleGenera módulos con proveedores e importaciones
nestjs_generate_resourceGenera recursos CRUD completos (módulo, controlador, servicio, entidad, DTO)
nestjs_generate_dtoGenera DTO con decoradores de class-validator
nestjs_generate_entityGenera entidades de TypeORM/Mongoose
nestjs_generate_guardGenera guardias de autenticación, roles o personalizados
nestjs_generate_interceptorGenera interceptores de registro, transformación, caché o tiempo de espera
nestjs_generate_pipeGenera tuberías de validación o transformación
nestjs_generate_filterGenera filtros de excepciones
nestjs_generate_middlewareGenera middleware personalizado

Herramientas de andamiaje de proyectos

HerramientaDescripción
nestjs_scaffold_projectGenera 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

HerramientaDescripción
nestjs_generate_unit_testGenera pruebas unitarias para servicios
nestjs_generate_controller_testGenera pruebas unitarias de controladores
nestjs_generate_e2e_testGenera pruebas de extremo a extremo
nestjs_generate_test_factoryGenera fábricas de datos de prueba
nestjs_generate_mock_repositoryGenera repositorio simulado para pruebas
nestjs_generate_test_helpersGenera utilidades de prueba comunes

Herramientas de seguridad

HerramientaDescripción
nestjs_security_auditAuditoría de seguridad integral de tu base de código
nestjs_security_checklistObtén la lista de verificación de mejores prácticas de seguridad
nestjs_generate_secure_mainGenera 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

HerramientaDescripción
nestjs_generate_dockerfileGenera Dockerfile de múltiples etapas optimizado
nestjs_generate_docker_composeGenera configuración de Docker Compose
nestjs_generate_github_actionsGenera canalización CI/CD de GitHub Actions
nestjs_generate_gitlab_ciGenera canalización CI/CD de GitLab
nestjs_generate_kubernetesGenera manifiestos de despliegue de Kubernetes
nestjs_generate_pm2_configGenera configuración del ecosistema PM2
nestjs_generate_nginx_configGenera configuración de proxy inverso de Nginx
nestjs_generate_systemd_serviceGenera archivo de servicio systemd
nestjs_generate_env_filesGenera archivos de configuración de entorno

Herramientas de documentación y aprendizaje

HerramientaDescripción
nestjs_explain_conceptExplicación detallada de conceptos de NestJS
nestjs_explain_decoratorExplica decoradores específicos con ejemplos
nestjs_explain_cliExplica comandos de la CLI de NestJS
nestjs_list_schematicsEnumera todos los esquemas disponibles de NestJS
nestjs_list_decoratorsEnumera decoradores por categoría
nestjs_best_practicesObtén mejores prácticas por categoría
nestjs_recommended_packagesObtén paquetes recomendados según el caso de uso
nestjs_search_docsBusca en la documentación de NestJS
nestjs_request_lifecycleComprende el ciclo de vida de las solicitudes
nestjs_dependency_injectionAprende sobre la inyección de dependencias
nestjs_get_common_errorsObtén soluciones para errores comunes

Herramientas de análisis de código

HerramientaDescripción
nestjs_analyze_codeAnaliza el código en busca de problemas y antipatrones
nestjs_suggest_improvementsObtén sugerencias de mejora
nestjs_validate_structureValida la estructura del proyecto

Recursos disponibles

Accede a la documentación de NestJS directamente a través de los recursos MCP:

URI del recursoDescripció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/commandsReferencia de comandos de la CLI
nestjs://docs/cli/schematicsReferencia de esquemas
nestjs://docs/decoratorsReferencia completa de decoradores
nestjs://docs/best-practicesGuía de mejores prácticas
nestjs://docs/packagesPaquetes 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.ts
  • products.controller.ts
  • products.service.ts
  • product.entity.ts
  • create-product.dto.ts
  • update-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:

TemaDescripción
CQRSPatrón de segregación de responsabilidades de consulta y comando
Basado en eventosEmisores de eventos y fuente de eventos
Carga de archivosIntegración de Multer y cargas por streaming
TransmisiónSSE y respuestas de streaming
Comprobaciones de estadoIndicadores de estado de Terminus
Programación de tareasTrabajos cron e intervalos
CompresiónCompresión de respuestas Gzip/Brotli
Limitación de velocidadAceleración y limitación de velocidad
Versionado de APIVersionado por URI, encabezado y tipo de medio
SerializaciónClass-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

  1. Haz un fork del repositorio
  2. Crea una rama de características (git checkout -b feature/amazing-feature)
  3. Confirma tus cambios (git commit -m 'Add amazing feature')
  4. Envía a la rama (git push origin feature/amazing-feature)
  5. 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.json sea 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


Hecho con amor para la comunidad de NestJS

Reportar un error • Solicitar una función