first commit

This commit is contained in:
2026-06-13 08:23:21 -03:00
commit 89c23fb0ed
439 changed files with 32801 additions and 0 deletions

View File

@@ -0,0 +1,88 @@
# 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`.