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

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

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

Yijun
Yijun
Developer

Pare de perder semanas com autenticação de utilizadores
Lance aplicações seguras mais rapidamente com o Logto. Integre a autenticação de utilizadores em minutos e concentre-se no seu produto principal.
Começar
Product screenshot

O que é MCP?

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

Simplificando, assim como o protocolo HTTP permite que diferentes websites 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. Esta padronização facilita para os desenvolvedores a construção de aplicações 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 porte (LLMs) são poderosos, mas enfrentam várias limitações chave:

  • Limitações de conhecimento e desafios de atualização: LLMs só conhecem informações incluídas nos seus dados de treino. Por exemplo, o conhecimento do GPT-4 é cortado em abril de 2023. Treinar modelos de linguagem de grande porte requer recursos computacionais enormes 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 atualizações são extremamente caras e demoradas. Quando um novo modelo termina de ser treinado, seu conhecimento já começou a ficar para trás.

  • Falta de conhecimento especializado no domínio: LLMs são treinados usando dados gerais publicamente disponíveis. Eles não podem entender 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 no âmbito de treino do modelo.

  • Nenhum padrão unificado para aceder a 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, pesquisas na internet, etc. Diferentes equipas de desenvolvimento oferecem diferentes soluções de integração, levando a altos custos de integração entre sistemas. Sistemas com dados especializados no domínio (como CRM, ERP, sistemas de registros médicos, etc.) são difíceis de integrar perfeitamente com LLMs. Cada integração requer desenvolvimento personalizado, carecendo de um método comum e padronizado.

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

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

  • Troca flexível entre fornecedores de LLM: Hoje 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, não precisa reescrever toda a lógica de integração da sua aplicação. Apenas precisa mudar o modelo subjacente, e todas as integrações de dados e ferramentas permanecem inalteradas.

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

Como o MCP funciona

No MCP, há três papéis principais: Servidor MCP (fornecendo ferramentas e acesso a dados), Cliente MCP (embutido no LLM e comunicando-se com o Servidor MCP) e Hosts MCP (aplicações que integram LLMs e Clientes, como Claude Desktop, Cursor, etc.). Vejamos esses três papéis em detalhe para ver como funcionam juntos.

Servidor MCP

O Servidor MCP é um programa que fornece capacidades de ferramentas e acesso a dados para LLMs usarem. Diferente dos servidores API remotos tradicionais, o Servidor MCP pode funcionar como uma aplicação local no dispositivo do usuário ou ser implantado num servidor remoto.

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

Cliente MCP

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

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

Pode verificar Desenvolver um Cliente MCP para saber mais sobre integrar o Cliente MCP com LLMs.

Hosts MCP

Programas como Claude Desktop, IDEs (Cursor, etc.) ou ferramentas de IA que pretendem aceder a dados através do MCP. Estas aplicações fornecem interfaces para os usuários interagirem com os LLMs, enquanto integram o Cliente MCP para se conectar aos Servidores MCP para estender as capacidades dos LLMs usando as ferramentas fornecidas pelos Servidores MCP.

Fluxo de Trabalho do MCP

Os três papéis acima, em última análise, formam uma aplicação de IA construída 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 aceder a quais dados, afetando diretamente os limites funcionais e capacidades da aplicação de IA.

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

Definindo ferramentas fornecidas pelo Servidor MCP

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

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

O LLM decidirá se usa ou não esta ferramenta com base na definição da ferramenta e na pergunta do usuário. Se necessário, o LLM chamará esta 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 tais ferramentas, pode seguir estas melhores práticas:

  • Descrições claras: Forneça descrições detalhadas e precisas para cada ferramenta, indicando 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: Use Zod ou bibliotecas similares para validar estritamente os parâmetros de entrada, garantindo tipos corretos, intervalos de valores 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 erros: Implemente estratégias abrangentes de tratamento de erros, capture possíveis exceções e retorne mensagens de erro amigáveis para o 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 a dados: Assegure-se de que as APIs de recursos de backend tenham mecanismos robustos de autenticação e autorização, e desenhe cuidadosamente escopos de permissão para limitar o Servidor MCP a aceder e retornar apenas os dados que o usuário está autorizado a acessar. Isso previne vazamentos de informações sensíveis e assegura a segurança dos dados.

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

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

  • Autenticação: Diferente das aplicações tradicionais, no ambiente MCP, o usuário não pode autenticar-se com fluxos de login tradicionais (como nome de usuário/senha, email/código de verificação, etc.) para acessar o sistema externo.
  • Controle de acesso para requisições do Servidor MCP: Usuários acedendo a sistemas através de ferramentas de IA são os mesmos indivíduos que podem usar diretamente o 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 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:

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

Pode consultar o post do blog: Empoderar o seu negócio: Conecte ferramentas de IA ao seu serviço existente com controle de acesso com um exemplo de código-fonte completo para aprender a usar os Tokens de Acesso Pessoal (PAT) da Logto combinados com Controle de Acesso Baseado em Funções (RBAC) para restringir os recursos que o MCP pode acessar dos serviços de backend.

Resumo

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

Usar MCP para conectar seus próprios serviços trará novas possibilidades ao seu negócio. O MCP é a ponte que conecta a IA ao valor de negócio. Pode criar assistentes de IA que realmente entendem o conhecimento interno da sua empresa, desenvolver ferramentas inteligentes que acedem os dados mais recentes e construir aplicações profissionais que atendem necessidades específicas do setor.