View a markdown version of this page

Organização de ferramentas - AWS Recomendações

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á.

Organização de ferramentas

Descobrir as ferramentas certas e garantir que o LLM possa usá-las de forma eficaz é uma das partes mais críticas do desenvolvimento eficaz de ferramentas. Ao começar a desenvolver servidores MCP, você precisa de uma estratégia que determine:

  • Quantas ferramentas entram em um servidor MCP

  • Quais ferramentas não devem ser colocadas no mesmo servidor MCP

  • Como nomear ferramentas para torná-las pesquisáveis e evitar colisões de nomes (ferramentas diferentes com o mesmo nome)

  • Como documentar as ferramentas e o servidor MCP para torná-los fáceis de usar pelo LLM

A organização do namespace é um padrão de design que evita colisões de nomes de ferramentas, agrupa funcionalidades relacionadas e facilita a identificação eficiente de ferramentas pelos LLMs. O padrão estabelece uma categorização estruturada que é análoga aos sistemas de armazenamento organizados, em vez da acumulação não estruturada. Recomendamos o padrão domínio-substantivo-verbo para nomeação de ferramentas. Por exemplo, github_issue_creategithub_issue_list,github_issue_update,github_pullrequest_create,github_pullrequest_list, ougithub_pullrequest_merge. A vantagem desse padrão é evidente ao examinar o comportamento de classificação alfabética. Quando as ferramentas são listadas em ordem alfabética, todas as operações relacionadas ao problema se agrupam (create,,update)list, seguidas pelas operações de pull request (,,). create list merge O substantivo (tipo de recurso) funciona como um limite organizacional. Essa estrutura facilita tanto a digitalização da ferramenta LLM quanto a navegação na documentação humana porque as funcionalidades relacionadas se agrupam naturalmente.

O servidor MCP deve ser limitado no nível do domínio, mas pode ser subdividido com base na separação de tarefas dos recursos que ele fornece. Por exemplo, você pode ter servidores MCP separados para operações de gravação e leitura em um banco de dados. Para impor essa separação, é recomendável implementar grades de proteção no nível do agente que restrinjam quais servidores MCP podem ser acessados com base na intenção e nas permissões do usuário. Isso pode ser obtido por meio de uma combinação das seguintes opções:

  • Carregamento condicional do servidor — Carregue o servidor MCP somente para leitura quando o agente detectar operações de leitura na entrada do usuário.

  • Permission-based filtragem — Use a autorização do usuário para conceder acesso somente aos servidores MCP apropriados.

Finalmente, você desejará criar um limite superior no número de ferramentas fornecidas por um servidor MCP. Não faça suposições sobre como os agentes usarão seu servidor MCP. Eles podem listar ingenuamente todas as ferramentas disponíveis e fornecê-las todas ao LLM. Se você tiver mais de 50 ferramentas em um único servidor, considere dividi-las em vários servidores.

Melhores práticas para organização de ferramentas de MPC

  • Use o padrão de nomenclatura domínio-substantivo-verbo para ferramentas — Implemente estratégias para evitar colisões de nomes em servidores MCP e em agentes.

  • Defina um limite superior — Restrinja o número de ferramentas em um único servidor MCP.

  • Divida os servidores MCP — Use a separação de tarefas para dividir os servidores MCP em grupos lógicos.