🧠 MCP: Multi-Agent Control Point
Este proyecto implementa un servidor multi-agente que enruta preguntas del usuario a un modelo LLM o a agentes especializados (como fecha, ubicación, clima o un experto técnico). Incluye una interfaz web sencilla construida con Streamlit para facilitar su uso.
🚀 Características
- 🌐 Backend con FastAPI
- 🧠 Agentes especializados (fecha, ubicación, clima, experto LLM)
- 🧩 Sistema de agentes extensible y modular con herencia
- ⚙️ Herencia común
AgenteBase
para manejo uniforme de errores y respuestas - 🤖 Lógica inteligente para que los agentes colaboren entre sí
- 🖥️ Interfaz visual con Streamlit (GUI)
- 🐳 Contenedores Docker para fácil despliegue
- 🔌 Comunicación cliente-servidor lista para red local o remoto
📁 Estructura del proyecto
⚙️ Requisitos
🧪 Instalación rápida
1. Clona el repositorio
2. Crea archivo de configuración para Streamlit
Dentro del directorio gui
, crea el archivo:
Con el siguiente contenido:
3. Ejecuta con Docker Compose
Esto construirá y levantará dos contenedores:
- Backend en
http://localhost:8000
- Interfaz gráfica en
http://localhost:8501
🌍 Acceso desde otra máquina (opcional)
- Asegúrate de exponer correctamente los puertos (
8000
,8501
). - Usa la IP de la máquina servidor en lugar de
localhost
ensecrets.toml
. - También puedes configurar redes Docker personalizadas para acceso cruzado entre hosts.
📦 Para producción
Puedes ejecutar solo el backend si deseas integrarlo con otra interfaz:
✨ Ejemplo de uso
En la interfaz web, puedes escribir preguntas como:
¿Qué día es hoy?
¿Dónde estoy?
¿Qué clima hace?
Explícame qué es Python
La aplicación decidirá si responder directamente o delegar la pregunta a un agente.
🛠️ Agentes disponibles
Agente | Función |
---|---|
FECHA | Devuelve la fecha y hora actuales |
UBICACION | Detecta la ciudad y país mediante IP |
CLIMA | Devuelve el clima en la ubicación actual |
🔄 Interacción entre agentes
El agente de clima ahora usa directamente el agente de ubicación para determinar coordenadas geográficas (lat
, lon
) y ciudad antes de consultar el clima, permitiendo respuestas adaptadas al lugar real del usuario. Esto mejora la modularidad y colaboración entre agentes.
🧩 Cómo crear un nuevo agente
- Crea una clase que herede de AgenteBase:
- Especifica los patrones para detectar preguntas relevantes.
- Implementa
agente()
que devuelve un dict con la clave success y data o error. - El agente usará automáticamente el LLM indicado para generar respuestas naturales basadas en su data.
⚠️ Notas técnicas importantes
- Todos los agentes heredan de AgenteBase, lo que gestiona:
- Errores estándar
- Conversión de datos a respuesta natural vía LLM
- El método agente() debe devolver un diccionario estructurado.
- Cada agente especifica qué modelo de LLM utilizar (
llm_simple
ollm_experto
).
📄 Licencia
Este proyecto está licenciado bajo MIT License.
🙋♂️ Autor
Desarrollado por Alejandro Gómez Sierra.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A server that routes user questions to specialized agents (date, location, weather) or an LLM expert, with a simple Streamlit web interface for easy interaction.
Related MCP Servers
- -securityAlicense-qualityThis is a server that lets your LLMs (like Claude) talk directly to your BigQuery data! Think of it as a friendly translator that sits between your AI assistant and your database, making sure they can chat securely and efficiently.Last updated -1171111JavaScriptMIT License
- AsecurityFlicenseAqualityA server that implements the Model Context Protocol to connect LLMs to Brightsy AI agents, allowing users to pass messages to and receive responses from these agents.Last updated -11JavaScript
- -securityFlicense-qualityA server that manages conversation context for LLM interactions, storing recent prompts and providing relevant context for each user via REST API endpoints.Last updated -728TypeScript
- -securityFlicense-qualityA specialized server that enables LLMs to gather specific information through sequential questioning, implementing the MCP standard for seamless integration with LLM clients.Last updated -1Python