

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Estratégia de governança do MCP
<a name="mcp-governance-strategy"></a>

A outra capacidade crítica que o MCP oferece às organizações é o suporte à governança centralizada. Sua estratégia de governança de MCP deve abordar a autenticação e a autorização tanto para os servidores MCP quanto para os recursos que eles acessam. Também deve abordar a limitação de taxas para proteger os recursos posteriores, as métricas operacionais para monitorar o uso e o desempenho das ferramentas e gerenciar implantações e distribuição de servidores MCP.

## Autenticação e autorização
<a name="mcp-governance-strategy-auth"></a>

Uma das partes mais importantes de sua estratégia de autenticação e autorização é gerenciar o acesso a recursos downstream dos servidores MCP. Quando um usuário chama um agente, a autenticação e a autorização são realizadas para garantir que o usuário tenha permissões para chamar o agente. Em seguida, o agente orquestra a chamada de ferramentas específicas nos servidores MCP. Você precisa decidir como autorizar o acesso por ferramenta.

Uma opção é a *machine-to-machine autorização*, em que o consentimento ou a interação do usuário não são necessários. Por exemplo, uma invocação de agente baseada em tempo usa um servidor MCP para coletar registros de um aplicativo e analisá-los. Nesse cenário, o agente está pré-autorizado a acessar os dados especificados. A segunda opção é o *acesso delegado pelo usuário*, em que um usuário fornece seu consentimento para acessar dados e recursos específicos do usuário.

A tabela a seguir mostra os padrões de autenticação e autorização.


| 
| 
| **Fator** | **Acesso delegado pelo usuário** | **Machine-to-machine** | 
| --- |--- |--- |
| Propriedade de dados | Autorização específica do usuário para dados | Dados de todo o sistema ou da organização | 
| Interação com o usuário | O usuário está presente e pode consentir | Sem interação com o usuário | 
| Tempo de operação | Interativo ou em tempo real | Em segundo plano, programado ou em lote | 
| Escopo de permissões | As permissões variam de acordo com o usuário | Permissões consistentes no nível do agente | 

O acesso delegado pelo usuário requer uma implementação cuidadosa e deve ser desenvolvido com sua equipe de segurança. Os agentes devem ser capazes de avaliar quais ferramentas um LLM selecionou e se elas precisam de autorização adicional. As ferramentas MCP devem incluir descrições para indicar seus requisitos de autenticação e autorização e onde recuperar os tokens de acesso. Os aplicativos cliente devem oferecer suporte a solicitações de autenticação intermediárias, e o cliente MCP deve fornecer as credenciais recuperadas de volta ao agente para cada chamada de ferramenta.

Você deve garantir que as ferramentas MCP sempre tenham seus próprios tokens para acessar recursos externos e que o acesso seja registrado e auditado. As credenciais do usuário não devem ser propagadas por meio de seu sistema agente. Por exemplo, seus servidores MCP não devem usar o mesmo token para acessar dados que foram usados para invocar o agente. As chamadas downstream devem usar tokens com escopo explícito e gerados para fins específicos. Isso ajuda a fornecer proteções adicionais para impedir o acesso não intencional aos dados em nome das ações. Também pode ajudar a evitar que alucinações produzam resultados indesejados. Imagine que um usuário com permissões totais de administrador peça a um agente que clone um banco de dados de produção para uso na pré-produção. Para fazer isso, o usuário só precisa de `CREATE` permissões `READ` e permissões. Digamos que o LLM alucine e acredite que precisa limpar o banco de dados antigo como parte dessa solicitação. Se ele reutilizar as credenciais do usuário, provavelmente será bem-sucedido porque as credenciais originais do usuário têm permissões. `DELETE` Em vez disso, se o servidor MCP usar um token intencionalmente reduzido para a solicitação com apenas `READ` `CREATE` permissões, a tentativa de excluir o banco de dados de produção falhará.

Você pode usar o [Amazon Bedrock AgentCore Identity](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/common-use-cases.html) para ajudar a implementar esses padrões. Certifique-se de fazer uma escolha intencional sobre se as permissões para listar e invocar ferramentas hospedadas por um servidor MCP implicam permissão para os recursos externos que o servidor MCP expõe. Esse fluxo de identidade do servidor MCP para o recurso e de volta para o usuário depende do tipo de serviço de autenticação e autorização que está sendo usado. Você deve decidir como isso é tratado em grande escala para seus servidores MCP.

Ao projetar seus padrões de autenticação e autorização, implemente mecanismos de isolamento de token que recuperem diferentes tokens de acesso para cada ferramenta acessada. Não reutilize tokens entre ferramentas e servidores. AgentCore A identidade fornece esse recurso de isolamento de token. Ele gerencia automaticamente os tokens da carga de trabalho (para machine-to-machine autenticação) e os tokens do usuário (para acesso delegado pelo usuário) para garantir a separação adequada e evitar o escalonamento de permissões. Isso é especialmente importante ao incorporar servidores MCP remotos ou gateways MCP.

