🚀 MCP Server - Model Context Protocol
MCP Server es una implementación robusta y eficiente de un servidor compatible con el Model Context Protocol (MCP). Diseñado para extender las capacidades de los Modelos de Lenguaje (LLMs), este servidor proporciona herramientas para el envío de correos electrónicos y prompts inteligentes para la detección de intenciones y gestión de datos de clientes.
✨ Características Principales
- 📧 Integración SMTP Completa: Envío de correos electrónicos enriquecidos (HTML) a través de Gmail u otros proveedores SMTP.
- 🧠 Prompts Inteligentes:
- Detección de Intención: Clasifica mensajes de usuarios automáticamente.
- Extracción de Información: Identifica datos clave como nombres y correos.
- Generación de Contenido: Crea emails de bienvenida personalizados dinámicamente.
- 🔒 Seguridad Primero: Gestión de credenciales mediante variables de entorno y validación de tokens.
- ⚡ Alto Rendimiento: Construido sobre FastAPI y FastMCP para una latencia mínima.
🛠️ Requisitos Previos
Antes de comenzar, asegúrate de tener instalado:
- Python 3.13 o superior.
- uv: Un gestor de paquetes de Python extremadamente rápido.
📦 Instalación
-
Clonar el repositorio:
git clone https://github.com/TUSUARIO/mcp-server.git cd mcp-server -
Instalar dependencias:
Utilizando
uvpara sincronizar el entorno virtual:uv sync
⚙️ Configuración
-
Crea un archivo
.enven la raíz del proyecto basándote en el siguiente ejemplo:# .env EMAIL_USER=tu_correo@gmail.com EMAIL_PASS=tu_contraseña_de_aplicacionNota: Para Gmail, debes usar una "Contraseña de Aplicación" si tienes la verificación en dos pasos activada.
🚀 Uso
Para iniciar el servidor en modo desarrollo:
uv run main.py
El servidor estará disponible en: http://0.0.0.0:8000
Endpoints Disponibles
| Tipo | Nombre | Descripción |
|---|---|---|
| Tool | send_email | Envía correos HTML vía SMTP. |
| Prompt | detect_action | Clasifica la intención del usuario (saludo/info). |
| Prompt | client_info | Extrae nombre y email de un texto. |
| Prompt | welcome_email | Genera el cuerpo de un email de bienvenida. |
📂 Estructura del Proyecto
mcp-server/
├── main.py # Punto de entrada y lógica del servidor
├── pyproject.toml # Definición de dependencias
├── .gitignore # Archivos ignorados por git
├── .env # Variables de entorno (NO COMMITEAR)
└── README.md # Documentación del proyecto
🤝 Contribución
¡Las contribuciones son bienvenidas! Por favor, abre un issue o envía un pull request para mejoras o correcciones.
- Haz un Fork del proyecto.
- Crea tu rama de funcionalidad (
git checkout -b feature/AmazingFeature). - Haz Commit de tus cambios (
git commit -m 'Add some AmazingFeature'). - Push a la rama (
git push origin feature/AmazingFeature). - Abre un Pull Request.
👤 Autor
MKevyn
Desarrollado con ❤️ y Python