Português (Brasil)
  • MCP
  • Protocolo de Contexto do Modelo
  • IA

O que é MCP (Protocolo de Contexto do Modelo) e como ele funciona

Um guia fácil de entender sobre o Protocolo de Contexto do Modelo (MCP), explicando como ele ajuda os LLMs a acessar recursos externos para superar limitações de conhecimento e construir aplicativos de IA mais poderosos.

Yijun
Yijun
Developer

Pare de perder semanas com autenticação de usuários
Lance aplicativos seguros mais rapidamente com o Logto. Integre a autenticação de usuários em minutos e concentre-se no seu produto principal.
Começar
Product screenshot

O que é MCP?

MCP (Protocolo de Contexto do Modelo) é um protocolo universal e aberto que padroniza como aplicativos fornecem informações de contexto para modelos de linguagem de grande escala (LLMs).

Simplificando, assim como o protocolo HTTP permite que diferentes sites e navegadores troquem informações de acordo com as mesmas regras, o MCP é como o protocolo HTTP do mundo da IA. O MCP permite que diferentes modelos de IA se conectem a várias fontes de dados e ferramentas de maneira padronizada. Essa padronização facilita para os desenvolvedores a construção de aplicativos de IA sem a necessidade de criar interfaces especializadas para cada modelo ou fonte de dados.

Por que precisamos do MCP?

Modelos de linguagem de grande escala (LLMs) são poderosos, mas enfrentam várias limitações principais:

  • Limitações de conhecimento e desafios de atualização: LLMs conhecem apenas as informações incluídas em seus dados de treinamento. Por exemplo, o conhecimento do GPT-4 é cortado em abril de 2023. Treinar modelos de linguagem de grande escala requer enormes recursos de computação e tempo, muitas vezes levando seis meses ou mais para completar uma nova versão. Isso cria um problema difícil: o conhecimento do modelo está sempre "desatualizado", enquanto as atualizações são extremamente caras e demoradas. Quando um novo modelo termina o treinamento, seu conhecimento já começou a ficar para trás.

  • Falta de conhecimento especializado em domínios: LLMs são treinados usando dados gerais disponíveis publicamente. Eles não podem compreender profundamente dados e informações especializadas em cenários de negócios específicos. Por exemplo, os processos internos de uma instituição médica, o catálogo de produtos de uma empresa ou o conhecimento proprietário de uma organização não estão dentro do escopo de treinamento do modelo.

  • Nenhum padrão unificado para acessar dados externos: Atualmente, há muitos métodos para fornecer informações adicionais aos LLMs, como RAG (Geração Aumentada por Recuperação), bases de conhecimento locais, buscas na internet, etc. Diferentes equipes de desenvolvimento oferecem diferentes soluções de integração, levando a altos custos de integração entre sistemas. Sistemas com dados de domínio especializado (como CRM, ERP, sistemas de registros médicos, etc.) são difíceis de integrar perfeitamente com LLMs. Cada integração requer desenvolvimento personalizado, faltando um método comum e padronizado.

É por isso que precisamos do MCP. O MCP fornece um protocolo padronizado que permite que LLMs acessem informações e ferramentas externas de maneira consistente, resolvendo todos os problemas acima. Através do MCP, podemos obter as seguintes vantagens principais:

  • Integrações pré-construídas: O MCP oferece muitas integrações de servidor prontas, incluindo sistemas de arquivos, bancos de dados (PostgreSQL, SQLite), ferramentas de desenvolvimento (Git, GitHub, GitLab), ferramentas de rede (Brave Search, Fetch), ferramentas de produtividade (Slack, Google Maps) e muito mais. Isso significa que você não precisa construir essas integrações do zero. Você pode simplesmente usar esses conectores pré-construídos para permitir que LLMs acessem dados nesses sistemas.

  • Troca flexível entre provedores de LLM: Hoje você pode usar o GPT-4, amanhã pode querer experimentar o Claude ou o Gemini, ou usar diferentes LLMs para diferentes cenários. Com o MCP, você não precisa reescrever toda a lógica de integração do seu aplicativo. Você só precisa mudar o modelo subjacente, e todas as integrações de dados e ferramentas permanecem inalteradas.

  • Construção de fluxos de trabalho de IA complexos: Imagine um sistema de análise de documentos legais que precisa consultar vários bancos de dados, usar ferramentas específicas para comparação de documentos e gerar relatórios. O MCP permite que você construa agentes e fluxos de trabalho complexos sobre LLMs.

Como o MCP funciona

No MCP, há três funções principais: Servidor MCP (que fornece ferramentas e acesso a dados), Cliente MCP (incorporado no LLM e que se comunica com o Servidor MCP), e Hosts MCP (aplicativos que integram LLMs e Clientes, como Claude Desktop, Cursor, etc.). Vamos examinar essas três funções em detalhes para ver como elas trabalham juntas.

Servidor MCP

O Servidor MCP é um programa que fornece capacidades de ferramentas e acesso a dados para LLMs usarem. Ao contrário de servidores de API remotos tradicionais, o Servidor MCP pode ser executado como um aplicativo local no dispositivo do usuário ou ser implantado em um servidor remoto.

Cada Servidor MCP fornece um conjunto de ferramentas específicas responsáveis por recuperar informações de dados locais ou serviços remotos. Quando um LLM determina que precisa usar uma determinada ferramenta ao processar uma tarefa, ele utilizará as ferramentas fornecidas pelo Servidor MCP para obter os dados necessários e retorná-los ao LLM.

Cliente MCP

O Cliente MCP é a ponte que conecta LLMs e Servidores MCP. Incorporado no LLM, é responsável por:

  • Receber solicitações do LLM
  • Encaminhar solicitações ao Servidor MCP apropriado
  • Retornar resultados do Servidor MCP de volta ao LLM

