Curso: Model Context Protocol (MCP) en Python
📚 Descripción del Curso
Bienvenido al curso completo sobre Model Context Protocol (MCP) en Python. Este curso te enseñará desde los fundamentos hasta la implementación avanzada de servidores MCP, permitiéndote crear herramientas que extienden las capacidades de los asistentes de IA como Claude y GitHub Copilot.
✨ Actualizado con FastMCP 2.x y las últimas prácticas oficiales, incluyendo:
- 🚀 FastMCP 2.x: Framework completo con autenticación empresarial, deployment y más
- 🎯 Sintaxis simplificada: Funciones síncronas/asíncronas, retornos directos (str, dict, etc.)
- 📋 uv: Gestor de paquetes moderno y rápido
- ⚠️ Mejores prácticas: Logging seguro para servidores STDIO
- 🏗️ Terminología oficial: MCP Host, Client, Server
- 🔄 Características avanzadas: Context API, autenticación, composición de servidores
🎯 Objetivos del Curso
- Comprender qué es MCP y por qué es importante
- Aprender a crear servidores MCP en Python
- Implementar herramientas (tools), recursos (resources) y prompts
- Integrar servidores MCP con clientes como Claude Desktop
- Desarrollar proyectos prácticos del mundo real
📋 Requisitos Previos
- Python 3.10 o superior
- Conocimientos básicos de Python
- Familiaridad con conceptos de programación asíncrona (async/await)
- Editor de código (VS Code recomendado)
🧭 Tabla de Contenidos
- Descripción del Curso
- Objetivos del Curso
- Requisitos Previos
- Estructura del Curso
- Cómo Usar Este Curso
- Instalación
- Ejecutar los ejemplos
- Recursos Adicionales
- Contribuciones
- Licencia
📖 Estructura del Curso
Módulo 1: Introducción a MCP
- Lección 1.1: ¿Qué es MCP?
- Lección 1.2: Arquitectura y Conceptos Clave
- Lección 1.3: Configuración del Entorno
Módulo 2: Primeros Pasos
- Lección 2.1: Tu Primer Servidor MCP
- Lección 2.2: Implementando Tools
- Lección 2.3: Trabajando con Resources
Módulo 3: Características Avanzadas
- Lección 3.1: Prompts Personalizados
- Lección 3.2: Manejo de Errores y Logging
- Lección 3.3: Seguridad y Mejores Prácticas
Módulo 4: Proyectos Prácticos
- Proyecto 1: Servidor de Gestión de Archivos
- Proyecto 2: Integración con APIs Externas
- Proyecto 3: Sistema de Base de Datos
- Proyecto Final: Proyecto Integrador
🚀 Cómo Usar Este Curso
- Lee cada lección en orden
- Completa los ejercicios prácticos
- Experimenta con el código de ejemplo
- Construye los proyectos finales
📦 Instalación
Opción 1: Con uv (Recomendado)
uv es un gestor de paquetes moderno y extremadamente rápido para Python:
# Instalar uv
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# Linux/macOS
curl -LsSf https://astral.sh/uv/install.sh | sh
# Reiniciar el terminal después de la instalación
# Clonar el repositorio
git clone https://github.com/jjmmolina/curso-mcp-python.git
cd curso-mcp-python
# Crear entorno virtual
uv venv
# Activar entorno virtual (Windows)
.venv\Scripts\Activate.ps1
# Activar entorno virtual (Linux/Mac)
source .venv/bin/activate
# Instalar dependencias (FastMCP 2.x)
uv pip install -r requirements.txtOpción 2: Con pip tradicional
# Clonar el repositorio
git clone https://github.com/jjmmolina/curso-mcp-python.git
cd curso-mcp-python
# Crear entorno virtual
python -m venv .venv
# Activar entorno virtual (Windows)
.venv\Scripts\activate
# Activar entorno virtual (Linux/Mac)
source .venv/bin/activate
# Instalar dependencias
pip install -r requirements.txt▶️ Ejecutar los ejemplos
Consulta la guía de configuración y ejecución paso a paso (incluye instrucciones para Windows PowerShell):
- Ver: SETUP.md
Ejemplos incluidos en este repositorio:
- Servidor de notas (Módulo 2):
src/tools/notas_server.py - Servidor de prompts de código (Módulo 3):
src/prompts/code_prompts_server.py
Para ejecutarlos, abre una terminal en la raíz del proyecto y usa los comandos descritos en SETUP.md.
📚 Recursos Adicionales
🤝 Contribuciones
Este es un curso de código abierto. Si encuentras errores o quieres mejorar el contenido, ¡las contribuciones son bienvenidas!
📝 Licencia
Este curso está bajo licencia MIT.
¡Comencemos a aprender MCP en Python! 🐍✨
