MCP Chatbot
Un chatbot inteligente para automatizar tareas como control del navegador, búsquedas web y planificación de viajes.
Documentación
MCP Chatbot 🤖
MCP Chatbot - Automatización inteligente mediante la integración del Protocolo de Contexto de Modelos. Incluye automatización de navegador, búsqueda web y planificación de viajes con un manejo robusto de errores. Utiliza Google Gemini LLM y maneja fallos del servidor de manera elegante para un funcionamiento confiable.
Repositorio de GitHub: https://github.com/naakaarafr/MCP-Chatbot
Un chatbot potente construido con el Protocolo de Contexto de Modelos (MCP) que proporciona automatización inteligente mediante control del navegador, búsqueda web y capacidades de planificación de viajes.
Descripción general
Este chatbot aprovecha el Protocolo de Contexto de Modelos para integrar múltiples servidores especializados, creando una interfaz unificada para automatización web, búsqueda y tareas relacionadas con viajes. Utiliza el modelo Gemini de Google como LLM subyacente y puede manejar fallos del servidor de manera elegante al probar cada servidor MCP individualmente.
Características
🌐 Automatización de Navegador (Playwright MCP)
- Navegar a sitios web
- Tomar capturas de pantalla
- Hacer clic en elementos e interactuar con páginas web
- Automatizar tareas basadas en web
🔍 Búsqueda Web (DuckDuckGo MCP)
- Realizar búsquedas web
- Obtener información en tiempo real
- Investigar temas y encontrar respuestas
🏠 Planificación de Viajes (Airbnb MCP)
- Buscar alojamientos
- Encontrar hoteles y alquileres
- Obtener recomendaciones de viaje
🛡️ Manejo Robusto de Errores
- Pruebas individuales de servidores al inicio
- Degradación elegante cuando los servidores fallan
- Respuestas de respaldo en modo limitado
- Reporte claro de errores
Requisitos previos
Requisitos del sistema
- Python 3.8+
- Node.js y npm (para servidores MCP)
- Administrador de paquetes UV (para servidores MCP de Python)
Paquetes requeridos
# Python dependencies
pip install asyncio python-dotenv langchain-google-genai mcp-use
# Node.js MCP servers
npm install -g @playwright/mcp
npm install -g @openbnb/mcp-server-airbnb
# Python MCP servers
uvx install duckduckgo-mcp-server
Instalación
-
Clonar o descargar los archivos del proyecto:
# Ensure you have both app.py and browser_mcp.json -
Instalar dependencias de Python:
pip install -r requirements.txtO instalar individualmente:
pip install asyncio python-dotenv langchain-google-genai mcp-use -
Instalar servidores MCP:
# Playwright for browser automation npm install -g @playwright/mcp # Airbnb for travel search npm install -g @openbnb/mcp-server-airbnb # DuckDuckGo for web search uvx install duckduckgo-mcp-server -
Configurar variables de entorno: Crear un archivo
.enven la raíz del proyecto:GOOGLE_API_KEY=your_google_api_key_here -
Configurar servidores MCP: El archivo
browser_mcp.jsonya está configurado con ajustes predeterminados. Modificar si es necesario:{ "mcpServers": { "playwright": { "command": "npx", "args": ["@playwright/mcp@latest"] }, "airbnb": { "command": "npx", "args": ["-y", "@openbnb/mcp-server-airbnb"] }, "ddg-search": { "command": "uvx", "args": ["duckduckgo-mcp-server"] } } }
Uso
Iniciar el Chatbot
python app.py
Comandos disponibles
help- Mostrar comandos disponibles y consultas de ejemplotools- Listar todas las herramientas MCP disponiblesquitoexit- Finalizar la conversación
Consultas de ejemplo
Automatización de Navegador
"Take a screenshot of google.com"
"Navigate to wikipedia.org and search for Python"
"Click the login button on the website"
Búsqueda Web
"What's the weather like today?"
"Search for the latest news about AI"
"Find information about renewable energy"
Planificación de Viajes
"Find hotels in New York City"
"Search for Airbnb rentals in San Francisco"
"What are the best accommodations in Tokyo?"
Asistencia General
"Find the best restaurants in downtown Chicago"
"Help me research Python programming tutorials"
"Take a screenshot of the current stock market trends"
Arquitectura
Componentes principales
-
Clase MCPChatbot: Orquestador principal del chatbot
- Inicializa y gestiona servidores MCP
- Maneja interacciones del usuario
- Proporciona respuestas de respaldo
-
Pruebas de Servidores: Validación individual de servidores
- Prueba cada servidor MCP al inicio
- Reporta servidores funcionales y fallidos
- Continúa operando con servidores disponibles
-
Integración de Agente: Integración LangChain + MCP
- Utiliza Google Gemini 2.0 Flash como LLM
- Se integra con el cliente MCP para acceso a herramientas
- Soporta hasta 20 pasos de razonamiento
Manejo de Errores
El chatbot implementa un manejo robusto de errores:
- Fallos de Servidor: Las pruebas individuales de servidores previenen fallos totales
- Modo Limitado: Proporciona respuestas básicas cuando no hay servidores disponibles
- Degradación Elegante: Continúa operando con funcionalidad parcial
- Retroalimentación al Usuario: Mensajes de error claros y reporte de estado
Configuración
Configuración de Servidores MCP
Editar browser_mcp.json para agregar o modificar servidores MCP:
{
"mcpServers": {
"your-server-name": {
"command": "command-to-run",
"args": ["arg1", "arg2"]
}
}
}
Variables de Entorno
Requeridas en el archivo .env:
GOOGLE_API_KEY: Su clave de API de Google AI para acceso a Gemini
Configuración de LLM
Modificar en app.py si es necesario:
self.llm = ChatGoogleGenerativeAI(
model="gemini-2.0-flash-exp", # Model selection
temperature=0.3 # Creativity level
)
Solución de Problemas
Problemas comunes
-
"browser_mcp.json no encontrado"
- Asegúrese de que el archivo de configuración esté en el mismo directorio que
app.py
- Asegúrese de que el archivo de configuración esté en el mismo directorio que
-
"Ningún servidor MCP está funcionando"
- Verifique que todos los servidores MCP estén instalados correctamente
- Confirme que Node.js y UV estén instalados y accesibles
- Revise los registros del servidor para mensajes de error específicos
-
Problemas con la Clave de API de Google
- Asegúrese de que su archivo
.envcontenga unGOOGLE_API_KEYválido - Verifique que la clave de API tenga acceso a los modelos Gemini
- Asegúrese de que su archivo
-
Problemas de Instalación
- Asegúrese de que Node.js y npm estén instalados
- Instale el administrador de paquetes UV:
pip install uv - Intente instalar servidores MCP individualmente para aislar problemas
Modo de Depuración
El chatbot proporciona información detallada al inicio:
- Resultados de pruebas de servidores
- Lista de servidores funcionales
- Mensajes de error para servidores fallidos
Contribuciones
- Haga un fork del repositorio
- Cree una rama de características
- Realice sus cambios
- Pruebe con varios servidores MCP
- Envíe una solicitud de extracción
Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulte el archivo LICENCIA para más detalles.
Consulte las licencias individuales de los servidores MCP para sus respectivos términos.
Soporte
Para problemas relacionados con:
- Protocolo MCP: Consulte la documentación oficial de MCP
- Servidores MCP específicos: Consulte la documentación individual del servidor
- Integración LangChain: Consulte la documentación de LangChain
- Google Gemini: Consulte la documentación de Google AI
Agradecimientos
- Equipo del Protocolo de Contexto de Modelos (MCP) por el protocolo innovador
- Equipo de Playwright por las capacidades de automatización del navegador
- Equipo de LangChain por el marco de integración
- Google por proporcionar los modelos de IA Gemini