mirror of
https://github.com/hoshikawa2/agent_platform_oci.git
synced 2026-07-09 14:04:19 +00:00
2.4 KiB
2.4 KiB
MCP Gateway Runbook
Arquitetura corrigida
O backend/agente não deve chamar diretamente os MCP servers finais. O fluxo correto é:
agent_template_backend / agent_framework
-> MCP Gateway Client
-> apps/mcp_gateway
-> mcp/servers/telecom_mcp_server ou mcp/servers/retail_mcp_server
Subir localmente
A partir da raiz do projeto:
Terminal 1 - Telecom MCP Server
cd mcp/servers/telecom_mcp_server
python -m uvicorn main:app --host 0.0.0.0 --port 8100 --reload
Terminal 2 - Retail MCP Server
cd mcp/servers/retail_mcp_server
python -m uvicorn main:app --host 0.0.0.0 --port 8200 --reload
Terminal 3 - MCP Gateway
cd apps/mcp_gateway
export MCP_GATEWAY_CONFIG_PATH=config/mcp_gateway.yaml
python -m uvicorn app.main:app --host 0.0.0.0 --port 8300 --reload
Terminal 4 - Backend/agente
No .env do backend/agente ou do runtime que usa o agent_framework, habilite:
ENABLE_MCP_TOOLS=true
MCP_GATEWAY_ENABLED=true
MCP_GATEWAY_URL=http://localhost:8300
MCP_GATEWAY_AGENT_ID=telecom_contas
MCP_GATEWAY_TENANT_ID=default
Testes rápidos
Health do gateway
curl http://localhost:8300/health
Lista de tools expostas pelo gateway
curl http://localhost:8300/v1/tools
Chamada de tool via gateway
curl -X POST http://localhost:8300/v1/tools/consultar_fatura/invoke \
-H 'Content-Type: application/json' \
-d '{
"tenant_id": "default",
"agent_id": "telecom_contas",
"channel": "web",
"tool_name": "consultar_fatura",
"arguments": {
"msisdn": "11999999999",
"invoice_id": "INV-123"
},
"business_context": {},
"metadata": {"session_id": "local-test"}
}'
Resposta esperada: ok: true, data.invoice_id, data.msisdn, metadata.server: telecom.
O que foi corrigido
apps/mcp_gateway/config/mcp_gateway.yamlagora aponta para os MCP servers reais nas portas8100e8200.- O MCP Gateway agora suporta o contrato legado dos MCP servers:
POST /mcp/tools/callcom{tool_name, arguments}. - O
agent_frameworkganhou flagsMCP_GATEWAY_ENABLED,MCP_GATEWAY_URL,MCP_GATEWAY_TOKEN,MCP_GATEWAY_AGENT_IDeMCP_GATEWAY_TENANT_ID. - O
MCPToolRouterpassa a chamar o MCP Gateway quandoMCP_GATEWAY_ENABLED=true. libs/agent_framework/config/mcp_servers.yamlfoi mantido como registry lógico/fallback, não como caminho principal quando o gateway está ativo.