Ainda não cheguei a testar o MCP, estou de olho.

Tenho as seguintes dúvidas:

  • Quando crio um MCP server, ele é basicamente um serviço que fornece todas as funcionalidades que estão implementadas nele, correto?
  • Ou seja, em uma grande empresa eu terei muitos MCP server, basicamente teria um MCP server com funcionalidades para cada produto? Afinal não quero dar a capacidade de fazer tudo para todos os canais/agentes etc.
  • Sobre autenticação/permissão, como é passada essa informação se não for uma informação estática? ex: um agent que estaria em um MS que vai incluir um servidor mcp e precisará passar essa informação que é obtida de uma autenticação oauth, já é possível fazer isso dinamicamente sem colocar como uma funcionalidade do agent essa obtenção do token?
  • Acham que o uso do MCP pode ser uma solução definitiva para a criação de multiagentes? ex: criar um agente que é responsável por um canal, ele conhece os outros agentes como entrada, que por sua vez, os agentes teriam acesso a outros mcp server e seu próprio prompt.

É algo bem legal pra se ficar de olho, estamos num ponto de inflexão grande no mercado de IA, e esse é um dos impulsos.

Sobre suas dúvidas, vamos lá:

  • Exato. O MCP Server em sua maioria possui um mecanismo de "auto descoberta". Diferente de tools convencionais, você não precisa informar pra sua IA via prompt da existência de ferramentas, ele descobre sozinho se bem descritas. Pense como tools escaláveis e de melhor manutenção (além de publicavéis como o comentário abaixo fez rs)

  • Exato. Podemos instanciar multiplos MCP Server e passar ao nosso Client (IA). Ferramentas como Vercel IA SDK lidam bem com isso. E cada MCP Server pode ter um transporte e endereço diferente.

  • Seria estático na maioria dos casos. Você poderia guardar ali no servidor um "usuario" e "senha", criar uma tool de autenticação e assim o Agent chamaria ela antes, ou até instruir a IA a passar o usuario e senha como parâmetros (ou qualquer outra credencial). Porém, de todo modo você teria de deixar algo estático, seja a Key ou credenciais pra obter a key... A não ser que você planeje fazer algo mais "dinâmico", onde o usuário que está interagindo com seu Agente passe as credenciais para que ela obtenha a key como primeira etapa (faz sentido?).

  • Definitiva é um termo forte... Mas com certeza vai ajudar a escalar muita coisa. No meu projeto Saas atual, estamos buscando algo assim com multiplos agentes por escopo, tendo inclusive um agente receptor geral para dúvidas "soltas" e redirecionamento para agentes especializados. Uma dica para isso é fazer classificação de prompt (embeddings, KNN ou até via modelos de IA mais simples como camada inicial).