MCP Software Engineer Server

Un servidor MCP que permite a una IA funcionar como ingeniero de software full-stack con capacidades completas de desarrollo.

Documentación

MCP Software Engineer Server

Un servidor integral del Protocolo de Contexto de Modelos (MCP) que permite a Claude trabajar como ingeniero de software full-stack con capacidades completas de desarrollo.

Características

🚀 Gestión de Proyectos

  • Creación de Proyectos: Inicializa proyectos con frameworks populares (React, Vue, Angular, Express, FastAPI, Django, etc.)
  • Plantillas Full-Stack: Plantillas listas para usar con integración de frontend, backend y base de datos
  • Selección de Stack Tecnológico: Configuración automática con TypeScript, autenticación, pruebas y más

💾 Operaciones de Base de Datos

  • Soporte Multi-Base de Datos: PostgreSQL, MySQL, SQLite, MongoDB, Redis
  • Integración ORM: Prisma, TypeORM, Sequelize, Mongoose, Drizzle
  • Gestión de Migraciones: Crear y ejecutar migraciones de base de datos
  • Generación de Modelos: Generar automáticamente modelos y esquemas de base de datos
  • Seed y Respaldo: Utilidades de seed y respaldo de base de datos

🎨 Desarrollo Frontend

  • Generación de Componentes: Crear componentes de React, Vue, Angular, Svelte
  • Soluciones de Estilos: Tailwind CSS, Bootstrap, Material-UI, Styled Components
  • Páginas y Enrutamiento: Configurar páginas con enrutamiento (React Router, Vue Router, etc.)
  • Gestión de Estado: Redux, Zustand, Vuex, Pinia, NgRx
  • Manejo de Formularios: React Hook Form, Formik, VeeValidate con validación
  • Optimización de Bundles: Configuraciones de optimización de Webpack, Vite

⚙️ Desarrollo Backend

  • Endpoints de API: Creación de API RESTful con operaciones CRUD completas
  • Autenticación: JWT, OAuth2, Passport.js, autenticación basada en sesiones
  • Middleware: Middleware personalizado para autenticación, CORS, limitación de velocidad, registro
  • WebSockets: Configuración de comunicación en tiempo real
  • Trabajos en Segundo Plano: Colas de tareas con Bull, Agenda, Celery
  • Validación: Validación de solicitudes con Joi, Yup, Zod, Pydantic

🚢 Despliegue y DevOps

  • Contenedores: Generación de Docker y Docker Compose
  • Despliegue en la Nube: AWS, GCP, Azure, Vercel, Netlify, Heroku
  • Pipelines CI/CD: GitHub Actions, GitLab CI, Jenkins
  • SSL/TLS: Let's Encrypt, Cloudflare, AWS ACM
  • Balanceo de Carga: Nginx, HAProxy, balanceadores de carga en la nube
  • Monitoreo: Prometheus, Grafana, Sentry, DataDog

🧪 Pruebas y Calidad

  • Frameworks de Pruebas: Jest, Vitest, Pytest, Mocha
  • Tipos de Pruebas: Pruebas unitarias, de integración, de extremo a extremo
  • Calidad de Código: ESLint, Prettier, hooks de Git con Husky
  • Escaneo de Seguridad: Escaneo de vulnerabilidades de dependencias y código

🔧 Herramientas de Desarrollo

  • Control de Versiones: Inicialización de repositorio Git con mejores prácticas
  • Operaciones de Archivos: Operaciones avanzadas del sistema de archivos
  • Caché: Redis, Memcached, caché en memoria
  • Colas de Mensajes: RabbitMQ, Kafka, SQS, colas de Redis
  • Integración de IA: OpenAI, Anthropic, HuggingFace, TensorFlow

Instalación

  1. Clona el repositorio:
git clone <repository-url>
cd mcp-software-engineer
  1. Instala las dependencias:
npm install
  1. Compila el servidor:
npm run build
  1. Configura Claude Desktop: Agrega a tu archivo de configuración de Claude Desktop:
{
  "mcpServers": {
    "software-engineer": {
      "command": "node",
      "args": ["/path/to/mcp-software-engineer/dist/index.js"],
      "env": {}
    }
  }
}

Herramientas Disponibles

