Enables containerized deployment of the MCP server with Docker and Docker Compose, allowing for easier setup and distribution across machines
Powers the backend API server that handles routing user questions to appropriate specialized agents
Integrates with Ollama to access the deepseek-r1:7b language model for expert responses when specialized agents cannot handle a query
Provides a simple web interface for interacting with the MCP server, allowing users to input questions and receive responses
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP: Multi-Agent Control PointWhat's the weather like in Tokyo right now?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🧠 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
AgenteBasepara 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
Related MCP server: Brightsy MCP Server
📁 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:8000Interfaz 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
localhostensecrets.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_simpleollm_experto).
📄 Licencia
Este proyecto está licenciado bajo MIT License.
🙋♂️ Autor
Desarrollado por Alejandro Gómez Sierra.