MCP Chatbot
Um chatbot inteligente para automatizar tarefas como controle de navegador, pesquisas na web e planejamento de viagens.
Documentação
MCP Chatbot 🤖
MCP Chatbot - Automação inteligente através da integração com Model Context Protocol. Recursos de automação de navegador, busca na web e planejamento de viagens com tratamento robusto de erros. Usa Google Gemini LLM e lida graciosamente com falhas de servidor para operação confiável.
Repositório GitHub: https://github.com/naakaarafr/MCP-Chatbot
Um chatbot poderoso construído com Model Context Protocol (MCP) que fornece automação inteligente através de controle de navegador, busca na web e recursos de planejamento de viagens.
Visão Geral
Este chatbot aproveita o Model Context Protocol para integrar múltiplos servidores especializados, criando uma interface unificada para automação web, busca e tarefas relacionadas a viagens. Ele usa o modelo Gemini do Google como LLM subjacente e pode lidar graciosamente com falhas de servidor testando cada servidor MCP individualmente.
Recursos
🌐 Automação de Navegador (Playwright MCP)
- Navegar para sites
- Tirar capturas de tela
- Clicar em elementos e interagir com páginas web
- Automatizar tarefas baseadas na web
🔍 Busca na Web (DuckDuckGo MCP)
- Realizar buscas na web
- Obter informações em tempo real
- Pesquisar tópicos e encontrar respostas
🏠 Planejamento de Viagens (Airbnb MCP)
- Buscar acomodações
- Encontrar hotéis e aluguéis
- Obter recomendações de viagem
🛡️ Tratamento Robusto de Erros
- Teste individual de servidores na inicialização
- Degradação graciosa quando servidores falham
- Respostas de fallback em modo limitado
- Relatórios de erro claros
Pré-requisitos
Requisitos do Sistema
- Python 3.8+
- Node.js e npm (para servidores MCP)
- Gerenciador de pacotes UV (para servidores MCP Python)
Pacotes Necessários
# 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
Instalação
-
Clone ou baixe os arquivos do projeto:
# Ensure you have both app.py and browser_mcp.json -
Instale as dependências Python:
pip install -r requirements.txtOu instale individualmente:
pip install asyncio python-dotenv langchain-google-genai mcp-use -
Instale os 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 -
Configure as variáveis de ambiente: Crie um arquivo
.envna raiz do projeto:GOOGLE_API_KEY=your_google_api_key_here -
Configure os servidores MCP: O arquivo
browser_mcp.jsonjá está configurado com as configurações padrão. Modifique se necessário:{ "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
Iniciando o Chatbot
python app.py
Comandos Disponíveis
help- Mostrar comandos disponíveis e exemplos de consultastools- Listar todas as ferramentas MCP disponíveisquitouexit- Encerrar a conversa
Exemplos de Consultas
Automação de Navegador
"Take a screenshot of google.com"
"Navigate to wikipedia.org and search for Python"
"Click the login button on the website"
Busca na Web
"What's the weather like today?"
"Search for the latest news about AI"
"Find information about renewable energy"
Planejamento de Viagens
"Find hotels in New York City"
"Search for Airbnb rentals in San Francisco"
"What are the best accommodations in Tokyo?"
Assistência Geral
"Find the best restaurants in downtown Chicago"
"Help me research Python programming tutorials"
"Take a screenshot of the current stock market trends"
Arquitetura
Componentes Principais
-
Classe MCPChatbot: Orquestrador principal do chatbot
- Inicializa e gerencia servidores MCP
- Lida com interações do usuário
- Fornece respostas de fallback
-
Teste de Servidores: Validação individual de servidores
- Testa cada servidor MCP na inicialização
- Relata servidores funcionando e com falha
- Continua operação com servidores disponíveis
-
Integração de Agente: Integração LangChain + MCP
- Usa Google Gemini 2.0 Flash como LLM
- Integra com cliente MCP para acesso a ferramentas
- Suporta até 20 etapas de raciocínio
Tratamento de Erros
O chatbot implementa tratamento robusto de erros:
- Falhas de Servidor: Teste individual de servidores previne falha total
- Modo Limitado: Fornece respostas básicas quando nenhum servidor está disponível
- Degradação Graciosa: Continua operação com funcionalidade parcial
- Feedback ao Usuário: Mensagens de erro claras e relatórios de status
Configuração
Configuração do Servidor MCP
Edite browser_mcp.json para adicionar ou modificar servidores MCP:
{
"mcpServers": {
"your-server-name": {
"command": "command-to-run",
"args": ["arg1", "arg2"]
}
}
}
Variáveis de Ambiente
Necessárias no arquivo .env:
GOOGLE_API_KEY: Sua chave de API Google AI para acesso ao Gemini
Configuração do LLM
Modifique em app.py se necessário:
self.llm = ChatGoogleGenerativeAI(
model="gemini-2.0-flash-exp", # Model selection
temperature=0.3 # Creativity level
)
Solução de Problemas
Problemas Comuns
-
"browser_mcp.json não encontrado"
- Certifique-se de que o arquivo de configuração está no mesmo diretório que
app.py
- Certifique-se de que o arquivo de configuração está no mesmo diretório que
-
"Nenhum servidor MCP está funcionando"
- Verifique se todos os servidores MCP estão instalados corretamente
- Confirme que Node.js e UV estão instalados e acessíveis
- Verifique os logs do servidor para mensagens de erro específicas
-
Problemas com Chave de API Google
- Certifique-se de que seu arquivo
.envcontém umGOOGLE_API_KEYválido - Verifique se a chave de API tem acesso aos modelos Gemini
- Certifique-se de que seu arquivo
-
Problemas de Instalação
- Certifique-se de que Node.js e npm estão instalados
- Instale o gerenciador de pacotes UV:
pip install uv - Tente instalar servidores MCP individualmente para isolar problemas
Modo de Depuração
O chatbot fornece informações detalhadas de inicialização:
- Resultados do teste de servidores
- Lista de servidores funcionando
- Mensagens de erro para servidores com falha
Contribuindo
- Faça um fork do repositório
- Crie um branch de recurso
- Faça suas alterações
- Teste com vários servidores MCP
- Envie um pull request
Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
Verifique as licenças individuais dos servidores MCP para seus respectivos termos.
Suporte
Para problemas relacionados a:
- Protocolo MCP: Consulte a documentação oficial do MCP
- Servidores MCP Específicos: Consulte a documentação individual do servidor
- Integração LangChain: Consulte a documentação do LangChain
- Google Gemini: Consulte a documentação do Google AI
Agradecimentos
- Equipe do Model Context Protocol (MCP) pelo protocolo inovador
- Equipe do Playwright pelos recursos de automação de navegador
- Equipe do LangChain pelo framework de integração
- Google por fornecer os modelos de IA Gemini