Model Context Protocol: Guia que todo Dev precisa saber — Transcript
Full transcript
- 0:00A sigla da vez agora é MCP Model Contex
- 0:03Protocol. Nós desenvolvedores aí estamos
- 0:05indo à loucura com as grandes e grandes
- 0:08possibilidades que a gente tem agora de
- 0:10fazer com que os nossos modelos de
- 0:12inteligência artificial falem com os
- 0:14nossos sistemas externos, né? uma a
- 0:16gente tem agora uma série de
- 0:17ferramentas, um monte de servidores MCP
- 0:20para brincar, mas a realidade é que
- 0:23muitos debs não tm a menor ideia de como
- 0:26que esse protocolo funciona, quais são
- 0:28os seus componentes, como é que a sua a
- 0:30sua arquitetura e as possibilidades que
- 0:33você tem por trás dele. Então, é por
- 0:35conta disso que eu resolvi gravar esse
- 0:37vídeo e eu vou te dar aí meio que uma
- 0:40aula sobre MCP, inclusive trazendo uma
- 0:43apresentação que eu montei aqui no Scaly
- 0:44Draw e também código para que você
- 0:48consiga ver essa parada na prática,
- 0:50inclusive utilizando aí o cursor. Mas
- 0:53antes de gente falar disso, eu queria
- 0:55muito mesmo te dar um recado e uma
- 0:57recomendação. Clica no link aqui embaixo
- 0:59para você conhecer mais sobre o curso
- 1:00Full Cycle 4.0, zero, principalmente
- 1:03porque agora a gente adicionou um pilar
- 1:04de inteligência artificial para
- 1:06desenvolvedores. Então, se você tá
- 1:08passando raiva aí com IA, achando que
- 1:10ela programa mal para caramba e tá mais
- 1:12te atrapalhando às vezes do que te
- 1:13ajudando, clica nesse link porque a
- 1:15gente encontrou ótimas soluções que vão
- 1:18mudar completamente a forma de como que
- 1:20você trabalha com IA no seu dia a dia.
- 1:22Recados dados. Vamos lá então aqui pra
- 1:24tela do meu computador, onde eu preparei
- 1:26aqui uma apresentação bem bacaninha para
- 1:27você entender mais sobre MCP e ter
- 1:29realmente a visão que vale a pena você
- 1:32entender como que você pode explorar
- 1:33tudo isso. Maravilha. Então vamos lá
- 1:35galera. MCP Model Context Protocol, né?
- 1:37Um protocolo que ele vai padronizar como
- 1:39que os nossos sistemas conseguem dar
- 1:40contexto para os modelos de inteligência
- 1:43artificial, tá? Então basicamente ele
- 1:45faz com que a gente tenha a
- 1:46possibilidade de fazer com que o nosso
- 1:47modelo se conecte a fontes externas,
- 1:50peguem informações, consigam executar
- 1:51ações e tudo mais. Então aqui tem um
- 1:53exemplo bem simples para que você
- 1:55consiga entender a ideia e as
- 1:57possibilidades que o MCP ele traz aqui
- 1:58pra gente, tá? Então lance é o seguinte.
- 2:00Nós temos aqui um host, mas preste bem
- 2:02atenção, nós temos um host e nós temos
- 2:04um MCP client. O que que isso significa?
- 2:07Significa que você tem uma aplicação que
- 2:09utiliza inteligência artificial e essa
- 2:12aplicação ela implementa um client do
- 2:14MCP, por exemplo, um cursor, um VS Code,
- 2:17um cloud, por exemplo. Essas aplicações
- 2:19utilizam por baixo dos panos um MCP
- 2:21client para fazer uma chamada em um MCP
- 2:23server, tá? Então aqui eu tenho alguns
- 2:25exemplos bem simples. Um MCP server do
- 2:27Postgress, então eu sou capaz de falar
- 2:29com o meu modelo e fazer com que esse
- 2:31meu modelo faça uma chamada no meu
- 2:32Postigress, tá? E esse servidor aqui de
- 2:35MCP server de PBS consegue acessar
- 2:38realmente o meu banco de dados. Da mesma
- 2:40forma que eu consigo fazer um MCP
- 2:42server, onde ele vai fazer uma chamada
- 2:44de API para pegar dados, por exemplo, de
- 2:46produtos numa API e pegar, por exemplo,
- 2:48dados de usuário em outra API. Então, eu
- 2:50consigo fazer sim o meu modelo conseguir
- 2:52trabalhar com chamadas externas de API.
- 2:55E ao mesmo tempo eu consigo ter MCPs até
- 2:57bem interessantes, como o de Docker, né?
- 2:58Então, eu tenho um servidor MCP de
- 3:00Docker que ele consegue se comunicar com
- 3:02o Docker da nossa máquina, por exemplo,
- 3:03e consegue trazer informações que a
- 3:06gente precisa sobre os nossos
- 3:07contêiners, iniciar serviços, parar
- 3:08serviços e tudo mais. Então, se você
- 3:10perceber, a gente tem possibilidades bem
- 3:11bacanas, porque a gente consegue acessar
- 3:13banco de dados, a gente consegue
- 3:14executar ações e a gente consegue fazer
- 3:16bastante coisa. O grande ponto é que
- 3:18essa é a visão que a maioria das pessoas
- 3:20que bateram olho no MVCP acabam tendo,
- 3:23isso que eu acabei de mostrar. E daí a
- 3:25maioria das pessoas elas acabam parando
- 3:26por aí. E é por conta disso que eu
- 3:28gravei esse vídeo. A gente vai um
- 3:30pouquinho mais a fundo em relação a
- 3:31esses aspectos. Fechou? Então vamos lá.
- 3:33Então, somente para você entender alguns
- 3:35pontos importantes, o lance é o
- 3:37seguinte. Ahã, eu vou dar uns exemplos
- 3:39aqui de como que essas chamadas
- 3:41acontecem no seu modelo, né? Então, por
- 3:43exemplo, eu posso perguntar quais são os
- 3:44contêiners docker que estão sendo
- 3:46executados? Verifique no postiz quantos
- 3:48registros eu tenho na tabela de logs,
- 3:50qual o produto que possui o ID1 de
- 3:51acordo com a minha Tool, tá? Então, se
- 3:53você perceber, em algumas situações,
- 3:55você tem que inclusive afirmar ali pro
- 3:57seu LLM, né, pro seu modelo, que você
- 4:00quer que ele utilize uma determinada
- 4:02ferramenta, tá? Vamos dizer assim, mas
- 4:04você vai perceber que MCPs eles vão bem
- 4:06além de tools, de ferramentas, e é isso
- 4:08aí que acaba limitando as possibilidades
- 4:10que muitos desenvolvedores têm nos dias
- 4:12de hoje. Beleza? Então, como que
- 4:14funciona, né? Vamos entender os
- 4:15componentes aí que a gente tem em
- 4:16relação ao MCP Server, né, a MCP de
- 4:18forma geral. Então, como eu tava falando
- 4:20para você, você tem um host que pode ser
- 4:22um cursor, um VS Code, um cloud ou
- 4:24qualquer sistema, tá? Que faça interface
- 4:27com o seu modelo de inteligência
- 4:28artificial. O que que acontece? o
- 4:30seguinte, você tem esse host e esse host
- 4:31ele consegue implementar um client que
- 4:33tem inclusive um SDK com todas as
- 4:35especificações. Esse cliente host
- 4:38obviamente vai falar com MCP Server e a
- 4:40gente pode fazer na realidade chamadas
- 4:43tanto locais dentro do nosso próprio
- 4:45computador quanto chamadas externas, ou
- 4:48seja, chamadas remotas. Então eu sou
- 4:50capaz de, por exemplo, trabalhar e
- 4:51modificar, acessar meu sistema de
- 4:53arquivos, mas ao mesmo tempo eu consigo
- 4:55ler dados, por exemplo, de um Google
- 4:57Drive da vida ou pegar informações numa
- 5:00pasta remota. Então eu consigo ter
- 5:01muitas oportunidades quando a gente tá
- 5:04trabalhando aí com MCPs. Agora, o grande
- 5:06ponto aqui que você tem que se ligar é
- 5:08que essas implementações, né, você tanto
- 5:10rodar local e rodar remoto, as coisas
- 5:12elas mudam um pouco. E isso ao longo
- 5:14aqui do nosso bate-papo, desse vídeo
- 5:16aqui, você vai ter um pouquinho mais de
- 5:18clareza sobre isso, tá? Então, por
- 5:19exemplo, só para ficar claro para você
- 5:21essa parada de MCP client e MCP Server,
- 5:23tá? Então, o seguinte, exemplos de
- 5:25aplicações que implementam o MCP
- 5:26clients, o GitHub Copilot, o Cursor, o
- 5:28cloud desktop, o cloud Code, ou seja,
- 5:30todas essas ferramentas, elas dentro
- 5:32dela implementam e tem esse client para
- 5:34conseguir falar com um MCP Server.
- 5:36Exemplos de MCP servers. Eu tenho MCP
- 5:38Servers do PostGrees, do Google Drive,
- 5:40do Git, do GitHub, do Slack, File
- 5:42System, Docker, Kubernets. Eu tenho um
- 5:43monte, depois eu vou compartilhar aqui
- 5:44com vocês uma lista de servidores, sites
- 5:46legais, onde você já vê um monte de
- 5:47servidor pronto para você sair
- 5:48utilizando e facilitar para caramba a
- 5:50sua vida aí no dia a dia, tanto
- 5:52utilizando IA, né, pessoalmente, quanto
- 5:55trabalhando com IA para código dentro do
- 5:56seu ecossistema aí de de serviços, de
- 5:58Docker, de Kubernets, Git e etc.
- 6:00Maravilha. Então essa que é a ideia
- 6:02básica aqui. Agora vamos entender um
- 6:04pouco mais sobre a arquitetura de um MCP
- 6:07Server. Eu acho que aqui que tá o grande
- 6:08ponto, porque a gente, eu vejo muita
- 6:10gente limitado a essas possibilidades.
- 6:13Normalmente hoje em dia, quando eu vejo
- 6:15alguém falar de MCP, a pessoa ela já tá
- 6:17normalmente se baseando em algo chamado
- 6:19tools, que são ferramentas, tá? E sim, é
- 6:21uma das coisas assim mais poderosas que
- 6:23você pode ter num MCP Server, tá? Então
- 6:25o que que é uma TU? Tu é uma ferramenta
- 6:27que realiza ação. Elas são controladas
- 6:30pelo modelo, ou seja, a própria LLM
- 6:33decide quando chamar, tá? O que que isso
- 6:35significa? Significa que quando você tá
- 6:37utilizando o modelo, né, e de acordo com
- 6:40o que você escreve, o modelo fala:
- 6:42"Poxa, essa informação eu acho que eu
- 6:43tenho uma ferramenta que vai me ajudar a
- 6:45conseguir executar essa determinada
- 6:47ação." Então, quem tá decidindo por
- 6:51utilizar, né, esse MCP server é o modelo
- 6:54em si, tá? E uma coisa interessante é
- 6:56que toda vez que você tem um servidor
- 6:57MCP, você tem ferramentas ali de auto
- 6:59discover. O que que significa? Você tem
- 7:01como se fosse uma lista, um glossário,
- 7:03né, onde o seu modelo consegue acessar e
- 7:06ver todas as ferramentas e todos os
- 7:08recursos, todas as capabilities que um
- 7:10MCP Server tem e a partir dali ele
- 7:12escolhe o qual ele vai querer trabalhar,
- 7:13tá? Então esse aí é um ponto importante.
- 7:15Agora o ponto principal de uma tool e o
- 7:17por ela é tão poderosa é porque elas
- 7:19conseguem realizar ações. O que que
- 7:22significa isso? O Matu consegue criar um
- 7:24arquivo, ela consegue chamar uma API,
- 7:26ela consegue a derrubar um contêiner,
- 7:29ela consegue criar um pó de cubernetes,
- 7:31ela consegue executar qualquer coisa.
- 7:34Basicamente essa é a ideia de uma fazer
- 7:36execução. E essa execução ela é
- 7:39controlada, ela é percebida pela pelo
- 7:41modelo, tá? Pelo Llm si. Fechou? Então
- 7:45isso aí é um ponto importante para você
- 7:46se ligar. Agora o lance é o seguinte, a
- 7:49gente tem uma um outro cara, tá, num MCP
- 7:51server que você pode utilizar e é muito
- 7:53subutilizado na realidade, que são os
- 7:55resources, tá? Então o que que são
- 7:57resources? Os resources eles permitem
- 7:59com que a gente consiga pegar dados
- 8:02pelos clientes para usar como contexto
- 8:04pelo LLM. Então vamos imaginar que os
- 8:06resources eles são como se fossem
- 8:08datasets. Eles são locais onde você
- 8:10consegue pegar informações que vão te
- 8:12ajudar a deixar, né, o seu prompt,
- 8:15deixar a utilização da sua muito mais
- 8:17inteligente, né? Ultimamente o que que a
- 8:19gente faz muito, né? os famosos rags,
- 8:21você pega tudo quanto é dado que você
- 8:24tem na sua empresa, você vetoriza tudo
- 8:26isso e quando você precisa de alguma
- 8:28informação, você faz uma busca nesse
- 8:30banco de dados utilizando o vetor, traz
- 8:32aquele pedaço de conteúdo que você acha
- 8:34que vai ser relevante e embeda ali no
- 8:36seu prompt, né? Então esse tipo de
- 8:39tarefa é extremamente custosa,
- 8:40desgastante, dá trabalho para caramba e
- 8:42com resources você não precisa
- 8:44necessariamente mais fazer isso. Isso
- 8:46muda o jogo completamente, inclusive
- 8:47como a forma que as pessoas estão
- 8:49trabalhando com inteligência artificial,
- 8:51como as empresas estão estruturando as
- 8:52suas arquiteturas e preparando os
- 8:54documentos e os modelos para conseguir
- 8:56trazer informações relevantes para
- 8:58aquilo que servem ali para elas. Os
- 9:00resources eles servem exatamente para
- 9:01isso. Basicamente o MCP ele vai ter como
- 9:04se fosse um cardápio de recursos onde
- 9:06ele pode pegar essas informações. Ah, eu
- 9:08preciso pegar os preços dos meus
- 9:09produtos, né? Então vai ter um end point
- 9:11ali pro MCP acessar e já trazer aquela
- 9:15tabela de produtos que ele precisa, né?
- 9:17Alha, eu preciso também pegar as imagens
- 9:20dos últimos balancetes que eu tive na
- 9:22empresa e que estão registradas em tal
- 9:24lugar. Então o seu LLM consegue entender
- 9:27essas coisas e a sua aplicação vai lá,
- 9:29consegue chamar, né, vamos dizer assim,
- 9:31essas imagens, pegar, colocar dentro do
- 9:33seu sistema. Então você consegue fazer
- 9:35isso para arquivos, você consegue fazer
- 9:36isso para imagem, você consegue fazer
- 9:38isso para banco de dados e tudo mais.
- 9:39Agora, entenda que tem uma diferença e
- 9:42que isso acaba gerando um pouco de
- 9:43confusão entre a diferença de tools e
- 9:46resources. Por quê? Porque uma tool, em
- 9:48tese, o que que ela pode fazer? Ela pode
- 9:50fazer uma chamada de API e pegar também
- 9:52a tabela de preços para mim, né? E tá
- 9:54tudo bem, maravilha, isso vai funcionar,
- 9:56mas a principal utilidade da TU é
- 9:59executar ações e não necessariamente
- 10:01apenas ficar lendo dados, mas também tem
- 10:03a coisa que muda completamente o jogo na
- 10:05diferença entre um e outro. Se você
- 10:07perceber a TU aqui, ela decide, né, faz
- 10:10com que o LLM decida quando chamar uma
- 10:12TU. Já no caso dos resources, quem
- 10:15determina quando aquele resource vai ser
- 10:17chamado vai ser, não vai ser o modelo,
- 10:20mas sim a sua aplicação que está
- 10:23utilizando a inteligência artificial. E
- 10:25isso faz muita diferença. Por exemplo,
- 10:27imagina que eu quero pegar, né, em algum
- 10:28momento tá tendo, sei lá, um chat ali e
- 10:30alguém pergunta o preço ali naquele
- 10:32momento. Eu posso pedir pro meu a minha
- 10:35ferramenta fazer uma chamada de API?
- 10:37Posso, mas nesse momento, quando eu sei
- 10:38que tem uma uma necessidade de um
- 10:40pedido, o que que eu posso falar fazer?
- 10:41Olha, ele tá pedindo produtos, né? Então
- 10:43eu tenho um cardápio aqui de todos os
- 10:44meus produtos. Então deixa eu ler esse
- 10:46resource, porque tá aqui a opção que
- 10:47esse cara tá querendo. Ou seja, eu posso
- 10:49escolher a dedo, dependendo da situação,
- 10:51qual resource eu vou utilizar naquele
- 10:54momento. E lembre-se, resource não é
- 10:56necessariamente apenas chamada de API.
- 10:58Resources são qualquer tipo de
- 11:00documento. Pode ser um Google Drive,
- 11:02pode ser um monte de arquivo no seu file
- 11:04system, pode ser o que for no final das
- 11:06contas, mas basicamente quem decide na
- 11:08hora de chamar o resource não é o LLM,
- 11:10não é o modelo e sim a sua aplicação que
- 11:12está utilizando aquele modelo. Fechou?
- 11:14Então aqui são exemplos de como que o
- 11:17como que são feitas essas chamadas, né,
- 11:19desses resources. Então tem um screen,
- 11:21eu posso passar minha imagem, eu posso
- 11:22passar um arquivo, eu posso passar
- 11:23inclusive até um banco de dados. Mas a
- 11:25grande sacada aqui é você entender essa
- 11:26diferença. Tool executação resource no
- 11:29final das contas eles provê fonte de
- 11:31dados e quem utiliza a chamada dessas
- 11:34fontes de dados é o client e não
- 11:36necessariamente o modelo que vai
- 11:38decidir. Fechou? E por último aqui e não
- 11:40menos importante, ah, nós temos algo
- 11:42chamado de prompts que também faz parte
- 11:45de componentes aqui da arquitetura de um
- 11:47MCP server. Como é que funciona os talos
- 11:49prompts? Galera, imagina que você tem
- 11:52situações que você sempre tem que usar o
- 11:54bendito mesmo prompt para resolver um
- 11:56determinado tipo de problema, né? E daí
- 11:58o que que a gente acaba ficar fazendo? O
- 11:59que a gente fica fazendo? Criando um
- 12:00monte de arquivinho ou colocando aquele
- 12:02prompt dentro do seu próprio sistema ou
- 12:04até mesmo, né? Copiando e colando nas
- 12:07suas ferramentas. Eu não sei se você tem
- 12:08o cloud desktop, por exemplo, mas se
- 12:10você perceber, se você tem um MCP que
- 12:12provê prompts, você vai perceber que
- 12:14você pode selecionar manualmente qual
- 12:16prompt que você quer utilizar para você
- 12:18não ter que ficar copiando e colando
- 12:19toda hora. Uma coisa interessante dos
- 12:21prompts, né, que é que quem escolhe qual
- 12:24prompt utilizar é o usuário. Então vamos
- 12:26lá. A quem escolhe, quem vai chamar vai
- 12:29ser o LLM. O resource quem escolhe é o
- 12:31client e o prompt quem escolhe é o
- 12:33usuário. Ou seja, o usuário ele tem ali
- 12:35os prompts que ele quer trabalhar
- 12:36naquele dia a dia. Galera, isso é muito
- 12:38útil. Ultimamente eu, do que que eu
- 12:40tenho copiado e colado diversos prompts
- 12:42que deu um trabalhão eu criar e daí de
- 12:44repente ah, é copia e cola, daí eu tenho
- 12:46meu Notion e tudo mais. Quando você tem
- 12:48um servidor MCP que tem todos os prompts
- 12:49que você mais usa e ainda mais conseguir
- 12:51colocar place holders, deixar esse
- 12:53prompt dinâmico, facilita muito, mas
- 12:55muito a sua vida. Imagina toda hora que
- 12:57você quer verificar um bug no seu
- 12:59software, você tem aquele prompt, você é
- 13:00um especialista em buscar bugs, eu quero
- 13:02que você faça isso, eu quero que você
- 13:03faça aquilo, eu preciso que você siga
- 13:04essas regras. Toda hora escrever isso
- 13:06faz com que você perda perca muito
- 13:07tempo, faz com que você fique copiando,
- 13:09colando ou escreva de qualquer jeito. Se
- 13:11você tem um servidor MCP que você tem
- 13:12diversos prompts promptos ali para você,
- 13:15você selecionou, atualizou alguns campos
- 13:17que são dinâmicos e ele já consegue
- 13:19trazer o prompt para você. Então,
- 13:20lembrando, galera, estamos falando de
- 13:22MCP, estamos falando de tools, resources
- 13:24e prompties. Então, isso aí é um dos
- 13:26pontos assim mais importantes aqui para
- 13:28vocês. Agora, a gente tem também como
- 13:30que funciona o formato de comunicação,
- 13:33tá? Ah, num servidor MCP, tá? Então aqui
- 13:36é uma das coisas que muda também bem o
- 13:38jogo e inclusive pode parecer confuso
- 13:41para algumas pessoas, mas quando você
- 13:43olhar agora vai ficar bem simples. A
- 13:44gente tem dois formatos principais de
- 13:46comunicação. Um formato de comunicação é
- 13:49utilizando o ST ST IiO, basicamente a a
- 13:53entrada padrão de input e output ali do
- 13:55seu sistema. O resumo da história é que
- 13:57quando você trabalha com SDIO, você está
- 14:00rodando, né, o seu servidor de MCP
- 14:03normalmente, localmente na sua máquina.
- 14:05ele trabalha ali como se ele fosse um
- 14:06processo, né? Então a chamada ele
- 14:09executa aquele processo, né? É enviado
- 14:11dados num determinado formato e é
- 14:13retornado dados ali naquele formato.
- 14:15Então se um dia você interagir, né, pelo
- 14:16console mesmo com o servidor MCP, ah,
- 14:19utilizando STIO, você vai consegue ver
- 14:21as respostas, os outputs que ele tá
- 14:23trabalhando ali para você. Então,
- 14:24normalmente você vai trabalhar com isso
- 14:26quando você vai trabalhar localmente, ou
- 14:28seja, o servidor MCP tá instalado na sua
- 14:30máquina e as mensagens elas são
- 14:31enviadas, recebidas utilizando o JSON
- 14:33RPC ali como padrão, tá? Então eu acho
- 14:36que 90%, 95% de todos os servidores MCPs
- 14:40que talvez você já tenha trabalhado ou
- 14:41que você já usou ou que você já viu tá
- 14:43utilizando esse formato aqui, tá? Por
- 14:46quê? Porque ele é mais simples. Você,
- 14:47muita gente utiliza, faz com TypeScript,
- 14:49então apenas roda um NPX e já executa
- 14:52esse tipo de coisa. Por outro lado,
- 14:54muitas vezes você vai precisar, né,
- 14:57trabalhar com MCP remoto, ou seja, eu
- 14:59tenho um serviço externo, né, de MCP que
- 15:02eu preciso me comunicar. Então, vamos
- 15:04imaginar que você tem a sua empresa,
- 15:05você criou um MCP externo e todo mundo
- 15:07que quer se conectar com a sua empresa e
- 15:09utilizando inteligência artificial pode
- 15:12fazer chamadas aí diretamente pro seu
- 15:13serviço remoto. E é aí que a gente tem a
- 15:16outra forma de comunicação que roda via
- 15:17HTTP, que é o SSE, né, que é o Server
- 15:20Cent Events, que é uma das formas assim
- 15:22bem bacanas de você conseguir se
- 15:23comunicar. Ele mantém conexão de client
- 15:26server, você vai conseguindo receber a
- 15:29as informações conforme você precisa.
- 15:31Não confunda Web Sockets com SSE, são
- 15:33coisas diferentes. SSE é unidirecional,
- 15:36web sockets é bidirecional, tá? Então,
- 15:39basicamente é essa pegada. Então, se
- 15:41você precisa algo remoto, você vai
- 15:42perceber que você vai precisar trabalhar
- 15:44com SSE. Tem um ponto aí que realmente é
- 15:47complexo. É muito mais fácil você criar
- 15:49uma aplicação local, a pessoa instala e
- 15:51sai executando do que você criar um
- 15:54serviço online, né, onde a pessoa acessa
- 15:56remotamente, ainda mais com SSE. Por
- 15:58quê? Porque você tem que se preocupar
- 15:59com segurança, você vai ter que se
- 16:00preocupar com rate limiting, você vai
- 16:02ter que ver como é que você faz com
- 16:03autenticação, com autorização, com uma
- 16:04pancada de coisa. Então, obviamente,
- 16:06quando a gente tá falando em criar um
- 16:08servidor MCP usando SSE, não é tão
- 16:11trivial assim, a não ser que você vai
- 16:13fazer uma do list, né, ou qualquer coisa
- 16:14desse tipo, que você não precise de
- 16:16absolutamente nada de segurança, mas
- 16:17como qualquer software, qualquer
- 16:19serviço, a web, você tem que ter todo um
- 16:22respaldo técnico de segurança, né, de
- 16:24boas práticas de desenvolvimento para
- 16:25você não fazer besteira e trazer, né,
- 16:27disponibilizar dados sensíveis ou
- 16:29qualquer coisa desse tipo ali da sua
- 16:30empresa. Então, como qualquer outra
- 16:32solução web, se você trabalhar com SSE,
- 16:35saiba que você tem que se preocupar bem
- 16:37mais aí com a parte de segurança. Não
- 16:38que o SDIO não tem que se preocupar com
- 16:40segurança, claro que tem, mas o nível de
- 16:41complexidade acaba sendo diferente. E eu
- 16:43vou te dar uma notícia triste, tá? Que é
- 16:46o seguinte, pelo menos no momento que eu
- 16:47tô gravando esse vídeo, meu, as
- 16:48documentações, as implementações que
- 16:50você vê sobre SSE são muito ruins. O que
- 16:54eu tô dizendo é que você, eu sofri
- 16:56miseravelmente para conseguir
- 16:57desenvolver alguns servidores MCPs
- 16:59usando SSE. gastei um mega tempo ah para
- 17:01descobrir eh os protocolos mudam, as
- 17:03versões do SDK muda, então ah, tá num
- 17:06momento aí meio cinzento para o SSE, mas
- 17:08sim, funciona, já existem serviços. O
- 17:10Copilot Studio, por exemplo, utiliza SSE
- 17:12para você conseguir se comunicar e
- 17:14utilizar. Bacana? Mas saiba que eu
- 17:16acredito que na maioria das vezes você
- 17:17vai ver servidores, MCPs locais. Agora
- 17:20tem um ponto que você tem que tomar
- 17:21muito cuidado, tá? E aqui fica
- 17:24ligado, você quando você tem um servidor
- 17:26MCP local na sua máquina, provavelmente
- 17:28você vai baixar esse servidor de alguém,
- 17:30né, de algum repositório do GitHub ou
- 17:32qualquer coisa desse tipo. O que que
- 17:33isso significa? Significa que se você
- 17:36não tiver confiança o suficiente, que
- 17:37aquele software ele não é, vamos dizer
- 17:39assim, pode fazer alguma besteira local
- 17:41no seu computador, ah, não instale, né?
- 17:44Vamos imaginar que eu crio um MCP
- 17:45malicioso aqui, que toda vez que você
- 17:46rodar, eu simplesmente vou sair apagando
- 17:48alguns arquivos do seu computador ou eu
- 17:50vou fazer alguma besteira aí no seu
- 17:51computador ou vou pegar informações
- 17:53sensíveis e jogar para algum outro
- 17:54lugar. Então toma cuidado porque você tá
- 17:55instalando um software no seu
- 17:57computador. Isso aí muda muito o jogo.
- 18:00Você pode ter um servidor MCP que vai
- 18:01fazer mal, que pode trabalhar de forma
- 18:03maliciosa. Então tome muito cuidado com
- 18:06quais são esses servidores. Fechou?
- 18:08Galera, essa era a visão geral que eu
- 18:09queria dar aqui para você sobre MCP, mas
- 18:11agora eu queria mostrar rapidamente um
- 18:13pouquinho de código e alguns locais onde
- 18:15você pode olhar diversos servidores MCPs
- 18:17para você sair utilizando ainda hoje,
- 18:19beleza? Então vamos lá, pessoal.
- 18:21Primeira coisa, vou mostrar um pouco de
- 18:22código aqui para você. Eu desenvolvi,
- 18:25tá, um servidor MCP extremamente
- 18:28simples, tá? Basicamente é o seguinte,
- 18:30eu tenho uma aplicação, tá? Que eu
- 18:33desenvolvi na linguagem GO. Legal?
- 18:35Então, se você olhar aqui, eu tenho um
- 18:36software feito em GO, que é um uma API
- 18:38simples aqui, uma API rest bem simples.
- 18:41Na realidade, ela só tem um add user e
- 18:43ela tem um list user, né? Ou seja, eu tô
- 18:46guardando os dados tudo aqui em memória.
- 18:47Então, eu tenho aqui um user com ID,
- 18:49nome, e-mail, eu tenho um local onde eu
- 18:50guardo um mapa de usuários na memória e
- 18:52daí eu consigo listar todos os usuários
- 18:53e eu consigo adicionar novos usuários. E
- 18:55eu disponibilizei isso aqui na minha
- 18:57porta 8081. Ou seja, eu tenho um web
- 18:59server servindo algumas informações aí
- 19:01pra gente. Pronto, e acabou. Basicamente
- 19:03é isso. Eu vou até reiniciar esse cara
- 19:04aqui. Eu acho que ele deve estar rodando
- 19:06aqui para mim. Á. Bom, nem sei onde que
- 19:08ele tá rodando. Eu sei que ele deve tá
- 19:09rodando em algum lugar. Beleza. Então
- 19:10aqui é um backend. Esse cara que poderia
- 19:12tá na internet, em qualquer web server e
- 19:14etc. Maravilha. Uma API qualquer. E aqui
- 19:17eu tenho o meu servidor MCP. Então o que
- 19:20que acontece? Esse servidor eu fiz aqui
- 19:23utilizando TypeScript, porque é uma
- 19:24linguagem bem neutra, mas existem
- 19:26diversas outras linguagens que t o SDK
- 19:29oficial para você trabalhar com MCP.
- 19:31Beleza? Então, como que funciona? Só
- 19:33para você entender como que eu separei.
- 19:35Eu tentei separar e deixar isso da forma
- 19:36mais simples possível de você entender.
- 19:38Eu criei um arquivo aqui chamado Users
- 19:40Tools, tá? Basicamente eu tô usando o
- 19:42Axos para eu conseguir fazer uma
- 19:43consulta externa. Criei uma interface
- 19:45bem simples com ID nome, e-mail,
- 19:46seguindo exatamente aquele servidor em
- 19:48go que eu acabei fazendo. E aqui eu
- 19:50tenho um get users, onde eu vou passar
- 19:52uma URL base, né, para eu conseguir
- 19:55fazer a consulta. E eu pego os
- 19:57resultados aqui para mim. Nem tô
- 19:58tratando os dados aqui, mas e eu tô
- 20:00retornando esses dados aqui pra gente.
- 20:03Basicamente é isso aqui. E aqui eu tenho
- 20:05um create user, ou seja, eu tô dando um
- 20:08post, né? E simplesmente vou enviar
- 20:11aqueles dados ali para mim e aí eu vou
- 20:13receber uma response de volta. Ou seja,
- 20:16se você perceber, pessoal, essa parte
- 20:18aqui não tem nada a ver com MCP. Você
- 20:19concorda comigo? O que eu tô querendo
- 20:21dizer, isso por que que eu tô querendo
- 20:22dizer para você? O que eu tô querendo
- 20:24trazer é que se você já tem um software
- 20:26hoje e ele tá bem organizado, isso
- 20:29significa que você basta colocar uma
- 20:31camada acima num servidor MCP e você
- 20:34pode reaproveitar todo o código que você
- 20:36já tem hoje para disponibilizar para
- 20:37esse servidor MCP. Então imagina que
- 20:39essa essas duas funções que eu tenho
- 20:41aqui de get user e create user, eu
- 20:43poderia fazer isso ser utilizado num
- 20:46servidor de RPC, eu poderia colocar num
- 20:48servidor HTTP, eu poderia utilizar essas
- 20:49funções para um monte de coisa que eu
- 20:51quisesse aqui, independente do
- 20:52protocolo, tá? Então é por isso que eu
- 20:54tô fazendo essa separação aqui para que
- 20:55você consiga ver, beleza? E agora,
- 20:57finalmente, a gente vai pro mcp.ts, né?
- 21:00Aqui, como que funciona? Se você
- 21:02perceber, eu tô utilizando, né, o SDK,
- 21:05né, que foi feito ali pela Antropic, que
- 21:07é a criadora aí do protocolo. E nesse
- 21:09caso aqui você vai perceber que eu tenho
- 21:12o MCP Server, o ST e STD IO Server
- 21:15Transport. Lembra que eu posso escolher
- 21:17tanto como SSE quanto SDIO? Então aqui
- 21:20eu tô utilizando STIO, eu tô usando o
- 21:23ZOD para ajudar eu formatar, vamos dizer
- 21:25assim, os meus JSONs. E aqui, obviamente
- 21:27eu tô utilizando aquela minha interface,
- 21:29o get users e o create user. Aqui para
- 21:31mim coloquei minha base API, que é onde
- 21:33eu tô chamando aquela minha aplicação em
- 21:34go. Então tudo aqui começa, se você for
- 21:36utilizar diretamente o SDK, de uma forma
- 21:39bem simples, que é o quê? Eu vou criar
- 21:40uma nova instância de um servidor MCP.
- 21:42Tem uma coisa importante aqui para você
- 21:44também. Essa nova instância, ela tá
- 21:45criada aí de forma bem simples, vamos
- 21:47dizer assim. Por quê? Porque se você
- 21:49tiver um servidor onde você tá
- 21:50trabalhando com prompts, que você tá
- 21:52trabalhando com resources, que você tá
- 21:53trabalhando com tools, você tem uma
- 21:54opção ali de você adicionar mais
- 21:56informações, inclusive a parte de
- 21:58capabilities, que na realidade você fala
- 21:59o que que esse servidor tem a capacidade
- 22:02de fazer. E ali você vai especificar o
- 22:03que ele pode fazer, tá? Agora, o que que
- 22:06a gente faz aqui? Eu vou registrar as
- 22:09minhas ferramentas. Então, eu criei uma
- 22:10ferramenta de get users. Então, tô
- 22:12falando aqui, ó, server, né, que é esse
- 22:13cara que eu acabei de criar. Tool get
- 22:16users. O get users, eu não preciso de
- 22:17nenhum parâmetro para passar, porque eu
- 22:19tô simplesmente listando os meus
- 22:21usuários. E aqui eu tô falando como que
- 22:22eu consigo obter os meus usuários, né?
- 22:25Então ele tem aqui uma função onde ele
- 22:27vai dar um get users basicamente pra
- 22:29gente e o nosso retorno vai ser dentro
- 22:32de
- 22:33content e aqui com um JSON aqui
- 22:36retornando pra gente. Então dessa forma
- 22:37aqui é simplesmente como que eu registro
- 22:39um novo usuário. Agora a gente tem a
- 22:42segunda ferramenta nossa, que ela é um
- 22:43pouquinho diferente, mas não muda nada
- 22:45de forma geral. que é o seguinte, eu vou
- 22:47registrar uma nova ferramenta que é
- 22:48server. Onde eu tenho aqui para mim um
- 22:50create user. No caso do create user, eu
- 22:53preciso ter os parâmetros que vão ser
- 22:55preenchidos, porque se eu não fizer
- 22:57isso, né, ah, não vai funcionar. Então
- 23:00aqui eu estou definindo um esquema
- 23:02básico. E nesse create user, eu vou, tô
- 23:04definindo que eu vou ter que ter um
- 23:05objeto de usuário que vai ter um ID nome
- 23:07email. Esse parâmetro aqui, né? Esses
- 23:09parâmetros aqui são os parâmetros que o
- 23:11client MCP vai ter que preencher para
- 23:14fazer a chamada do meu do meu create
- 23:16user, tá? Então, se eu escrever lá, crie
- 23:18um novo usuário com o ID1, com o nome
- 23:21Wesley, com e-mail [email protected], o que que
- 23:23ele o que que a LLM vai fazer? Vai
- 23:25chamar a tu create user. Daí ela vai
- 23:26falar: "Ah, ele falou o ID um. Então eu
- 23:28vou preencher o campo ID. Ele falou o
- 23:29nome, eu vou preencher o nome, eu vou,
- 23:31eu falei, ele falou e-mail, eu vou
- 23:32preencher o e-mail. Porque se a gente,
- 23:34se a, se a LLM, né, não preencher isso
- 23:35pra gente, a gente não vai conseguir
- 23:36criar o usuário. Então aqui é como a
- 23:38gente define, define o o a estrutura de
- 23:40objetos que vão ter que ser passadas ali
- 23:42por parâmetro pra gente. Fechou? Então
- 23:44isso aqui é uma forma de você conseguir
- 23:46olhar. Agora fora isso, daí não muda
- 23:49muita coisa. eu crio um novo usuário
- 23:50passando API e o usuário, né, o user que
- 23:53foi passado por parâmetro aqui paraa
- 23:55gente, né, que em tese vai satisfazer.
- 23:57Óbvio que eu não tô fazendo um monte de
- 23:58verificação aqui. E aí, né, dando tudo
- 24:01certo, eu vou retornar um texto e falar
- 24:02que o usuário foi criado com sucesso ali
- 24:04para mim. E tá aqui registrada essas
- 24:06minhas duas ferramentas. Para finalizar,
- 24:08eu vou falar como que eu configuro, como
- 24:11que vai ser o meio de transporte. Então,
- 24:12tô falando com ST de IO Server Transport
- 24:14e eu vou pedir pro meu servidor que eu
- 24:16instanciei aqui em cima, né, e que eu
- 24:18registrei as minhas tools, a se conectar
- 24:21através desse meio de transporte. Se
- 24:23você tiver trabalhando com SSE, você vai
- 24:25ter que ter um servidor web, né, que tem
- 24:27um end point de
- 24:28SSE/Mages normalmente e você vai usar
- 24:30esse cara como meio de transporte.
- 24:32Basicamente essa a ideia quando você tá
- 24:33trabalhando com SSE. Nesse caso aqui,
- 24:35ele é bem mais simples aqui. Agora, qual
- 24:37que é a utilização prática da gente
- 24:39fazer isso aqui nesse momento?
- 24:41Basicamente, com esses dois arquivos, de
- 24:44uma forma bem simples, eu consigo
- 24:46utilizar ele em qualquer local, né,
- 24:48qualquer host que implemente cliente de
- 24:51MCP. Nesse momento eu tô no meu cursor,
- 24:53né? E o cursor ele tem uma parte apenas
- 24:56para MCP e eu vou mostrar esse cara
- 24:57sendo utilizado. Só para você saber, eu
- 24:59já compilei, né? Eu dei um TSC, ele
- 25:01gerou esses meus arquivos aqui, ó, um
- 25:03JS. E aí, o que que eu vou fazer? Eu vou
- 25:05aqui no meu cursor, vou em settings,
- 25:07cursor settings aqui para mim. E se você
- 25:09olhar aqui, eu tenho a parte de MCPs.
- 25:11Quando você olhar essa minha parte de
- 25:13MCPs, você vai ver que eu tenho alguns
- 25:14MCP servers, porque eu já deixei aqui
- 25:16cadastrado para você. Um MCP server aqui
- 25:18é o do Docker, onde se você olhar, eu
- 25:20tenho esse monte de ferramenta que eu
- 25:21posso trabalhar, ou seja, eu consigo
- 25:22listar contêiner, criar contêiner, rodar
- 25:24contêiner, recriar contêiner e tudo
- 25:25mais. Eu tenho um do Postress, onde eu
- 25:28consigo através do MCP fazer consultas
- 25:32num banco de dados postagers. E se você
- 25:34olhar o comando que ele tá executando,
- 25:36nesse caso do Docker, é um Docker run,
- 25:38né? Ah, aqui pra gente e existe, né, uma
- 25:40imagem Docker chamada MCP Server Docker
- 25:43Latest, onde a gente precisa passar o
- 25:44volume do do socket do do Docker. Então,
- 25:47perceba que você pode usar MCPs chamando
- 25:49Docker. Então, se você tem Docker no seu
- 25:51computador, você pode usar MCPs ah que
- 25:53tem Docker files ou que estão
- 25:55registrados lá no Docker Hub. Beleza? No
- 25:57caso do Postgis, ele já tá trabalhando
- 25:58aqui com NPX, então ele tá sendo feito
- 26:00ali em tá publicado ali no npm da vida.
- 26:03e você consegue fazer execução. E aqui
- 26:05eu tenho o MCP users, que foi o MCP que
- 26:08eu acabei de mostrar aqui para vocês,
- 26:10onde eu tô executando um comando node
- 26:12diretamente, passei, né, o caminho do
- 26:14meu computador até o meu arquivo
- 26:16JavaScript, tá? Wesley, mas que feio,
- 26:18cara. É assim, tá rodando o local. Se eu
- 26:20quisesse publicar isso no pacote npm ou
- 26:22fazer qualquer outra coisa, eu poderia
- 26:24fazer e fazer a chamada do comando. O
- 26:25importante é que você tem que fazer a
- 26:27execução aí para você. Ah, como é que é
- 26:30registrado isso, né? Se você dá um
- 26:31editar aqui, você vai ver que ele tem um
- 26:32arquivo JSON e no JSON você nomeia o
- 26:35nome do seu servidor, fala qual é o
- 26:36comando para executar e os argumentos.
- 26:38Então é exatamente isso que tá
- 26:39acontecendo aqui, ó. MCP user, o meu
- 26:41comando é node, o meu argumento é o meu
- 26:43arquivo JavaScript, tá? Agora, como que
- 26:45eu vejo essas coisas funcionando? Se eu
- 26:47chegar aqui, ó, no meu no meu, ô meu
- 26:52Deus do céu, no meu cursor, eu posso
- 26:53perguntar o seguinte: "Ah, liste todos
- 26:56os os
- 26:58users usando o MCP users", tá? Tô tô
- 27:02tentando ser mais específico pra gente
- 27:04evitar outros erros aqui, mas ah, outra
- 27:07coisa, tá? Eu tô aqui com o GPT 4.1 e
- 27:10esse cara aqui junto com Cursor, ele não
- 27:11suporta MCP. Eu vou mudar aqui pro cloud
- 27:14Sonet aqui nesse caso porque ele dá um
- 27:16tropic que implementou MCP, então o MCP
- 27:18funciona aqui com ele e eu vou aqui, ó,
- 27:20vou listar todos os usuários com o
- 27:22serviço MCP users. Então se você olhar
- 27:23aqui, ó, olha o que ele fez. Ele fez uma
- 27:25chamada para uma tool chamada get users.
- 27:27Se você olhar essa tool, ele vai ver os
- 27:29parâmetros que foram passados. Aqui a
- 27:31gente combinou, né, que a gente não ia
- 27:32precisar de nenhum parâmetro para listar
- 27:35os usuários, né? Então olha aqui, ó. Eu
- 27:37não preciso de nenhum parâmetro. E é por
- 27:38isso que eu tenho nenhum parâmetro aqui.
- 27:40E aqui eu peguei os resultados que ele
- 27:42trouxe. E aqui, né, eu consigo ter o
- 27:44resultado aqui para mim. Basicamente é
- 27:46isso. Se eu chegar agora aqui para ele,
- 27:48fala o seguinte: "Olha, crie um novo
- 27:50user com um ID 2000 com o nome de
- 27:56Roberto e o e-mail é [email protected].
- 28:01Se eu fizer isso aqui, vamos ver o que
- 28:02que ele vai tentar fazer nesse momento.
- 28:05Ele vai criar um novo usuário. Chamou
- 28:06aqui um MCP tool Create User e deu aqui
- 28:09usuário criado com sucesso ID2000
- 28:11Roberto e e-mail [email protected]. Como que eu
- 28:14sei o que que ele fez? Automaticamente
- 28:17ele preencheu aqui para mim os
- 28:19parâmetros que eu precisava e que eu
- 28:21defini exatamente aqui no meu servidor
- 28:23MCP. Se você olhar aqui no meu create
- 28:25user, eu defini exatamente essa
- 28:27estrutura e a minha IA, ela conseguiu
- 28:29ler, entender essa estrutura e preencher
- 28:31os campos da forma como eu tava
- 28:32querendo. Então a partir daí eu consigo
- 28:34ter esse tipo de resultado. Obviamente
- 28:36eu posso perguntar: "Liste os users
- 28:39novamente para eu ver se o
- 28:43Roberto está
- 28:45lá". E agora ele chamou os users
- 28:48novamente e se Deus quiser, o Roberto
- 28:49vai tá aqui, ó, [email protected].
- 28:52Ou seja, já dá paraa gente perceber as
- 28:54possibilidades que a gente tem, porque
- 28:55você poderia estar fazendo isso na sua
- 28:57própria API ou executando diversas
- 28:58coisas, mas eu posso chegar aqui para
- 29:00mim e falar assim, ó, agora liste para
- 29:02mim todos os contêiners Docker que estão
- 29:06rodando na minha máquina. Vamos ver se
- 29:08ele consegue se tocar que existe um MCP
- 29:10para isso. Mas olha só, ele chamou uma
- 29:12TU chamada list containers e agora ele
- 29:13tá trazendo todos os contêiners que ele
- 29:15encontrou e ele só tá fazendo isso por
- 29:17conta do MCP doer. Se eu chegar e
- 29:19perguntar para para mim, ah, veja quais
- 29:23são as tabelas do banco de dados que eu
- 29:27tenho no Postgress. Vamos ver se ele
- 29:29consegue trazer essa parada aqui para
- 29:30mim. Vou verificar. Ele chamou uma uma s
- 29:34uma tool query lá do meu postg, onde ele
- 29:36pegou esse resultado. Aí eu vou
- 29:38perguntar aqui para ele ah, quantos
- 29:41registros eu tenho em invoices?
- 29:45Agora ele vai fazer uma query, vai fazer
- 29:48uma busca e trouxe aqui, ó, eu tenho
- 29:49cinco registros, seis registros na
- 29:51tabela invoices. Então, é basicamente
- 29:52por baixo do pano ele passou um
- 29:54parâmetro que é select count from
- 29:56invoices. Então, esse tipo de coisa,
- 29:58galera, muda, muda, mas bastante o jogo
- 30:00mesmo na hora que você for trabalhar. E
- 30:02aí você tem opções ali fantásticas de
- 30:05possibilidades para você utilizar MCP aí
- 30:06no seu dia a dia. Agora, existem muitos
- 30:09MCPs que provavelmente você já gostou,
- 30:11sei lá, o Docker, o Post, mas existem
- 30:13muito mais feitos pela comunidade, feito
- 30:15por um monte de gente, inclusive feito
- 30:16por empresas que têm a intenção de fazer
- 30:18com que IAs possam se comunicar com
- 30:20elas, tá? Então, se você chegar aqui, ó,
- 30:23eu separei alguns links para vocês, que
- 30:25é o seguinte. Ah, oficialmente, tá, no
- 30:28site, no GitHub oficial aqui do Model
- 30:31Context Protocol com servers, eh, aqui
- 30:33ele dá ideia, né, dos servidores de
- 30:35referência e alguns third parties
- 30:37servers que a gente tem por aqui. Então,
- 30:39se você olhar, tem servidor de tudo
- 30:41quanta coisa. Então, tem servidor ah
- 30:43para fazer busca usando a API do Brave,
- 30:45tem servidor para fetch pegar dados de
- 30:48internet, ah, tem file system, Git,
- 30:50GitHub, e Google Drive, Google Maps,
- 30:52Posties, Memory, ah, Reds. Então, tem
- 30:55muita coisa pronta, mas também tem
- 30:57servidores, MCPs bem interessantes que
- 30:58são de serviços que a gente acaba
- 30:59usando, sei lá, um MCP da Cloudflare, um
- 31:01MCP ah do Heroco, do Elastic Search, um
- 31:05MCP do Grafana, para eu ver os logs da
- 31:07minha aplicação conforme as coisas estão
- 31:09rodando, né? Então assim, tem da Jet
- 31:11Brbranch, tem Mayogun, tem do Make, tem
- 31:14muita opção aqui para você trabalhar. O
- 31:16mais interessante também é que
- 31:17obviamente se eles estão num
- 31:19gitubo de como que ele foi desenvolvido.
- 31:22Vou clicar aqui por exemplo no Reds. Se
- 31:23eu clicar aqui e pode ver que ele
- 31:25trabalha através de Docker, pode
- 31:27trabalhar e ele tem um index. Que mostra
- 31:29como que esse servidor ele foi feito.
- 31:30Aparentemente bem simples mesmo aqui,
- 31:32né? Então, ah, aqui é uma forma de como
- 31:34que ele trabalhou. E se você perceber,
- 31:37não é difícil, mas assim, essa opção
- 31:40aqui do Reds, ela tá bem simplória.
- 31:41Obviamente poderia ser muito melhor, mas
- 31:43você já consegue pegar informações que
- 31:45são importantes de gets sets e várias
- 31:47coisas do Reds aqui para você. Então,
- 31:49vale a pena você explorar esses
- 31:50repositórios do GitHub, não apenas para
- 31:52você saber que existem esse MCPs, mas
- 31:55principalmente para vocês conseguirem
- 31:56ver os scripts e usar como referências
- 31:57para vocês poderem criar os seus
- 31:59próprios MCPs. Tem dois sites bem
- 32:01interessantes que acabam acabaram
- 32:03virando como os repositórios que as
- 32:05pessoas cadastram MCPs, tá? Eu gosto
- 32:07bastante desse cara aqui que chama
- 32:08Glama. Se você entra nesse glama, você
- 32:11vai perceber que existem ali, ó,
- 32:14categorias de servidores MCPs, né?
- 32:17servidores ah que são bastante úteis
- 32:20assim até com connect de MCP Server. Tem
- 32:23muita coisa interessante, você consegue
- 32:25na realidade buscando, né? Então, por
- 32:27exemplo, Golo, tem até um MCP com GO
- 32:28aqui. Deixa eu olhar. Go. Opa,
- 32:31cliquinho. Agora eu fiz besteira aqui.
- 32:32Eu tô filtrando por GO. Basicamente, MCP
- 32:35package version. Cara, sei lá, eu nem
- 32:36sei onde que eu cliquei já mais agora. O
- 32:38fato aqui que é importante vocês
- 32:40conseguirem olhar é que existem, né,
- 32:42diversas opções de server que vocês
- 32:44podem dar uma olhada. Mas novamente,
- 32:46pessoal, tome muito, mas muito cuidado
- 32:49mesmo ah na hora de instalar esses caras
- 32:51nas suas máquinas, porque a maioria
- 32:53deles rodam local e se roda local aí a
- 32:55coisa fica um pouco mais complicada.
- 32:57Então se você puder, sempre tente pegar,
- 32:59né, servidores MCPs que são oficiais,
- 33:02porque você já tem um nível de
- 33:03segurança, né, muito maior. Então você
- 33:05clica aqui, ele traz para você como é
- 33:06que funciona para você se conectar na
- 33:08Redcloud, como é que são as opções e
- 33:10tudo mais que você precisa saber para
- 33:11utilizar esse MCP. Ele traz todos os
- 33:13guias para você utilizar. Então,
- 33:15novamente, tá, perceba que há um risco
- 33:18grande de você instalar um MCP que é
- 33:21malicioso. Tome muito cuidado, mas isso
- 33:23já acontece com qualquer pacote do Node
- 33:25que você vai utilizar, mas é apenas um
- 33:26alerta. Fechou? Agora, galera, eu queria
- 33:30muito saber aí de vocês quais são os
- 33:32servidores MCPs que você mais utiliza.
- 33:34Ah, você já criou seu próprio servidor
- 33:36MCP? Para que que você tá utilizando? E
- 33:37quais são as possibilidades que você
- 33:39acha que isso aí vai trazer no nosso dia
- 33:41a dia aí com desenvolvimento, tá? Então,
- 33:43espero que você tenham gostado desse
- 33:44vídeo, né? Ele ficou meio grandinho, mas
- 33:46eu acho que deu para ter uma visão um
- 33:47pouco mais geral de alguns componentes
- 33:49que poucas pessoas às vezes acabam
- 33:50sabendo que existem aí em servidores,
- 33:52MCPs. Fechou? Um grande abraço aí para
- 33:54você, tudo de bom e até o nosso próximo
- 33:55vídeo. Eu queria muito saber aí de vocês
- 33:58quais são os servidores MCPs que você
- 34:00mais utiliza. Ah, você já criou seu
- 34:03próprio servidor MCP? Para que que você
- 34:05tá utilizando? E quais são as
- 34:07possibilidades que você acha que isso aí
- 34:08vai trazer no nosso dia a dia aí com o
- 34:11desenvolvimento? Tá? Então espero que
- 34:13você tenha gostado desse vídeo, né? Ele
- 34:15ficou meio grandinho, mas eu acho que
- 34:17deu para ter uma visão um pouco mais
- 34:19geral de alguns componentes que poucas
- 34:21pessoas às vezes acabam sabendo que
- 34:23existem aí em servidores, MCPs. Fechou?
- 34:26Um grande abraço aí para você, tudo de
- 34:28bom e até o nosso próximo
- 34:31[Música]
- 34:45vídeo. He.
About this transcript
This page contains the full transcript of Model Context Protocol: Guia que todo Dev precisa saber by Full Cycle, generated from the public captions YouTube serves with the video. The transcript has 7,045 words across 1,021 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.