README.md•3.29 kB
# 🤖 MCP Agentic RAG com Qdrant e Bright Data
Este projeto implementa um servidor MCP (Model Context Protocol) com ferramentas inteligentes para:
- 🔍 Buscar respostas em uma base vetorial de perguntas frequentes sobre **machine learning**
- 🌐 Realizar pesquisas web usando proxy premium da **Bright Data**
- 💡 Usar agentes via **Claude Desktop** com prompts estruturados
---
## ⚙️ Tecnologias
- [🧠 LlamaIndex](https://github.com/jerryjliu/llama_index) com modelo `nomic-embed-text-v1.5`
- [📦 Qdrant](https://qdrant.tech/) como banco vetorial local (via Docker)
- [🌍 Bright Data](https://brightdata.com) para scraping com proxy
- [🧠 Claude Desktop](https://www.anthropic.com/index/claude) como cliente LLM
- [⚡ FastMCP](https://github.com/openai/mcp) como servidor MCP
- Python 3.11+
---
## 🧪 Configuração rápida
### 1. Clone o projeto e crie o ambiente
```bash
git clone https://seurepo.com/mcp_agentic_rag.git
cd mcp_agentic_rag
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
```
### 2. Configure seu arquivo `.env`
Crie o arquivo `.env` com suas credenciais Bright Data:
```env
BRIGHT_DATA_USERNAME=brd-customer-usuario-zone-nomezona
BRIGHT_DATA_PASSWORD=sua_senha
```
---
### 3. Suba o Qdrant via Docker
```bash
docker run -p 6333:6333 -p 6334:6334 ^
-v ${PWD}/qdrant_storage:/qdrant/storage ^
qdrant/qdrant
```
---
### 4. Ingestão de FAQ no banco vetorial
```bash
python ingest_faq.py
```
Você verá mensagens como:
```
✅ Coleção 'ml_faq_collection' populada com sucesso no Qdrant.
```
---
### 5. Inicie o servidor MCP
```bash
python server.py
```
---
### 6. Configure o Claude Desktop
Adicione este conteúdo ao seu `config.json` em:
```
Claude Desktop > Settings > MCP Servers
```
```json
{
"mcpServers": {
"mcp-rag-app": {
"command": "python",
"args": ["C:\\Seu_Path\\mcp_agentic_rag\\server.py"],
"host": "127.0.0.1",
"port": 8080,
"timeout": 30000
}
}
}
```
---
## 🚀 Como usar
### ✅ Prompt 1 – Buscar em base FAQ:
```yaml
Você é um assistente especializado em aprendizado de máquina.
Use a ferramenta "machine_learning_faq_retrieval_tool" para responder perguntas como:
"Como evitar overfitting em modelos de machine learning?"
```
### ✅ Prompt 2 – Pesquisa via Bright Data:
```yaml
Você é um assistente de conhecimento geral.
Use "bright_data_web_search_tool" para perguntas como:
"Qual o impacto atual da inteligência artificial no setor bancário brasileiro?"
```
---
## 🧰 Scripts úteis
- `ingest_faq.py` → Gera embeddings e popula Qdrant com FAQ
- `server.py` → Inicia o servidor MCP com as ferramentas
- `teste.py` → Faz busca manual na coleção FAQ para debug
- `prompt_1.yml`, `prompt_2.yml` → Exemplos para Claude Desktop
- `rag_code.py` → Lógica de vetorização e busca
- `.env` → Armazena credenciais do Bright Data
- `config.json` → Registro local de servidor MCP no Claude
---
## 📬 Informação - Este projeto foi adaptado do projeto mcp_agentic_rag
Para mais projetos de IA, veja o [Daily Dose of Data Science](https://join.dailydoseofds.com)
---
## 🤝 Contribuições
Contribuições são bem-vindas! Faça um fork, crie um branch, adicione melhorias e envie um PR 🚀