mirror of
https://github.com/hoshikawa2/first_contas.git
synced 2026-07-09 10:14:20 +00:00
3.1 KiB
3.1 KiB
V7 — MCP legado TIM/FIRST com padrão Command + ApiGateway
Esta versão corrige a camada MCP do agent_contas_first para ficar mais próxima do projeto original.
O que mudou
A versão anterior ainda fazia chamadas HTTP muito genéricas. A V7 implementa no MCP Server local uma camada inspirada no legado:
MCP Tool
-> LegacyTimCommand
-> EndpointConfig
-> HttpApiGateway
-> GatewayError rico
-> retorno MCP com error/metadata preservados
Evidência esperada nos logs
Em caso de erro real do backend TIM, o mcp_results deve aparecer assim:
{
"tool_name": "consultar_fatura",
"server_name": "legacy_tim",
"ok": false,
"error": "TIM_COMPLETE_INVOICES falhou: status=400 body=...",
"metadata": {
"server": "legacy_tim",
"tool": "consultar_fatura",
"mock": false,
"endpoint": "TIM_COMPLETE_INVOICES",
"method": "POST",
"url": "http://10.151.3.100:8000/customers/v1/completeInvoices",
"status_code": 400,
"error_code": "HTTP_400",
"provider_service": "...",
"provider_error_code": "...",
"provider_error_message": "...",
"message_id": "...",
"kong_request_id": "...",
"latency_ms": 123,
"exception_type": "HTTPStatusError",
"response_body_preview": "..."
},
"cached": false
}
Se ainda aparecer:
{"ok": false, "error": "", "metadata": {}}
então provavelmente uma janela antiga do legacy_tim_mcp ainda está rodando ou o backend não foi reiniciado depois da troca do pacote.
Tools migradas para Commands
| MCP Tool | Command V7 | Endpoint |
|---|---|---|
consultar_fatura |
CompleteInvoicesCommand |
TIM_COMPLETE_INVOICES |
consultar_pagamentos |
ProfileBillCommand |
TIM_PROFILE_BILL |
consultar_plano |
ContractInformationCommand |
TIM_CONTRATO |
listar_servicos |
QueryVasCommand |
TIM_QUERY_VAS |
recuperar_pdf_fatura |
InvoiceRecoverCommand |
TIM_BILL_PDF |
registrar_protocolo |
ProtocolCommand |
TIM_PROTOCOL |
abrir_contestacao |
CustomerContestationCommand |
TIM_CUSTOMER_CONTESTATION |
consultar_status_sr |
ServiceRequestStatusCommand |
TIM_SERVICE_REQUEST_STATUS |
cancelar_vas |
CancelVasCommand |
TIM_CANCEL_VAS |
bloquear_vas |
BlockVasCommand |
TIM_BLOCK_VAS |
enviar_sms |
SmsCommand |
TIM_SMS |
registrar_tracking |
TrackingActivitiesCommand |
TIM_TRACKING_ACTIVITIES |
Como testar só o MCP
cd mcp_servers/legacy_tim_mcp
set -a
source .env
set +a
uvicorn main:app --host 0.0.0.0 --port 8100 --reload
Em outro terminal:
curl -s http://localhost:8100/health | jq
curl -s -X POST http://localhost:8100/mcp/tools/call \
-H 'Content-Type: application/json' \
-d '{
"tool_name":"consultar_fatura",
"arguments":{"msisdn":"11999999999","invoice_id":"3000131180"}
}' | jq
Checklist de execução
- Pare qualquer processo antigo do MCP na porta
8100. - Suba o MCP V7.
- Reinicie o backend do agente.
- Rode o curl do gateway.
- Verifique se
mcp_results[].metadata.endpoint,status_code,urleresponse_body_previewaparecem.