Skip to main content
Glama
ergrato-dev
by ergrato-dev

🚀 MCP Server Bootcamp: De Zero a Hero

Un bootcamp completo y gratuito para dominar la creación de servidores MCP

Open Source GitHub Stars License: MIT PRs Welcome

📚 Comenzar Bootcamp🎯 Módulos🛠️ Instalación🤖 Automatización📑 GitHub Templates y Configuración🤝 Contribuir💬 Comunidad

🎯 ¿Qué Aprenderás?

Transforma tu comprensión de los Model Context Protocol (MCP) Servers desde conceptos básicos hasta arquitecturas empresariales avanzadas en solo 7 semanas:

  • 🔧 Fundamentos Sólidos: Arquitectura, configuración y primer servidor funcional

  • Herramientas Avanzadas: Recursos dinámicos, prompts inteligentes e integración de APIs

  • 🗄️ Persistencia: Bases de datos, ORMs y optimización de performance

  • 🔐 Seguridad: Autenticación, autorización y auditoría empresarial

  • 🧪 Calidad: Testing, CI/CD y observabilidad

  • 🏗️ Arquitecturas: Microservicios, escalabilidad y resilencia

  • 🎯 Proyecto Real: Aplicación completa lista para producción

Related MCP server: MCP Server Sample

🚀 Comenzar el Bootcamp

Prerrequisitos

  • Node.js 18+ y pnpm 8+

  • Python 3.11+ (para ejemplos FastAPI)

  • Docker y Docker Compose

  • Git para control de versiones

  • Editor como VS Code (configuración incluida)

Instalación Rápida

# Clonar el repositorio
git clone https://github.com/tu-usuario/mcp-server-bootcamp.git
cd mcp-server-bootcamp

# Configurar workspace
pnpm install
pnpm run setup

# Verificar instalación
pnpm run verify-setup

# Iniciar el primer módulo
cd ejemplos/modulo-01/calculadora-basica
pnpm run dev

🐳 Desarrollo con Docker

Configuración Inicial

  1. Copiar las variables de entorno:

# Crear el archivo de configuración local
cp .env.example .env
  1. Iniciar los servicios:

# Levantar todos los servicios en background
docker compose up -d

# Ver el estado de los contenedores
docker compose ps
  1. Acceder al entorno de desarrollo:

# Entrar al contenedor de desarrollo
docker compose exec bootcamp-dev bash

# Una vez dentro del contenedor, instalar dependencias
pnpm install

# Verificar que todo funciona
pnpm run verify-setup

Comandos Útiles de Docker

# Ver logs de todos los servicios
docker compose logs -f

# Ver logs específicos del servicio de desarrollo
docker compose logs -f bootcamp-dev

# Ver logs de la base de datos
docker compose logs -f db

# Reiniciar los servicios
docker compose restart

# Detener todos los servicios
docker compose down

# Detener y eliminar volúmenes (¡CUIDADO! Esto borra los datos de la BD)
docker compose down -v

Conectar a la Base de Datos

Desde tu máquina local, puedes conectarte a PostgreSQL usando:

  • Host: localhost

  • Puerto: 5432

  • Usuario: bootcamp_user (definido en .env)

  • Contraseña: supersecretpassword (definido en .env)

  • Base de datos: mcp_bootcamp_db (definido en .env)

Desarrollo en el Contenedor

# Ejecutar comandos específicos en el contenedor
docker compose exec bootcamp-dev pnpm install
docker compose exec bootcamp-dev pnpm run dev
docker compose exec bootcamp-dev pnpm test

# Trabajar de forma interactiva
docker compose exec bootcamp-dev bash
# Ahora estás dentro del contenedor y puedes ejecutar cualquier comando

🛠️ Instalación Local (Alternativa)

Si prefieres no usar Docker, puedes configurar el entorno localmente instalando las dependencias directamente en tu máquina. Asegúrate de tener instalados Node.js, Python, y PostgreSQL.

# Instalar dependencias de Node.js
npm install

# Instalar dependencias de Python (si es necesario)
pip install -r requirements.txt

# Iniciar el servidor
npm run dev

📋 Módulos

📖 Módulo 1: Fundamentos y Conceptos Base

