# Correção: .env original TIM + MCP Server + URLs ## Problema corrigido O pacote anterior ainda tratava o MCP Server como um backend REST genérico baseado em `BACKOFFICE_MCP_REST_BASE_URL`. Quando essa variável não existia, uma chamada HTTP podia ser montada com URL vazia, gerando erro como: ```text Request URL is missing an 'http://' or 'https://' protocol. ``` Além disso, o `.env` original do backoffice `develop` usa variáveis específicas: ```text PMID_API_HOST SIEBEL_API_HOST SPEECH_PREDICTION_BASE_URL SPEECH_HISTORY_BASE_URL TAIS_DB_DSN TAIS_GENAI_ENDPOINT ... ``` Essas variáveis não devem ser substituídas por uma URL REST genérica. ## Ajustes implementados 1. `src/core/config.py` agora carrega explicitamente o `.env` da raiz do projeto. 2. `config/mcp_servers.yaml` agora usa endpoint literal seguro: ```yaml endpoint: http://localhost:8010 ``` Isso evita depender de expansão YAML `${VAR:default}` caso o `MCPToolRouter` do framework não suporte esse formato. 3. `mcp_servers/backoffice_mcp_server/settings.py` agora aceita: - variáveis `BACKOFFICE_MCP_*`, quando existirem; - variáveis originais TIM/develop, como `PMID_API_HOST`, `SIEBEL_API_HOST`, `SPEECH_*`, `TAIS_*`. 4. O default do MCP Server passou a ser: ```text BACKOFFICE_MCP_BACKEND_TYPE=tim_clients BACKOFFICE_MCP_USE_MOCK=false ``` Assim o MCP não mascara erro usando mock quando o `.env` real está presente. 5. As tools IMDB/PMID, Speech, TAIS, ABRT e Portabilidade passam a chamar os clients originais do projeto quando `backend_type=tim_clients`. ## Como testar Suba o MCP Server: ```bash uvicorn mcp_servers.backoffice_mcp_server.main:app --host 0.0.0.0 --port 8010 --reload ``` Confirme o health: ```bash curl http://localhost:8010/health ``` O retorno deve indicar: ```json { "use_mock": false, "backend_type": "tim_clients", "tim_clients_configured": true } ``` Depois suba o backend principal: ```bash uvicorn app.main:app --host 0.0.0.0 --port 9000 --reload ``` Teste a lista de tools via backend: ```bash curl http://localhost:9000/debug/mcp/tools ``` Se o MCP estiver ativo, essa chamada deve chegar no processo da porta `8010`.