parece que toda a internet agora tá falando sobre mcps pelo menos na comunidade de a isso aqui se transformou em algo completamente viral e o mais curioso disso tudo é que não é um conceito completamente novo ele foi apresentado pela antropic num artigo bem despretencioso lá em novembro do ano passado mas que explodiu em popularidade recentemente e se você tá completamente perdido nesse assunto esse vídeo é para ti porque aqui eu vou te explicar o que que são mcps por que que as pessoas estão tão excitadas com isso e como que elas tornam os agentes
de as ainda mais poderosos e mais acessíveis para todos nós e até o final do vídeo também vou te mostrar como você pode utilizar mcps para te ajudar na sua rotina de código através de uma nova ide baseada em inteligência artificial que eu já tenho utilizado e me fez largar o vs code então vamos lá primeiro lugar o que que é mcp mcp significa model context protocol na verdade ele é um protocolo que seria um padrão desenvolvido proposto pela antropic nesse artigo aqui do ano passado que ditaria como que os modelos de linguagem deveriam se
comunicar com ferramentas de uma maneira padronizada e em essência é só isso e nesse artigo eles também lançaram um repositório com uma série de especificações e sdks para diferentes linguagens de programação sobre como esse padrão funcionaria mas para que você entenda por que isso aqui é importante eu vou ter que dar uns passos atrás e trazer vocês para esse fluxograma aqui bem simples primeiro lugar a gente precisa entender aonde nós estávamos antes da existência desse protocolo e por que isso de fato é algo importante poderoso eu começo aqui com uma afirmação pra gente lembrar de
que as llms os modelos de linguagem chat ept cloud gemini eles em essência não são capazes de fazer nada útil por conta própria modelos de linguagem em essência são ias que tem uma única um único output que é gerar tokens ou cadeias de palavras ou partes de palavras como vocês estão vendo aqui elas não são capazes de executar nenhuma tarefa por conta própria no mundo não são capazes de entrar na internet controlar o meu computador falar comigo elas só produzem tokens e isso era a realidade do mercado até 2022 quando a gente viu lá o
lançamento do chat ept 3.5 e foi acessível para todas as pessoas nós tínhamos aqui modelos que a gente poderia entrar com perguntas ele devolvia a resposta mas apenas isso e lá em 2023 a open ai lançou esse artigo aqui introduzindo o que a gente chama de function calling que se eu não me engano na época eram modelos que tinham passado por um processo de fine tuning e eles conseguiam compreender mesmo por palavras que eles tinham acesso a ferramentas e conseguiam devolver através de palavras também instruções para executar determinadas ferramentas eu já vou mostrar no detalhe
como é que isso aqui funcionava na época mas em essência agora nós tínhamos uma forma de conseguir fazer com que os modelos de linguagem tivessem acesso a ferramentas eu poderia vir em alguma linguagem de programação e desenvolver alguma ferramenta por exemplo acesso a e-mail eu desenvolvi ela uma forma de me conectar com o gmail passava essa ferramenta de uma forma específica para um modelo de linguagem e ele conseguia compreender que ele tinha acesso à aquilo e controlar essa ferramenta meio que de maneira rudimentar e é uma combinação de um modelo de linguagem com um conjunto
de ferramentas que dá origem ao que a gente chama de um agente que é agora uma aplicação que consegue executar coisas para nós ele poderia entrar nos nossos e-mails tendo acesso aqui uma ferramenta de leitura de e-mail poderia escrever um artigo aqui no meu obsidian poderia entrar no meu whatsapp e responder alguma coisa poderia ler pdfs abrir pdfs gerar pdfs fazer coisas no meu computador esse é o estágio que nós estávamos na verdade nós ainda estamos nele tá esses essas transições aqui elas não são tão lineares no tempo a coisa ainda está um pouco transitória
mas mcp entra para resolver isso aqui mas antes de eu explicar para vocês o que que é mcp vamos tentar entender um pouquinho melhor sobre como se dá esse processo então eu fiz esse outro diagrama aqui para simular uma conversa entre um usuário que quer que o modelo de linguagem use a internet mas lembrem o modelo de linguagem em essência só produz texto ele não produz mais nada então qual que é a estratégia utilizava a gente passava um prompt antes de começar a conversar com o modelo de linguagem e isso aqui que que eu vou
desenhar para vocês é exatamente o que acontece no chatpt ou qualquer outra ia que vocês já usem quando a gente pede para ele cara pesquise na internet para mim por debaixo dos panos existe um system prompt que a gente passa para ele dizendo assim ó você é um assistente muito útil e você tem acesso às seguintes ferramentas por exemplo web search que você vai utilizar esse web search utilizando parâmetros de querer tá para passar qual que é a querer então ele vai entender que pô eu posso acessar a internet mas eu tenho que devolver aqui
a pesquisa que eu quero fazer na internet isso aqui acontece antes de nós começarmos a conversar com o modelo isso aqui é invisível tá eu coloquei aqui marcaçõezinhas para vocês entenderem que isso é invisível e aí vamos supor agora que chega um usuário e faz a pergunta para ele quem é o atual presidente dos estados unidos isso aqui é invisível para ele isso aqui é o que vocês estão vendo que vai pro modelo o modelo ao receber isso dependendo da qualidade do modelo e se ele foi treinado para poder utilizar ferramentas ele não vai sair
dando uma resposta para vocês porque ele foi instruído a sempre tentar utilizar as ferramentas dele para responder o usuário da melhor forma possível então a resposta que ele vai nos dar seria uma resposta invisível dizendo: "eu quero usar a ferramenta web search e eu quero passar como parâmetro atual presidente dos estados unidos quem que é?" isso aqui agora vai ser jogado para dentro do sistema aqui da open ea isso aqui está rodando no lado do do servidor dessa llm que vai poder executar essa ferramenta por nós também de maneira invisível ele vai lá vai receber
essa query aqui vai fazer a pergunta na internet pelo modelo de linguagem e vai dizer: "esta query aqui teve como resposta blá blá blá blá blá blá donald trump" tá isso aqui vai ser jogado de novo pro modelo de linguagem ele vai receber este system prompt essa pergunta do usuário ele devolve esse texto aqui o sistema compreende que isso aqui é uma é uma chamada específica que tem que ser feito para uma função executa essa função devolve a função pra janela de contexto e nos dá aqui uma resposta final baseado em minhas pesquisas é o
trump blá blá blá blá blá blá blá tá então reparem que nós só estamos vendo essa parte aqui em azul esse trecho aqui essa essa marcação aqui é mais importante porque existe um padrão na qual o modelo de linguagem tem que receber as ferramentas que tem você tem acesso a essas ferramentas aqui e tem que devolver essa instrução de como essa ferramenta tem que ser executada e qual que é o problema disso cada provedor de modelo de linguagem desenvolve as suas ferramentas do seu jeito precisa receber as ferramentas também de uma forma específica e executa
essas ferramentas ou devolve a chamada de que quer executar essas funções de uma forma específica ou seja esse bloquinho que tá aqui que é o das ferramentas ele não pode ser compartilhado não posso tirar ele daqui eu não posso desenvolver uma ferramenta que vai ser utilizado para open ai pro gemini pro cloud eu preciso fazer uma específica para cada um então por mais que nós estivéssemos aqui com possibilidades de executar ferramentas isso aqui era um processo bem complexo porque cada modelo tem que ter acesso à suas ferramentas especificadas do seu jeito se porventura a ipi
de qualquer uma dessas ferramentas aqui mudar ou acesso aos dados mudar toda a aplicação quebra e ainda assim nem sempre o modelo ele vai saber perfeitamente quando utilizar e como utilizar cada uma delas mas mesmo assim com esse tipo de arquitetura já foram possíveis de ser desenvolvido coisas incríveis como por exemplo menos que é uma startup se eu não me engano chinesa que apresentou um agente de ar com funcionalidades incríveis de não só conseguir conversar mas também acessar documentos gerar relatórios criar sites e tudo isso foi feito creio eu utilizando esse tipo de arquitetura aqui
só que é algo muito complexo de ser feito porque isso aqui existe uma uma quantidade gigantesca de engenharia que tem que ser feito em cada um desses dess desse desses elementos aqui pro modelo utilizar isso aqui de forma adequada com prompts muito bem desenhados com ferramentas muito bem desenhadas e mesmo assim a a chance desse sistema quebrar é muito melhor e aqui que entram então os mcps porque os mcps são um protocolo padronizado desenvolvido pela antropic para que os desenvolvedores consigam montar ferramentas que possam ser compartilhadas por qualquer aplicação e ele separa as ferramentas dos
modelos de linguagem para uma para uma para um bloco que vai aqui no meio que é um cliente de mcp e um servidor de mcp ou seja em tese isso aqui permitiria que nós não precisássemos mais estar desenvolvendo ferramentas aqui para poder para cada modelo de linguagem diferente a gente precisaria desenvolver agora só um servidor de mcp e os clientes que forem desenvolvidos aqui que usem esses modelos de linguagem também vão conseguir reconectar com múltiplos outros modelos então em essência o mcp é uma padronização que nos permite usar ferramentas de ai de maneira melhor e
por que que isso aqui é tão poderoso porque ele permite agora uma gama muito grande de possibilidades em relação a agentes de a as aplicações aqui que são mais poderosas e que eu conheço vou mostrar um exemplo para vocês aqui que tem chamado muita muita muita atenção é o cursor por exemplo o surf que já são ides feitas totalmente em cima desse novo protocolo dos mcps e eles basicamente são clientes de mcps ou seja o cursor especificamente eu já vou mostrar para vocês é essa ideia aqui ele é um forque do vs code então ele
permite que vocês codem da mesma forma que vocês teriam no vs code com a diferença de que nós podemos vir aqui na parte de configurações dele e adicionar servidores de mcps então imaginem esses servidores de mcps aqui como plugins tá plugins que vocês estão colocando dentro do agente que está aqui do lado que seria o modelo de linguagem e ele vai ter acesso automaticamente a essas tools então essa ide por exemplo aqui eu já posso sair conversando aqui com algum modelo de linguagem naturalmente como a gente falaria olá tudo bom blá blá blá só que
ao mesmo tempo se eu adicionar a novas tools usando mcps eu já vou mostrar para vocês uma configuração do mcp do github aonde só por colocar esse mcp aqui ele já vai conseguir por linguagem de texto eu vou passar comandos para ele de texto aqui ele vai conseguir entrar no meu github e fazer coisas por lá de maneira padronizada só que ganhou muita popularidade recentemente então vocês têm que entender é que os mcps abrem um leque de possibilidades eu eu penso em três frentes primeiro lugar a gente pode pensar em clientes de mcps que vão
ser focados a resolver problemas específicos tá então por exemplo cursor é uma delas e ele está esperando para receber ferramentas aqui as tools os os servidores de mcps em si que sejam úteis para quem está programando mas pode ser que no futuro nós tenhamos aqui um mc feito um um cliente de mcp focado em ferramentas para advogados que querem analisar dados e processos ou alguma coisa do tipo ou sei lá nutricionistas que querem ter acessos a tanto modelos de linguagem mas modelos e ferramentas que foram feitas para pegar sugestões de alimentos tabela nutricional tabela taco
então existem uma gama de possibilidades que começam a surgir a partir daqui uma outra que vocês podem imaginar a própria entropilizou no cloud versão desktop vocês podem aqui desenvolver os próprios mcps e adicionar ele aqui dentro simplesmente escolhendo porque esses mcps agora eles são em caixa você pode simplesmente encaixar coisa aqui dentro então por exemplo se eu colocasse aqui o github e o e-mail eu já posso começar a conversar com ele aqui ele automaticamente ler o meu e-mail entrar no meu github e fazer coisas porque ele vai estar usando essas mcps então nesse lado aqui
nós temos clientes nesse outro lado aqui nós temos ferramentas e no meio nós temos agora alguns sites que estão explodindo em popularidade como por exemplo smithy que ele já possui aqui mais de 2.291 ferramentas e cada dia que eu olho tem mais ferramentas semana passada tava com 1000 são todos servidores de mcps que potencializariam os agentes de vocês vocês podem vir aqui simplesmente instalar facilmente dentro de alguma ia então por exemplo aqui eu tenho do kithub que eu já vou mostrar como é que como é que a gente faz eu posso vir aqui e colocar
um um mcp que ele ele adiciona um processo de pensamento sequencial no teu agente também tá super popular a gente tem mcp aqui do tudo para gestão de tarefas do notion ou seja eu posso controlar o notion diretamente do meu agente do perplex para gestão de banco de dados enfim para qualquer ferramenta e vocês podem facilmente desenvolver os próprios mcps hospedar aqui ou mesmo começar a utilizar dentro dos próprios agentes mas isso vai ser conteúdo para um próximo vídeo deixa eu mostrar para vocês como é que funciona um mcp na prática então vou instalar aqui
do zero com vocês tá o mcp do github dentro do cursor caso vocês não não tenham baixado ainda podem vir aqui podem vir aqui no site do cursor fazer download para macos é um processo muito fácil para quem já usa vs code ele vai importar as configurações do vs code diretamente então processo com zero atrito eu mesmo fiz a troca na semana passada é muito simples muito simples e vocês vão ver como que eu posso controlar o meu github diretamente daqui dessa dessa aba direita instalando o mcp vamos lá primeira coisa vocês tem que fazer
login ele vai pedir aqui que vocês deem autorização pro smithy e aqui em cima ele tem algumas configurações para clientes de mcp então nesse caso eu vou utilizar aqui o cursor tá ele vai gerar depois um código pra gente ele também tá pedindo github personal token access então vou lá no meu github e eu vou gerar um token de acesso para ele vocês vê aqui em configuração vocês vê aqui embaixo em developer settings e a gente vai criar em personal access tokens e clicar em gerar um novo token e aqui eu vou colocar cursor e
aqui embaixo vocês podem definir tudo que esse token vai ter acesso então quanto mais acesso mais arriscado é então o que eu vou fazer aqui que vocês podem imitar é em actions ler e escrever administração ler e escrever comitar status ler e escrever contents ler e escrever issues também escrever e vamos gerar esse token vocês vão copiar esse token dentro do smithy ele vai gerar um comando aqui tá a gente copia vem aqui dentro do cursor vem em mcp depois de fazer isso vocês vão clicar aqui pegar a versão do cursor que vocês estão eu
tô na maior que 0.47 vou copiar rode isso no seu terminal no meu caso deu uma mensagem de sucesso aqui cursor settings e aqui em mcp reparem que ele já tem o mcp cadastrado com todas as tools que esse meu meu mcp aqui tem acesso com o github e a bolinha verdinha querem ver isso aqui em prática olá você consegue listar todos os repositórios do meu github mandei a mensagem para ele então ele perguntou se ele pode usar api e tá pedindo o meu usuário meu usuário é ritval vou buscar os repositórios já tá chamando
a função ó mcp to call search repositories aqui ele tá pedindo para eu rodar isso aqui então ele tá pedindo aprovação existe a possibilidade de vocês permitirem que ele rode automaticamente permitir que ele rodasse e aqui tá ele listou todos os projetos públicos que eu tenho dentro do kithub então é isso espero que eu possa ter ajudado vocês a entender um pouquinho mais sobre esse hype todo em volta de mcps por que que isso aqui é tão poderoso se ficaram com alguma dúvida por favor deixa nos comentários forte abraço e até o próximo vídeo