Semana 1 • Comprensión conceptual, configuración y primer servidor

  • 🎯 Días 1-2: Arquitectura MCP y casos de uso

  • 🛠️ Días 3-4: Entorno y calculadora inteligente

  • 🔍 Días 5-7: Anatomía completa de servidores MCP

Módulo 2: Herramientas Avanzadas y Recursos

Semana 2 • Recursos dinámicos y contexto inteligente

  • 📊 Días 8-10: Sistema de recursos y gestión de datos

  • 🧠 Días 11-12: Prompts dinámicos y contexto adaptativo

  • 🌐 Días 13-14: Integración con APIs externas

🗄️ Módulo 3: Persistencia y Bases de Datos

Semana 3 • Almacenamiento y optimización

  • 💾 Días 15-17: SQLite, PostgreSQL y patrones de acceso

  • 🔄 Días 18-19: Prisma ORM y modelado de datos

  • Días 20-21: Cache distribuido y optimización

🔐 Módulo 4: Seguridad y Autenticación

Semana 4 • Seguridad empresarial

  • 🛡️ Días 22-24: Fundamentos y autenticación robusta

  • 👥 Días 25-26: RBAC/ABAC y control granular

  • 📋 Días 27-28: Auditoría y logging estructurado

🧪 Módulo 5: Testing y Calidad

Semana 5 • Calidad y automatización

  • Días 29-31: Testing integral y mocking

  • 🔄 Días 32-33: CI/CD y deployment automatizado

  • 📊 Días 34-35: Monitoreo y observabilidad

🏗️ Módulo 6: Arquitecturas Avanzadas

Semana 6 • Escalabilidad empresarial

  • 🔗 Días 36-38: Microservicios y sistemas distribuidos

  • 🚀 Días 39-40: Performance y escalabilidad extrema

  • 🛡️ Días 41-42: Resilencia y alta disponibilidad

🎯 Módulo 7: Proyecto Final

Semana 7 • Aplicación tu expertise

  • 📋 Días 43-45: Diseño de arquitectura completa

  • 💻 Días 46-47: Implementación con mentoría

  • 🚀 Días 48-49: Deployment y presentación

🛠️ Tecnologías Principales

Tecnología

Uso

Versión

TypeScript

Desarrollo principal

5.0+

Node.js

Runtime JavaScript

18+

Python

Ejemplos FastAPI

3.11+

Docker

Contenedorización

Latest

PostgreSQL

Base de datos

15+

Prisma

ORM

5.0+

🤖 Sistema de Automatización

Este bootcamp incluye un sistema completo de automatización para garantizar calidad y facilitar el desarrollo:

⚡ Autocommit Inteligente

# El sistema ejecuta automáticamente cada 10 minutos:
- Detección inteligente de cambios por módulo
- Commits con Conventional Commits estándar
- Actualización automática del CHANGELOG.md
- Logs detallados con rotación automática

Características:

  • 🧠 Detección Inteligente: Categoriza cambios por tipo y módulo

  • 📝 Conventional Commits: Mensajes semánticos automáticos

  • 📋 Changelog Automático: Generación basada en commits

  • 🔒 Ejecución Segura: Sistema de locks y manejo de errores

  • 📊 Logging Completo: Auditoría detallada con rotación

🔧 Scripts de Automatización

Script

Propósito

Uso

scripts/setup.sh

Configuración inicial completa

./scripts/setup.sh

scripts/autocommit.sh

Commits automáticos inteligentes

Ejecuta vía cron

scripts/update-changelog.sh

Actualización del CHANGELOG

./scripts/update-changelog.sh

scripts/build-all.sh

Build de todos los módulos

./scripts/build-all.sh

scripts/lint.sh

Linting y formato de código

./scripts/lint.sh

📋 Control y Configuración

# Gestión del sistema de autocommit
./scripts/setup-autocommit.sh    # Activar autocommit
./scripts/remove-autocommit.sh   # Desactivar autocommit
./scripts/autocommit-config.sh   # Configurar parámetros

# Logs y monitoreo
tail -f .autocommit/autocommit.log        # Ver logs en tiempo real
tail -f .autocommit/changelog-generator.log # Ver logs de changelog

📑 GitHub Templates y Configuración

Este proyecto está equipado con un conjunto completo de templates y archivos de configuración para estandarizar las contribuciones, facilitar la gestión y mantener una alta calidad en el código y la documentación.

📂 Estructura de .github

