🧠 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 -124181JavaScriptMIT 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 -196JavaScript
- -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 -602TypeScript
- AsecurityAlicenseAqualityAn AI router that connects applications to multiple LLM providers (OpenAI, Anthropic, Google, DeepSeek, Ollama, etc.) with smart model orchestration capabilities, enabling dynamic switching between models for different reasoning tasks.Last updated -31011TypeScriptMIT License