Você pode verificar Desenvolver um Cliente MCP para saber mais sobre a integração do Cliente MCP com LLMs.

Hosts MCP

Programas como Claude Desktop, IDEs (Cursor, etc.) ou ferramentas de IA que desejam acessar dados através do MCP. Esses aplicativos fornecem interfaces para que os usuários interajam com LLMs, enquanto integram o Cliente MCP para se conectar a Servidores MCP e estender as capacidades dos LLMs usando as ferramentas fornecidas pelos Servidores MCP.

Fluxo de Trabalho MCP

As três funções acima formam, em última análise, um aplicativo de IA construído sobre o MCP.

Um exemplo de fluxo de trabalho deste sistema é o seguinte:

Como construir um Servidor MCP

O Servidor MCP é o elo mais crítico no sistema MCP. Ele determina quais ferramentas o LLM pode usar para acessar quais dados, afetando diretamente os limites funcionais e capacidades do aplicativo de IA.

Para começar a construir seu próprio Servidor MCP, é recomendado primeiro ler o guia rápido oficial do MCP, que detalha o processo completo desde a configuração do ambiente até a implementação e uso do Servidor MCP. Vamos explicar apenas os detalhes principais da implementação.

Definindo ferramentas fornecidas pelo Servidor MCP

A funcionalidade principal de um Servidor MCP é definir ferramentas através do método server.tool(). Essas ferramentas são funções que o LLM pode chamar para obter dados externos ou realizar operações específicas. Vamos ver um exemplo simplificado usando Node.js:

Neste exemplo, definimos uma ferramenta chamada search-documents que aceita uma string de consulta e um número máximo de resultados como parâmetros. A implementação da ferramenta conectaria a um sistema de base de conhecimento e retornaria os resultados da consulta.

O LLM decidirá se deve usar esta ferramenta com base na definição da ferramenta e na pergunta do usuário. Se necessário, o LLM chamará essa ferramenta, obterá os resultados e gerará uma resposta combinando os resultados com a pergunta do usuário.

Melhores práticas para definir ferramentas

Ao construir essas ferramentas, pode-se seguir estas melhores práticas:

  • Descrições claras: Fornecer descrições detalhadas e precisas para cada ferramenta, afirmando claramente sua funcionalidade, cenários aplicáveis e limitações. Isso não apenas ajuda o LLM a escolher a ferramenta certa, mas também facilita para os desenvolvedores entender e manter o código.
  • Validação de parâmetros: Usar Zod ou bibliotecas semelhantes para validar rigorosamente os parâmetros de entrada, garantindo tipos corretos, intervalos de valor razoáveis e rejeitando entradas não conformes. Isso previne que erros se propaguem para sistemas de backend e melhora a estabilidade geral.
  • Tratamento de erro: Implementar estratégias abrangentes de tratamento de erros, capturar possíveis exceções e retornar mensagens de erro amigáveis ao usuário. Isso melhora a experiência do usuário e permite que o LLM forneça respostas significativas com base nas condições de erro, em vez de simplesmente falhar.
  • Controle de acesso aos dados: Garantir que as APIs de recursos de backend tenham mecanismos robustos de autenticação e autorização, e projetar cuidadosamente escopos de permissão para limitar o Servidor MCP a acessar e retornar apenas dados para os quais o usuário está autorizado. Isso previne vazamentos de informações sensíveis e garante a segurança dos dados.

Como garantir a segurança da troca de dados entre MCP (modelos de IA) e sistemas externos

Ao implementar Servidores MCP que conectam modelos de IA com sistemas externos, há dois desafios principais de segurança na implementação do MCP:

  • Autenticação: Ao contrário das aplicações tradicionais, no ambiente MCP, o usuário não pode fazer login com fluxos tradicionais (como nome de usuário/senha, email/código de verificação, etc.) para acessar o sistema externo.
  • Controle de acesso para solicitações do Servidor MCP: Usuários que acessam sistemas através de ferramentas de IA são os mesmos indivíduos que podem usar diretamente seu sistema. O Servidor MCP age como representante deles quando interagem através das ferramentas de IA. Redesenhar todo um mecanismo de controle de acesso apenas para acomodar o Servidor MCP exigiria um esforço e custo significativos.

A solução chave para esses desafios é implementar Tokens de Acesso Pessoal (PATs). Os PATs fornecem uma maneira segura para os usuários concederem acesso sem compartilhar suas credenciais ou exigir login interativo.

Veja como o fluxo de trabalho funciona:

Essa abordagem permite que seu serviço existente mantenha seus mecanismos de autenticação enquanto habilita a integração segura com o MCP.

Você pode consultar o post no blog: Potencialize seu negócio: Conecte ferramentas de IA ao seu serviço existente com controle de acesso com um exemplo completo de código-fonte para aprender a usar os Tokens de Acesso Pessoal (PAT) combinados com Controle de Acesso Baseado em Papel (RBAC) para restringir os recursos que o MCP pode acessar nos serviços de backend.

Resumo

O MCP (Protocolo de Contexto do Modelo) traz mudanças revolucionárias para a combinação de LLMs e negócios específicos. Ele resolve os problemas de limitações de conhecimento em modelos de linguagem de grande escala, falta de conhecimento especializado em domínios e padrões não unificados para acesso a dados externos.

Usar o MCP para conectar seus próprios serviços trará novas possibilidades para o seu negócio. MCP é a ponte que conecta a IA com o valor de negócio. Você pode criar assistentes de IA que realmente compreendem o conhecimento interno da sua empresa, desenvolver ferramentas inteligentes que acessam os dados mais recentes e construir aplicativos profissionais que atendem às necessidades específicas do setor.