La carpeta .github centraliza toda la configuración relacionada con la comunidad y las contribuciones en GitHub.

🔧 Configuración del Proyecto

Archivo

Propósito

Ubicación

.gitignore

Exclusiones de Git para todo el stack

Raíz del proyecto

pnpm-workspace.yaml

Configuración del workspace

Raíz del proyecto

tsconfig.json

Configuración TypeScript global

Raíz del proyecto

.github/copilot-instructions.md

Directrices para GitHub Copilot

.github/

📋 Templates de Issues

Template

Propósito

Ubicación

🐛 Bug Report

Reportar errores técnicos

.github/ISSUE_TEMPLATE/

✨ Feature Request

Solicitar nuevas funcionalidades

.github/ISSUE_TEMPLATE/

❓ Question

Hacer preguntas técnicas o conceptuales

.github/ISSUE_TEMPLATE/

📚 Educational Improvement

Mejorar contenido pedagógico

.github/ISSUE_TEMPLATE/

📖 Documentation

Mejorar o agregar documentación

.github/ISSUE_TEMPLATE/

⚙️ Config

Configuración de templates

.github/ISSUE_TEMPLATE/

🔄 Templates de Pull Request

Template

Propósito

Ubicación

📝 Pull Request Template

Guía para contribuciones de calidad

.github/

📋 Gobernanza del Proyecto

Documento

Propósito

Ubicación

🤝 Code of Conduct

Normas de convivencia en la comunidad

.github/

📋 Contributing Guidelines

Guía completa para contribuir

.github/

📊 Changelog

Historial de cambios del proyecto

Raíz del proyecto

🔒 Security Policy

Política de seguridad y vulnerabilidades

Raíz del proyecto

🏗️ Plantillas de Desarrollo

Plantilla

Propósito

Ubicación

servidor-base/

Estructura base para nuevos servidores MCP

plantillas/

testing-setup/

Configuración de testing completa

plantillas/

docker-compose-templates/

Templates para Docker Compose

plantillas/

deployment-configs/

Configuraciones de deployment

plantillas/

🐳 Configuración Docker

Archivo

Propósito

Ubicación

node.Dockerfile

Imagen base para Node.js

herramientas/docker/

python.Dockerfile

Imagen base para Python

herramientas/docker/

compose-templates/

Templates de Docker Compose

herramientas/docker/

🔍 Validadores y Herramientas

Herramienta

Propósito

Ubicación

validators/

Scripts de validación de código

herramientas/


💡 Consejo: Todos los templates están diseñados para ser pedagógicamente efectivos y técnicamente robustos, siguiendo las mejores prácticas de la industria y adaptados al contexto educativo del bootcamp.

📊 Evaluación y Certificación

Cada módulo incluye:

  • Rúbricas detalladas con criterios claros

  • 🎯 Ejercicios prácticos con soluciones

  • 🏆 Proyectos incrementales que construyen expertise

  • 📈 Auto-evaluación y peer review

🤝 Contribuir

¡Tu contribución hace que este bootcamp sea mejor para todos!

Formas de Contribuir

  • 🐛 Reportar bugs o mejoras en el contenido

  • 📝 Mejorar documentación y ejemplos

  • 💡 Proponer nuevos módulos o ejercicios

  • 🌍 Traducir contenido a otros idiomas

  • Compartir y dar estrella al repositorio

Proceso de Contribución

  1. Fork el repositorio

  2. Crea una rama para tu feature: git checkout -b feature/nueva-funcionalidad

  3. Commits descriptivos: git commit -m 'feat: agregar ejercicio de WebSockets'

  4. Push a tu fork: git push origin feature/nueva-funcionalidad

  5. Pull Request con descripción detallada

Lee nuestra Guía de Contribución para más detalles.

📜 Licencia

Este proyecto está licenciado bajo la MIT License - mira el archivo LICENSE para detalles.

💬 Comunidad

Discord GitHub Discussions Twitter

¿Tienes preguntas? Únete a nuestras discusiones o crea un issue.

¿Quieres mantenerte actualizado? Síguenos y dale ⭐ al repositorio.


Hecho con ❤️ para la comunidad de desarrolladores MCP

⬆️ Volver arriba

-
security - not tested
F
license - not found
-
quality - not tested

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/ergrato-dev/bc-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server