O gateway

stalwart gateway é um gateway MCP que verifica cada chamada de ferramenta que um agente faz, a caminho da ferramenta. O agente se conecta ao gateway; o gateway se conecta aos seus servidores MCP.

$ pip install stalwart-agents
$ stalwart gateway --config gateway.yaml
catalogue: ./catalogue.json
upstreams:
  "*": http://tools.internal:8080/mcp
agents:
  desk: ${DESK_TOKEN}
  billing: ${BILLING_TOKEN}
admin_token: ${GATEWAY_ADMIN_TOKEN}
audit: /var/log/stalwart/decisions.jsonl
elicitation_timeout: 600        # seconds a person has to answer a confirmation
listen: 0.0.0.0:8800

Cada agente se conecta com o seu próprio token bearer, de modo que o gateway sabe qual agente está chamando e o que ele pode alcançar.

Uma confirmação não respondida em elicitation_timeout segundos (600 por padrão) é recusada, e o mesmo vale para uma cujo cliente se desconecta antes. As outras chamadas da sessão esperam enquanto se pergunta a uma pessoa, porque a verificação e a sua confirmação precisam ver o mesmo histórico.

O gateway só é um ponto de controle se as ferramentas só puderem ser alcançadas por ele. network-policy.yaml é uma NetworkPolicy do Kubernetes que deixa só o gateway alcançar os servidores de ferramentas. Aplique-a, ou o equivalente na sua rede. Para colocar a verificação na frente das suas ferramentas a partir do Kong AI Gateway, veja a receita do Kong.