### Melhores práticas para autenticação e autorização de MCP
<a name="mcp-governance-strategy-auth-best-practices"></a>
+ **Separação de tokens** — Não passe tokens portadores dos chamadores para os serviços posteriores. Valide se o campo aud (audiência) corresponde ao servidor que está recebendo o token. A reivindicação do público especifica para qual serviço o token se destina, impedindo a reutilização não autorizada de tokens em diferentes servidores MCP.
+ **Selecione uma abordagem de acesso** — Escolha entre machine-to-machine acesso delegado pelo usuário para cada ferramenta que seus servidores MCP fornecem. Considere agrupar ferramentas no mesmo servidor MCP que usam o mesmo padrão de autenticação.

## Controlando a carga
<a name="controlling-load"></a>

Como em qualquer sistema distribuído, você deve considerar como controlar a carga em sua frota de servidores MCP. Primeiro, você considera se deve implementar a limitação de taxa em seus servidores MCP e onde implementar os limites. Se você optar por não implementar a limitação de taxa, você repassa qualquer limitação de taxa executada por recursos posteriores. Muitos sistemas optam pelo limite de tarifas com base nos atributos da solicitação, como ID do usuário ou da conta. Valide se as solicitações enviadas aos serviços downstream têm esses mesmos atributos para que vários usuários não sejam afetados pela carga gerada por outro usuário.

Se você optar por implementar a limitação de taxa, a abordagem recomendada é implementar a limitação de taxa primária no nível do servidor MCP, com serviços de back-end fornecendo proteção secundária e agentes adaptando seu comportamento com base no feedback do limite de taxa. Considere se os limites de taxa são por servidor MCP ou por ferramenta. Os limites de taxa por servidor MCP ajudam a proteger sua frota e serviços de servidores MCP em um ambiente multilocatário. No entanto, isso pode ser muito grosseiro. Os limites de taxa por ferramenta foram projetados para evitar a sobrecarga de recursos posteriores que podem não se limitar suficientemente. Se uma ferramenta chamar várias APIs, você deve definir o limite de taxa para se alinhar à taxa mais baixa permitida por elas APIs.

A transmissão de informações de limite de taxa em cabeçalhos HTTP também pode ser uma métrica útil para usuários e sistemas automatizados para ajudar a gerenciar sua própria taxa de solicitações e estratégias de repetição. Por exemplo, você pode enviar esses cabeçalhos de volta para o agente a partir do seu servidor MCP, conforme mostrado no exemplo a seguir:

```
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1640995200
```

Além disso, considere a redução de carga para proteger o serviço geral quando nenhum cliente estiver excedendo um limite de taxa, mas a carga estiver afetando o desempenho do sistema.

### Melhores práticas para controlar a carga
<a name="mcp-governance-strategy-load-best-practices"></a>
+ **Escolha uma abordagem de limitação de taxa** — Planeje limitar a taxa de usuários individuais com base no uso de recursos posteriores ou no uso de seu servidor e ferramentas MCP.
+ **Considere a redução de carga — proteja** sua frota de servidores MCP da sobrecarga geral que não é causada por um único ou poucos clientes.

## Métricas operacionais
<a name="mcp-governance-strategy-metrics"></a>

As principais métricas a serem capturadas para implementações de MCP devem se concentrar na experiência do cliente que elas oferecem. Essas métricas geralmente incluem uso de tokens, precisão na seleção de ferramentas, número de ferramentas registradas com o agente e latência da ferramenta. Por exemplo, monitorar os tokens de saída retornados por cada ferramenta permite que você defina alarmes quando as ferramentas excedem um limite para o uso da janela de contexto. Quando uma ferramenta excede esse limite, talvez você queira revisar o comportamento da ferramenta. Isso também está relacionado à estratégia de design da ferramenta MCP. As métricas de precisão da seleção de ferramentas indicam o quão bem os agentes escolhem as ferramentas apropriadas para determinadas tarefas, enquanto a velocidade de execução e as taxas de sucesso destacam gargalos de desempenho e problemas de confiabilidade.

Por exemplo, para avaliar as métricas de seleção e precisão do uso de ferramentas, AWS as equipes criaram conjuntos de dados dourados para testes de regressão. Os conjuntos de dados foram gerados sinteticamente usando registros históricos LLMs de invocação da API em consultas de usuários. Usando as métricas predefinidas de seleção e uso de ferramentas (como precisão da seleção de ferramentas, precisão dos parâmetros da ferramenta e precisão das chamadas de funções em vários turnos), AWS as equipes poderiam avaliar objetivamente a capacidade do agente de IA de identificar corretamente as ferramentas apropriadas, preencher seus parâmetros com valores precisos e manter sequências coerentes de invocação de ferramentas em turnos de conversação.

Medir métricas sobre o número de ferramentas registradas com um agente pode ajudá-lo a identificar possíveis desafios de gerenciamento de janelas de contexto, bem como mudanças nas ferramentas disponíveis apresentadas pelos servidores MCP. Você deve revisar regularmente as métricas operacionais que indicam a experiência do usuário com o servidor e as ferramentas MCP.