Gestión de Proyectos y Archivos

  • create_project - Crear nuevos proyectos con varios frameworks
  • read_file - Leer contenidos de archivos
  • write_file - Escribir contenido en archivos
  • create_directory - Crear estructuras de directorios
  • list_files - Listar archivos y directorios
  • search_files - Buscar patrones de texto en archivos

Herramientas de Base de Datos

  • init_database - Inicializar base de datos con ORM
  • create_migration - Crear migraciones de base de datos
  • run_migrations - Ejecutar migraciones
  • generate_model - Generar modelos de base de datos
  • seed_database - Crear y ejecutar seeds de base de datos
  • backup_database - Crear respaldos de base de datos
  • query_database - Ejecutar consultas de base de datos

Desarrollo Web

  • create_component - Generar componentes frontend
  • setup_styling - Configurar frameworks CSS
  • create_page - Crear páginas con enrutamiento
  • setup_routing - Configurar sistemas de enrutamiento
  • setup_state_management - Configurar gestión de estado
  • setup_forms - Configurar manejo de formularios
  • optimize_bundle - Optimizar configuraciones de compilación

Desarrollo Backend

  • create_api_endpoint - Crear endpoints de API RESTful
  • setup_authentication - Configurar sistemas de autenticación
  • create_middleware - Crear middleware personalizado
  • setup_validation - Configurar validación de solicitudes
  • setup_websockets - Configurar soporte WebSocket
  • create_background_job - Crear tareas en segundo plano
  • setup_logging - Configurar sistemas de registro

Despliegue y DevOps

  • create_dockerfile - Generar Dockerfiles optimizados
  • create_docker_compose - Crear configuraciones de Docker Compose
  • deploy_to_cloud - Desplegar en proveedores de nube
  • setup_ci_cd - Configurar pipelines CI/CD
  • setup_monitoring - Configurar monitoreo de aplicaciones
  • setup_ssl - Configurar certificados SSL/TLS
  • setup_load_balancer - Configurar balanceo de carga

Pruebas y Calidad

  • setup_testing - Configurar frameworks de pruebas
  • create_test - Generar archivos de prueba
  • run_tests - Ejecutar pruebas con cobertura
  • security_scan - Ejecutar escaneos de seguridad

Git y Control de Versiones

  • init_repository - Inicializar repositorio Git
  • create_branch - Crear y cambiar ramas
  • commit_changes - Preparar y confirmar cambios
  • setup_hooks - Configurar hooks de Git

Ejemplos de Uso

Crear una Aplicación Full-Stack

// Create a new full-stack project
await createProject({
  name: "my-app",
  type: "full-stack",
  path: "/projects",
  features: ["typescript", "database", "auth", "testing", "docker"]
});

// Setup database
await initDatabase({
  type: "prisma",
  database: "postgresql",
  projectPath: "/projects/my-app"
});

// Create API endpoints
await createApiEndpoint({
  name: "User",
  framework: "express",
  methods: ["GET", "POST", "PUT", "DELETE"],
  authentication: true,
  validation: true,
  projectPath: "/projects/my-app"
});

Configurar Frontend con React

// Create React components
await createComponent({
  name: "UserProfile",
  framework: "react",
  type: "functional",
  projectPath: "/projects/my-app",
  styling: "tailwind",
  withTests: true
});

// Setup state management
await setupStateManagement({
  type: "zustand",
  framework: "react",
  projectPath: "/projects/my-app"
});

Desplegar en la Nube

// Create Dockerfile
await createDockerfile({
  framework: "node",
  type: "full-stack",
  projectPath: "/projects/my-app"
});

// Setup CI/CD
await setupCiCd({
  platform: "github-actions",
  projectPath: "/projects/my-app",
  stages: ["test", "build", "deploy"],
  deploymentTarget: "aws"
});

Requisitos

  • Node.js 18 o superior
  • npm o yarn
  • Git
  • Docker (opcional, para contenedores)
  • Varios runtimes de lenguaje según el tipo de proyecto

Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Agrega tus mejoras
  4. Escribe pruebas para la nueva funcionalidad
  5. Envía una solicitud de extracción

Licencia

Licencia MIT - consulta el archivo LICENSE para más detalles

Soporte

Para problemas y solicitudes de características, utiliza el rastreador de problemas de GitHub.