NÃO ESPERE! Aprenda a Criar Seu Próprio Servidor MCP

24.39k views2990 WordsCopy TextShare
Código Fonte TV
Model Context Protocol já está sendo considerado o novo padrão para comunicação entre Clientes, Sist...
Video Transcript:
nessa altura do campeonato você já deve ter esbarrado por aí com a sigla MCP Pois é não tem nada a ver com o Microsoft Certified Professional pelo menos não essa versão nova A Antropic criadora do LLM Cloud lançou o Model Context Protocol ou MCP como uma forma de melhorar a comunicação entre sistemas e LLMs E a ideia é tão boa que já virou padrão rapidamente entre outros LLMs Tanto que já tem até implementação com a Open AI e no GitHub Copilot e virou aí meio que uma nova febre criar o seu próprio servidor MCP E
é por isso que estamos aqui hoje Vamos montar um servidor MCP e ver ele funcionando dentro do Cloud Desktop Você vai descobrir como implementar o seu e desvendar de vez como esse MCP funciona Esse é o Mão no código o quadro onde a gente coloca o código para rodar em algum projeto ou em uma simples explicação Se você curte ver essas coisas em funcionamento aqui na prática então já deixa aquele tapa no botão de inscreva-se e ativa o sininho Aproveita e já comenta aqui para mim se você já fez algo aí com o MCP ou
pretende fazer De qualquer forma se você chegou aqui perdidão vale a pena uns 30 segundinhos para te explicar esse protocolo Então dá só uma olhadinha nesse diagrama O Model Context Protocol é um protocolo de comunicação que conecta ferramentas de desenvolvimento com modelos de A Simples assim Um host com cliente MCP como o Cloud IDs e outras ferramentas se comunicam através do protocolo MCP com diferentes servidores MCP Cada servidor MCP A B C serve como intermediário conectando-se a diferentes fontes de dados Os serviços A e B acessam fontes de dados locais O serviço C se conecta
a IPI Web que acessam serviços remotos na internet Essa arquitetura permite que ferramentas de desenvolvimento obtenham um contexto adicional para modelos de IA de forma padronizada melhorando assim a capacidade dos modelos de entender e processar informações específicas do ambiente do usuário sem precisar compartilhar todos os dados com o modelo Bom resumindo o MCP facilita a integração de várias fontes de dados com sistemas de inteligência artificial mantendo ali um padrão de comunicação consistente Então se você já tem IPIG no seu sistema e quer integrar ele com LLMs seja ali para fazer consulta ou mesmo para manipulação
de dados você pode expor só os dados e as funcionalidades que forem necessárias criando um servidor MCP para isso E no MCP existem três componentes: os servers os clients e o registry MCP Servers são simplesmente servidores que expõem IPIs e fornecem acesso a funcionalidades e dados específicos Entra aí nessa lista CRMs banco de dados serviços de consulta automação financeiros ou qualquer outra fonte de informação estruturada MCP Client já são os modelos de A como chat GPT Clode ou o próprio GitHub Copilot que fazem chamadas aos MCP servers para obter dados ou executar ações Os clientistry
que é um diretório onde MCP servers podem ser encontrados e descobertos dinamicamente pelas IAIS Um assistente virtual conseguirá encontrar e se conectar a novos servidores sem a necessidade de configurações manuais Então vamos embora criar o nosso próprio servidor MCP Já percebeu como é que a forma como a gente integra e a nas aplicações tá evoluindo rápido né e você consegue perceber se a sua carreira tá evoluindo e a evolução tem que ser constante Se você tá se sentindo estacionado isso já deve te servir de alerta É bem provável que essa já seja a melhor hora
para você buscar algo novo para aprender ou para se especializar Para te ajudar nesse objetivo com formações completas para te preparar para atuar em tecnologia com conteúdo prático atualizado e focado no que o mercado está pedindo nós te indicamos a FIAP Tem graduação para quem tá começando ou mudando de área tem PostEC para se especializar e tem MBA para quem já quer liderar projetos e times E o melhor tudo isso cobrindo várias trilhas de carreira de desenvolvimento de software cloud e cyber ciência da computação engenharia e inteligência artificial E o legal é que mesmo você
não morando próximo de um dos polos da FIAP você faz os cursos online com a mesma qualidade de ensino e dá também para fazer de forma híbrida e aproveitar os espaços dos polos de apoio Se você quer crescer na sua carreira inte de forma consistente clica no link que tá aqui na descrição e confere as formações da Fiat E o nosso código vai est em node e a gente vai utilizar então TypeScript e o NPM tá a gente começa importando uma biblioteca do MCP que já tem SDK para Python C#ARP Java para várias linguagens já
né e a gente precisa também utilizar essa biblioteca que é o STD IO E vale lembrar também que existem dois tipos de MCP Um que é o MCP SSE que é o Server Sand Events que é ali baseado em HTTP para servidores MCP remotos E o outro que é o que nós estamos usando que é o MCPS TDIO que é standard input output Ele é baseado ali em fluxos de entrada e saída do próprio sistema operacional Então ele faz a integração local de componentes no mesmo sistema e o ZOD que é justamente uma biblioteca pra
gente validar e inferir os tipos de dados Isso é super importante porque uma vez que a gente tá lidando com LLM e a gente no fim das contas a gente vai acabar fazendo um prompt a gente valida a entrada e a saída desses tipos Então a gente vai ter certeza que os dados vão estar todos formatados certinhos Quando a gente foi avaliar ali a própria documentação oficial do MCP nós vimos que o exemplo que eles trazem é muito bom Então a gente até resolveu utilizar ele ao invés de criar o nosso próprio E eu coloquei
todo num arquivo só que a gente vai explicar mas no repositório que vai tá aí para você no GitHub a gente já separou já fez ali uma divisão usando e clean architecture tá então fica bem mais fácil também de você entender se você entende um pouco de arquitetura Então a ideia é usar um serviço uma API de previsão de tempo que já tem disponível tá a gente nesse caso a gente usou a mesma que eles disponibilizaram mas para serviços lá nos Estados Unidos a gente pode adaptar facilmente aqui para usar no nosso país E eh
a gente define duas constantes justamente a o endereço da API e também o user agent Como a gente vai precisar fazer solicitação via web como uma REST API também normal tá então a gente vai precisar dessas informações Então a gente cria um próprio user agent para fazer essa chamada né dentro da API E precisamos criar uma instância de um servidor Então a gente dá um nome para ele coloca aqui uma versão e a tem aqui as capabilities né que são as capacidades desse servidor Nesse caso a gente não definiu aqui né a gente vai definir
por exemplo o tools em um outro lugar Continuamos com uma função justamente que faz a requisição a HTTP Ela recebe a URL passa aqui o user agent né todas as informações e simplesmente trata essa chamada tá então ela já vai vir com todos os os parâmetros ali que a gente precisa e ela trata se a resposta veio adequadamente ou não Só lembrando né a gente cria a instância aqui mas ela ainda não está rodando Quem vai definir é a entrada e a saída como a França falou se a gente se a gente vai usar o
MCP StDI ou ou o SSE vai ser aqui no final ó a gente vai ter uma outra chamada nesse caso aqui uma função principal aqui da nossa aplicação que vai rodar esse servidor Então a gente cria uma instância do objeto transport aqui SCD server transport e vamos conectar ela ao nosso servidor MCP Uma vez feito isso já tá rodando o nosso servidor Claro que se der algum problema aqui a gente tem que tratar também E aí já tá funcionando pra gente conectar ao nosso cliente E como é importante a gente tratar dado de entrada e
saída com LLM a gente tem todos aqui as os nossos contratos né dos tipos que a gente vai usar Então por exemplo uma interface que mostra quais são os tipos de alerta né as informações de um alerta de tempo né então nesse caso aqui é um evento que é uma string a uma área a área que ela vai usar é string severidade status né então tá tudo aqui A gente vai ter uma função para formatar esse alerta e porque podem ser vários alertas então ele vai retornar uma rei de alertas né então a gente tem
uma função simplesmente para pegar todas essas propriedades e jogar isso tudo numa string né além disso são dois tipos de chamada que a gente pode fazer Uma dessa API vai ser justamente para você voltar à previsão do tempo e outra é justamente para trazer os alertas que existem tá e isso é como se fosse o end point das nossas API Então você pode criar várias tools aí diferentes com chamadas diferentes e com tipos diferentes também E por fim nós temos mais algumas interfaces que é justamente porque temos o retorno como a rei também pode ter
mais de uma instância ali né então para previsão de tempo a gente pode ter uma rei de períodos e os de alertas também Então a gente trata isso no código e utilizando o também para não deixar nenhum tipo de problema né quando a gente fizer a chamada lá pro LLM Agora a gente trouxe aqui a própria documentação para falar um pouquinho dos tools né porque é um conceito um pouco novo embora o Gabriel já tenha até explicado que não deixa de ser ali um pouco o end point da IPI né bom de acordo com a
própria definição da documentação as tools ali no MCP são projetadas para ser um modelo controlado que significa que o modelo de linguagem pode descobrir e invocar as ferramentas automaticamente a partir da sua compreensão contextual e do promptário Por isso que cada tool tem na verdade ali um texto de descrição do que ela faz E é exatamente através desse texto que ele consegue fazer essa comparação contextual Exatamente Então a gente registra as nossas tools aqui A primeira eu vou chamar de get alerts justamente que chama os alertas de tempo né e tem a descrição ó que
no caso que tá em inglês né ele pega o os alertas de tempo para um estado Então ele vai receber como parâmetro né o segundo parâmetro aqui é o estado E aqui já é o ZOD fazendo aqui o seu trabalho aqui de formatação né do dos dados Então a gente vai ter que botar a sigla de um estado americano E o quarto parâmetro sendo justamente uma função assíncrona que recebe esses dados aqui trata a URL da API faz a chamada a requisição lá da da HTTP da API e trata os dados Então se não vier
por exemplo nenhum dado de alerta ele retorna aqui um arrei com um texto que deu problema Se não tiver nenhuma features lá retornada ele também trata dizendo que não tem nenhum alerta nesse caso aí pro estado Se tiver então a gente chama aqui o array de features formata os alertas e retorna isso justamente no mesmo formato tá vendo pro nosso MCP pro nosso servidor MCP No caso de previsão do tempo é mesma coisa Você tem uma outra tool você dá um nome para ela Esse nome tem que ser o único ali né colocar as informações
Nesse caso a gente precisa de latitude e longitude Então o Zod faz esse trabalho também de formatar como a gente precisa os nossos dados de latitude longitude Você tem ali o mínimo e o máximo que você pode ter de informação E aí esse tratamento é individual cada tipo de dado que você usa vai ter que fazer esse tipo de tratamento E aí existe a validação justamente da URL da API passando esses dados de latitude e longitude e a validação dos dados também depois de feita a chamada né aqui na API Se os dados não voltaram
nada retorna uma mensagem de erro Se voltou algum problema aqui na URL você também volta uma mensagem de erro E aí no fim aqui você tem toda a validação e até a própria formatação dos dados aqui de previsão né temperatura vento e esse tipo de coisa No fim você tem um textão aqui no final você junta tudo isso num texto e retorna aqui ó justamente no mesmo formato tá vendo ó um arrei com o tipo texto e o texto do forecast né se você quiser voltar de outra forma também o o teu tipo você pode
também tá nesse caso aqui ele simplificou até pro exemplo Então a gente tem duas tools registradas aqui e a gente já vai colocar para rodar e ver como fica isso no cliente Então nesse caso eu vou fazer o build desse projeto e ele vai colocar justamente na minha pasta build nesse caso um arquivo né com todo o código dentro dessa pasta Então eu vou executar na verdade o node no cliente vai ficar meio assim ó build index tá eu vou na verdade utilizar o node rodar ele aí o nosso servidor vai est ativo e o
cliente vai conseguir fazer as chamadas Então nesse caso a gente vai usar o próprio cliente do Cloud aqui pro Windows tá e você pode até usar outros que já estão disponíveis Eu acho que o chat GPT já tá dando suporte a MCP tem vários outros também como a gente falou né acabou virando padrão e tá todo mundo liberando a utilização através do MCP Então nesse caso a gente pode vir aqui em cima ó em arquivo configurações a gente tem aqui ó desenvolvedor E aí tem justamente um arquivo para você editar manualmente ali quais são os
servidores MCP Você vai registrar né os servidores MCP locais que você tá usando É um Jon mesmo tá vendo você coloca aqui MCP Servers botei o nome do nosso servidor e qual o comando que ele vai executar Como a gente tá usando o node a gente coloca ali Se fosse Python seria outra chamada né e justamente o nome do arquivo o caminho certinho pro nome do nosso arquivo já buildado Bom feito isso tem só que reiniciar ali esse próprio aplicativo aqui do Cloud que a propósito é a versão desktop que nós estamos usando tá acho
que a gente acabou não citando Se você reparou você vê que agora já tem mais ícones aqui Olha você tem o servidor MCP ele já lista aqui quais são os servidores que estão instalados Nesse caso aqui ó só o nosso Wer tá vendo e quais são os tools Ele até coloca aqui um ícone de martelo em referência né e quais são esses dois tá vendo ó então ele diz que existe o get forecast get alerts do servidor weather tá vendo e a aquela descrição que a gente colocou no código Agora chegou a hora da verdade
né vamos por exemplo perguntar eh qual é a previsão do tempo para Nova York olha só o que acontece né ele vê que tem um contexto ali e ele pergunta: "Olha a gente pode executar essa ferramenta local aqui que pega ali o estado para poder fazer essa pesquisa Você quer?" E aí eu vou colocar aqui ó Sim Nesse caso ele tá executando também o outro né ele pediu para executar o outro também Não só alertas mas também a própria previsão do tempo né ele fez a chamada A gente consegue até abrir aqui o resultado da
chamada ó o retorno ó da chamada local E ele responde aqui de forma natural as informações que eu pedi Ó para obteras informações mais precisas sobre previsão do tempo vou consultar os dados meteorológicos específicos pra cidade E aí ele justamente quando ele pede para executar aqui o forecast Previsão hoje ó temperatura 11º predominantemente nublado essa noite amanhã e etc né então eu posso perguntar especificamente também existe algum alerta existe algum alerta de tempo para Califórnia aqui no chat como eu já dei autorização ele já tá lá consultando né direto né uhum Agora é interessante que
ele mesmo se vira né ele vê ali que um dos dados que precisa é latitude longitude Ele mesmo já vai lá se vira consegue achar os dados e traz as informações né ó como é que ele já formatou daquele jeito Hum a gente mostrou no código né os alertas de de evento Ó ele já dá aqui quais são os alertas comunicado especial sobre o tempo pro norte e sul de Trinity e alguns alertas mais antigos Então você vê que a gente conectando um serviço que já existe uma API que já existe a um servidor MCP
a gente consegue fazer essa comunicação de uma forma muito mais prática Acredite você ou não esse foi só um exemplo pequeno mas bem poderoso paraa integração Nós temos opções ainda de implementar um cliente MCP então vamos depender desses chats ou interfaces já prontas Isso vai mudar bastante a forma como interagimos com sistemas daqui pra frente Se você quer ver a gente implementar um cliente MCP é só deixar aqui nos comentários Se curtiu se inscreve aqui no canal e deixa aquele joinha Nos vemos no próximo vídeo
Related Videos
as maiores dúvidas sobre AI
23:44
as maiores dúvidas sobre AI
Lucas Montano
17,272 views
Model Context Protocol (MCP), clearly explained (why it matters)
20:18
Model Context Protocol (MCP), clearly expl...
Greg Isenberg
554,677 views
THE UNTOLD STORY OF THE SOFTWARE ENGINEERING COLLAPSE
29:41
THE UNTOLD STORY OF THE SOFTWARE ENGINEERI...
Renato Augusto
130,786 views
Creating a Server for your home just got even easier!
17:39
Creating a Server for your home just got e...
Diolinux
240,708 views
The Hack That Took Down DeepSeek AI
16:18
The Hack That Took Down DeepSeek AI
Destination Cybersecurity
8,771 views
The Best Hack for Beginner Programmers
20:02
The Best Hack for Beginner Programmers
Código Fonte TV
25,135 views
OpenAI Acaba de Mudar o Jogo
18:14
OpenAI Acaba de Mudar o Jogo
Lucas Montano
75,262 views
MINEREI BITCOIN COM A RTX 5090. QUANTOS REAIS GANHEI?
12:59
MINEREI BITCOIN COM A RTX 5090. QUANTOS RE...
Reset
230,153 views
Think Tool no N8N: A Nova Arma Secreta dos Agentes Inteligentes!
23:44
Think Tool no N8N: A Nova Arma Secreta dos...
Érico Renato | Automação Digital e IA
2,417 views
O Grande Engano Sobre a Eletricidade
13:59
O Grande Engano Sobre a Eletricidade
Veritasium em Português
280,349 views
WITHOUT PROGRAMMING FUNDAMENTALS, IT GETS TOUGH
14:44
WITHOUT PROGRAMMING FUNDAMENTALS, IT GETS ...
Código Fonte TV
46,589 views
The Next Computer? Your Glasses | Shahram Izadi | TED
16:07
The Next Computer? Your Glasses | Shahram ...
TED
257,049 views
Feed Your OWN Documents to a Local Large Language Model!
18:53
Feed Your OWN Documents to a Local Large L...
Dave's Garage
591,550 views
I built an AI supercomputer with 5 Mac Studios
34:57
I built an AI supercomputer with 5 Mac Stu...
NetworkChuck
1,122,275 views
O que são AGENTES de IA: APRENDA do ZERO!
22:10
O que são AGENTES de IA: APRENDA do ZERO!
Sancler Miranda | IA Revolution
45,392 views
⚛️​ Quantum Computing from Scratch // Programmer's Dictionary
13:47
⚛️​ Quantum Computing from Scratch // Prog...
Código Fonte TV
22,958 views
Chef é SURPREENDENTE (e ninguém tá falando disso!)
11:13
Chef é SURPREENDENTE (e ninguém tá falando...
Sem Segredos Tech
1,298 views
What Every Programmer Should Know about How CPUs Work • Matt Godbolt • GOTO 2024
43:28
What Every Programmer Should Know about Ho...
GOTO Conferences
48,712 views
Por Que Era Quase Impossível Criar O LED Azul
36:31
Por Que Era Quase Impossível Criar O LED Azul
Veritasium em Português
181,604 views
START PROGRAMMING DEFENSIVELY!
14:30
START PROGRAMMING DEFENSIVELY!
Código Fonte TV
9,781 views
Copyright © 2025. Made with ♥ in London by YTScribe.com