YouTube2Text

Model Context Protocol: Guia que todo Dev precisa saber — Transcript

by Full Cycle · 7,045 words · 1,021 segments · language en · Watch on YouTube

Full transcript

  1. 0:00A sigla da vez agora é MCP Model Contex
  2. 0:03Protocol. Nós desenvolvedores aí estamos
  3. 0:05indo à loucura com as grandes e grandes
  4. 0:08possibilidades que a gente tem agora de
  5. 0:10fazer com que os nossos modelos de
  6. 0:12inteligência artificial falem com os
  7. 0:14nossos sistemas externos, né? uma a
  8. 0:16gente tem agora uma série de
  9. 0:17ferramentas, um monte de servidores MCP
  10. 0:20para brincar, mas a realidade é que
  11. 0:23muitos debs não tm a menor ideia de como
  12. 0:26que esse protocolo funciona, quais são
  13. 0:28os seus componentes, como é que a sua a
  14. 0:30sua arquitetura e as possibilidades que
  15. 0:33você tem por trás dele. Então, é por
  16. 0:35conta disso que eu resolvi gravar esse
  17. 0:37vídeo e eu vou te dar aí meio que uma
  18. 0:40aula sobre MCP, inclusive trazendo uma
  19. 0:43apresentação que eu montei aqui no Scaly
  20. 0:44Draw e também código para que você
  21. 0:48consiga ver essa parada na prática,
  22. 0:50inclusive utilizando aí o cursor. Mas
  23. 0:53antes de gente falar disso, eu queria
  24. 0:55muito mesmo te dar um recado e uma
  25. 0:57recomendação. Clica no link aqui embaixo
  26. 0:59para você conhecer mais sobre o curso
  27. 1:00Full Cycle 4.0, zero, principalmente
  28. 1:03porque agora a gente adicionou um pilar
  29. 1:04de inteligência artificial para
  30. 1:06desenvolvedores. Então, se você tá
  31. 1:08passando raiva aí com IA, achando que
  32. 1:10ela programa mal para caramba e tá mais
  33. 1:12te atrapalhando às vezes do que te
  34. 1:13ajudando, clica nesse link porque a
  35. 1:15gente encontrou ótimas soluções que vão
  36. 1:18mudar completamente a forma de como que
  37. 1:20você trabalha com IA no seu dia a dia.
  38. 1:22Recados dados. Vamos lá então aqui pra
  39. 1:24tela do meu computador, onde eu preparei
  40. 1:26aqui uma apresentação bem bacaninha para
  41. 1:27você entender mais sobre MCP e ter
  42. 1:29realmente a visão que vale a pena você
  43. 1:32entender como que você pode explorar
  44. 1:33tudo isso. Maravilha. Então vamos lá
  45. 1:35galera. MCP Model Context Protocol, né?
  46. 1:37Um protocolo que ele vai padronizar como
  47. 1:39que os nossos sistemas conseguem dar
  48. 1:40contexto para os modelos de inteligência
  49. 1:43artificial, tá? Então basicamente ele
  50. 1:45faz com que a gente tenha a
  51. 1:46possibilidade de fazer com que o nosso
  52. 1:47modelo se conecte a fontes externas,
  53. 1:50peguem informações, consigam executar
  54. 1:51ações e tudo mais. Então aqui tem um
  55. 1:53exemplo bem simples para que você
  56. 1:55consiga entender a ideia e as
  57. 1:57possibilidades que o MCP ele traz aqui
  58. 1:58pra gente, tá? Então lance é o seguinte.
  59. 2:00Nós temos aqui um host, mas preste bem
  60. 2:02atenção, nós temos um host e nós temos
  61. 2:04um MCP client. O que que isso significa?
  62. 2:07Significa que você tem uma aplicação que
  63. 2:09utiliza inteligência artificial e essa
  64. 2:12aplicação ela implementa um client do
  65. 2:14MCP, por exemplo, um cursor, um VS Code,
  66. 2:17um cloud, por exemplo. Essas aplicações
  67. 2:19utilizam por baixo dos panos um MCP
  68. 2:21client para fazer uma chamada em um MCP
  69. 2:23server, tá? Então aqui eu tenho alguns
  70. 2:25exemplos bem simples. Um MCP server do
  71. 2:27Postgress, então eu sou capaz de falar
  72. 2:29com o meu modelo e fazer com que esse
  73. 2:31meu modelo faça uma chamada no meu
  74. 2:32Postigress, tá? E esse servidor aqui de
  75. 2:35MCP server de PBS consegue acessar
  76. 2:38realmente o meu banco de dados. Da mesma
  77. 2:40forma que eu consigo fazer um MCP
  78. 2:42server, onde ele vai fazer uma chamada
  79. 2:44de API para pegar dados, por exemplo, de
  80. 2:46produtos numa API e pegar, por exemplo,
  81. 2:48dados de usuário em outra API. Então, eu
  82. 2:50consigo fazer sim o meu modelo conseguir
  83. 2:52trabalhar com chamadas externas de API.
  84. 2:55E ao mesmo tempo eu consigo ter MCPs até
  85. 2:57bem interessantes, como o de Docker, né?
  86. 2:58Então, eu tenho um servidor MCP de
  87. 3:00Docker que ele consegue se comunicar com
  88. 3:02o Docker da nossa máquina, por exemplo,
  89. 3:03e consegue trazer informações que a
  90. 3:06gente precisa sobre os nossos
  91. 3:07contêiners, iniciar serviços, parar
  92. 3:08serviços e tudo mais. Então, se você
  93. 3:10perceber, a gente tem possibilidades bem
  94. 3:11bacanas, porque a gente consegue acessar
  95. 3:13banco de dados, a gente consegue
  96. 3:14executar ações e a gente consegue fazer
  97. 3:16bastante coisa. O grande ponto é que
  98. 3:18essa é a visão que a maioria das pessoas
  99. 3:20que bateram olho no MVCP acabam tendo,
  100. 3:23isso que eu acabei de mostrar. E daí a
  101. 3:25maioria das pessoas elas acabam parando
  102. 3:26por aí. E é por conta disso que eu
  103. 3:28gravei esse vídeo. A gente vai um
  104. 3:30pouquinho mais a fundo em relação a
  105. 3:31esses aspectos. Fechou? Então vamos lá.
  106. 3:33Então, somente para você entender alguns
  107. 3:35pontos importantes, o lance é o
  108. 3:37seguinte. Ahã, eu vou dar uns exemplos
  109. 3:39aqui de como que essas chamadas
  110. 3:41acontecem no seu modelo, né? Então, por
  111. 3:43exemplo, eu posso perguntar quais são os
  112. 3:44contêiners docker que estão sendo
  113. 3:46executados? Verifique no postiz quantos
  114. 3:48registros eu tenho na tabela de logs,
  115. 3:50qual o produto que possui o ID1 de
  116. 3:51acordo com a minha Tool, tá? Então, se
  117. 3:53você perceber, em algumas situações,
  118. 3:55você tem que inclusive afirmar ali pro
  119. 3:57seu LLM, né, pro seu modelo, que você
  120. 4:00quer que ele utilize uma determinada
  121. 4:02ferramenta, tá? Vamos dizer assim, mas
  122. 4:04você vai perceber que MCPs eles vão bem
  123. 4:06além de tools, de ferramentas, e é isso
  124. 4:08aí que acaba limitando as possibilidades
  125. 4:10que muitos desenvolvedores têm nos dias
  126. 4:12de hoje. Beleza? Então, como que
  127. 4:14funciona, né? Vamos entender os
  128. 4:15componentes aí que a gente tem em
  129. 4:16relação ao MCP Server, né, a MCP de
  130. 4:18forma geral. Então, como eu tava falando
  131. 4:20para você, você tem um host que pode ser
  132. 4:22um cursor, um VS Code, um cloud ou
  133. 4:24qualquer sistema, tá? Que faça interface
  134. 4:27com o seu modelo de inteligência
  135. 4:28artificial. O que que acontece? o
  136. 4:30seguinte, você tem esse host e esse host
  137. 4:31ele consegue implementar um client que
  138. 4:33tem inclusive um SDK com todas as
  139. 4:35especificações. Esse cliente host
  140. 4:38obviamente vai falar com MCP Server e a
  141. 4:40gente pode fazer na realidade chamadas
  142. 4:43tanto locais dentro do nosso próprio
  143. 4:45computador quanto chamadas externas, ou
  144. 4:48seja, chamadas remotas. Então eu sou
  145. 4:50capaz de, por exemplo, trabalhar e
  146. 4:51modificar, acessar meu sistema de
  147. 4:53arquivos, mas ao mesmo tempo eu consigo
  148. 4:55ler dados, por exemplo, de um Google
  149. 4:57Drive da vida ou pegar informações numa
  150. 5:00pasta remota. Então eu consigo ter
  151. 5:01muitas oportunidades quando a gente tá
  152. 5:04trabalhando aí com MCPs. Agora, o grande
  153. 5:06ponto aqui que você tem que se ligar é
  154. 5:08que essas implementações, né, você tanto
  155. 5:10rodar local e rodar remoto, as coisas
  156. 5:12elas mudam um pouco. E isso ao longo
  157. 5:14aqui do nosso bate-papo, desse vídeo
  158. 5:16aqui, você vai ter um pouquinho mais de
  159. 5:18clareza sobre isso, tá? Então, por
  160. 5:19exemplo, só para ficar claro para você
  161. 5:21essa parada de MCP client e MCP Server,
  162. 5:23tá? Então, o seguinte, exemplos de
  163. 5:25aplicações que implementam o MCP
  164. 5:26clients, o GitHub Copilot, o Cursor, o
  165. 5:28cloud desktop, o cloud Code, ou seja,
  166. 5:30todas essas ferramentas, elas dentro
  167. 5:32dela implementam e tem esse client para
  168. 5:34conseguir falar com um MCP Server.
  169. 5:36Exemplos de MCP servers. Eu tenho MCP
  170. 5:38Servers do PostGrees, do Google Drive,
  171. 5:40do Git, do GitHub, do Slack, File
  172. 5:42System, Docker, Kubernets. Eu tenho um
  173. 5:43monte, depois eu vou compartilhar aqui
  174. 5:44com vocês uma lista de servidores, sites
  175. 5:46legais, onde você já vê um monte de
  176. 5:47servidor pronto para você sair
  177. 5:48utilizando e facilitar para caramba a
  178. 5:50sua vida aí no dia a dia, tanto
  179. 5:52utilizando IA, né, pessoalmente, quanto
  180. 5:55trabalhando com IA para código dentro do
  181. 5:56seu ecossistema aí de de serviços, de
  182. 5:58Docker, de Kubernets, Git e etc.
  183. 6:00Maravilha. Então essa que é a ideia
  184. 6:02básica aqui. Agora vamos entender um
  185. 6:04pouco mais sobre a arquitetura de um MCP
  186. 6:07Server. Eu acho que aqui que tá o grande
  187. 6:08ponto, porque a gente, eu vejo muita
  188. 6:10gente limitado a essas possibilidades.
  189. 6:13Normalmente hoje em dia, quando eu vejo
  190. 6:15alguém falar de MCP, a pessoa ela já tá
  191. 6:17normalmente se baseando em algo chamado
  192. 6:19tools, que são ferramentas, tá? E sim, é
  193. 6:21uma das coisas assim mais poderosas que
  194. 6:23você pode ter num MCP Server, tá? Então
  195. 6:25o que que é uma TU? Tu é uma ferramenta
  196. 6:27que realiza ação. Elas são controladas
  197. 6:30pelo modelo, ou seja, a própria LLM
  198. 6:33decide quando chamar, tá? O que que isso
  199. 6:35significa? Significa que quando você tá
  200. 6:37utilizando o modelo, né, e de acordo com
  201. 6:40o que você escreve, o modelo fala:
  202. 6:42"Poxa, essa informação eu acho que eu
  203. 6:43tenho uma ferramenta que vai me ajudar a
  204. 6:45conseguir executar essa determinada
  205. 6:47ação." Então, quem tá decidindo por
  206. 6:51utilizar, né, esse MCP server é o modelo
  207. 6:54em si, tá? E uma coisa interessante é
  208. 6:56que toda vez que você tem um servidor
  209. 6:57MCP, você tem ferramentas ali de auto
  210. 6:59discover. O que que significa? Você tem
  211. 7:01como se fosse uma lista, um glossário,
  212. 7:03né, onde o seu modelo consegue acessar e
  213. 7:06ver todas as ferramentas e todos os
  214. 7:08recursos, todas as capabilities que um
  215. 7:10MCP Server tem e a partir dali ele
  216. 7:12escolhe o qual ele vai querer trabalhar,
  217. 7:13tá? Então esse aí é um ponto importante.
  218. 7:15Agora o ponto principal de uma tool e o
  219. 7:17por ela é tão poderosa é porque elas
  220. 7:19conseguem realizar ações. O que que
  221. 7:22significa isso? O Matu consegue criar um
  222. 7:24arquivo, ela consegue chamar uma API,
  223. 7:26ela consegue a derrubar um contêiner,
  224. 7:29ela consegue criar um pó de cubernetes,
  225. 7:31ela consegue executar qualquer coisa.
  226. 7:34Basicamente essa é a ideia de uma fazer
  227. 7:36execução. E essa execução ela é
  228. 7:39controlada, ela é percebida pela pelo
  229. 7:41modelo, tá? Pelo Llm si. Fechou? Então
  230. 7:45isso aí é um ponto importante para você
  231. 7:46se ligar. Agora o lance é o seguinte, a
  232. 7:49gente tem uma um outro cara, tá, num MCP
  233. 7:51server que você pode utilizar e é muito
  234. 7:53subutilizado na realidade, que são os
  235. 7:55resources, tá? Então o que que são
  236. 7:57resources? Os resources eles permitem
  237. 7:59com que a gente consiga pegar dados
  238. 8:02pelos clientes para usar como contexto
  239. 8:04pelo LLM. Então vamos imaginar que os
  240. 8:06resources eles são como se fossem
  241. 8:08datasets. Eles são locais onde você
  242. 8:10consegue pegar informações que vão te
  243. 8:12ajudar a deixar, né, o seu prompt,
  244. 8:15deixar a utilização da sua muito mais
  245. 8:17inteligente, né? Ultimamente o que que a
  246. 8:19gente faz muito, né? os famosos rags,
  247. 8:21você pega tudo quanto é dado que você
  248. 8:24tem na sua empresa, você vetoriza tudo
  249. 8:26isso e quando você precisa de alguma
  250. 8:28informação, você faz uma busca nesse
  251. 8:30banco de dados utilizando o vetor, traz
  252. 8:32aquele pedaço de conteúdo que você acha
  253. 8:34que vai ser relevante e embeda ali no
  254. 8:36seu prompt, né? Então esse tipo de
  255. 8:39tarefa é extremamente custosa,
  256. 8:40desgastante, dá trabalho para caramba e
  257. 8:42com resources você não precisa
  258. 8:44necessariamente mais fazer isso. Isso
  259. 8:46muda o jogo completamente, inclusive
  260. 8:47como a forma que as pessoas estão
  261. 8:49trabalhando com inteligência artificial,
  262. 8:51como as empresas estão estruturando as
  263. 8:52suas arquiteturas e preparando os
  264. 8:54documentos e os modelos para conseguir
  265. 8:56trazer informações relevantes para
  266. 8:58aquilo que servem ali para elas. Os
  267. 9:00resources eles servem exatamente para
  268. 9:01isso. Basicamente o MCP ele vai ter como
  269. 9:04se fosse um cardápio de recursos onde
  270. 9:06ele pode pegar essas informações. Ah, eu
  271. 9:08preciso pegar os preços dos meus
  272. 9:09produtos, né? Então vai ter um end point
  273. 9:11ali pro MCP acessar e já trazer aquela
  274. 9:15tabela de produtos que ele precisa, né?
  275. 9:17Alha, eu preciso também pegar as imagens
  276. 9:20dos últimos balancetes que eu tive na
  277. 9:22empresa e que estão registradas em tal
  278. 9:24lugar. Então o seu LLM consegue entender
  279. 9:27essas coisas e a sua aplicação vai lá,
  280. 9:29consegue chamar, né, vamos dizer assim,
  281. 9:31essas imagens, pegar, colocar dentro do
  282. 9:33seu sistema. Então você consegue fazer
  283. 9:35isso para arquivos, você consegue fazer
  284. 9:36isso para imagem, você consegue fazer
  285. 9:38isso para banco de dados e tudo mais.
  286. 9:39Agora, entenda que tem uma diferença e
  287. 9:42que isso acaba gerando um pouco de
  288. 9:43confusão entre a diferença de tools e
  289. 9:46resources. Por quê? Porque uma tool, em
  290. 9:48tese, o que que ela pode fazer? Ela pode
  291. 9:50fazer uma chamada de API e pegar também
  292. 9:52a tabela de preços para mim, né? E tá
  293. 9:54tudo bem, maravilha, isso vai funcionar,
  294. 9:56mas a principal utilidade da TU é
  295. 9:59executar ações e não necessariamente
  296. 10:01apenas ficar lendo dados, mas também tem
  297. 10:03a coisa que muda completamente o jogo na
  298. 10:05diferença entre um e outro. Se você
  299. 10:07perceber a TU aqui, ela decide, né, faz
  300. 10:10com que o LLM decida quando chamar uma
  301. 10:12TU. Já no caso dos resources, quem
  302. 10:15determina quando aquele resource vai ser
  303. 10:17chamado vai ser, não vai ser o modelo,
  304. 10:20mas sim a sua aplicação que está
  305. 10:23utilizando a inteligência artificial. E
  306. 10:25isso faz muita diferença. Por exemplo,
  307. 10:27imagina que eu quero pegar, né, em algum
  308. 10:28momento tá tendo, sei lá, um chat ali e
  309. 10:30alguém pergunta o preço ali naquele
  310. 10:32momento. Eu posso pedir pro meu a minha
  311. 10:35ferramenta fazer uma chamada de API?
  312. 10:37Posso, mas nesse momento, quando eu sei
  313. 10:38que tem uma uma necessidade de um
  314. 10:40pedido, o que que eu posso falar fazer?
  315. 10:41Olha, ele tá pedindo produtos, né? Então
  316. 10:43eu tenho um cardápio aqui de todos os
  317. 10:44meus produtos. Então deixa eu ler esse
  318. 10:46resource, porque tá aqui a opção que
  319. 10:47esse cara tá querendo. Ou seja, eu posso
  320. 10:49escolher a dedo, dependendo da situação,
  321. 10:51qual resource eu vou utilizar naquele
  322. 10:54momento. E lembre-se, resource não é
  323. 10:56necessariamente apenas chamada de API.
  324. 10:58Resources são qualquer tipo de
  325. 11:00documento. Pode ser um Google Drive,
  326. 11:02pode ser um monte de arquivo no seu file
  327. 11:04system, pode ser o que for no final das
  328. 11:06contas, mas basicamente quem decide na
  329. 11:08hora de chamar o resource não é o LLM,
  330. 11:10não é o modelo e sim a sua aplicação que
  331. 11:12está utilizando aquele modelo. Fechou?
  332. 11:14Então aqui são exemplos de como que o
  333. 11:17como que são feitas essas chamadas, né,
  334. 11:19desses resources. Então tem um screen,
  335. 11:21eu posso passar minha imagem, eu posso
  336. 11:22passar um arquivo, eu posso passar
  337. 11:23inclusive até um banco de dados. Mas a
  338. 11:25grande sacada aqui é você entender essa
  339. 11:26diferença. Tool executação resource no
  340. 11:29final das contas eles provê fonte de
  341. 11:31dados e quem utiliza a chamada dessas
  342. 11:34fontes de dados é o client e não
  343. 11:36necessariamente o modelo que vai
  344. 11:38decidir. Fechou? E por último aqui e não
  345. 11:40menos importante, ah, nós temos algo
  346. 11:42chamado de prompts que também faz parte
  347. 11:45de componentes aqui da arquitetura de um
  348. 11:47MCP server. Como é que funciona os talos
  349. 11:49prompts? Galera, imagina que você tem
  350. 11:52situações que você sempre tem que usar o
  351. 11:54bendito mesmo prompt para resolver um
  352. 11:56determinado tipo de problema, né? E daí
  353. 11:58o que que a gente acaba ficar fazendo? O
  354. 11:59que a gente fica fazendo? Criando um
  355. 12:00monte de arquivinho ou colocando aquele
  356. 12:02prompt dentro do seu próprio sistema ou
  357. 12:04até mesmo, né? Copiando e colando nas
  358. 12:07suas ferramentas. Eu não sei se você tem
  359. 12:08o cloud desktop, por exemplo, mas se
  360. 12:10você perceber, se você tem um MCP que
  361. 12:12provê prompts, você vai perceber que
  362. 12:14você pode selecionar manualmente qual
  363. 12:16prompt que você quer utilizar para você
  364. 12:18não ter que ficar copiando e colando
  365. 12:19toda hora. Uma coisa interessante dos
  366. 12:21prompts, né, que é que quem escolhe qual
  367. 12:24prompt utilizar é o usuário. Então vamos
  368. 12:26lá. A quem escolhe, quem vai chamar vai
  369. 12:29ser o LLM. O resource quem escolhe é o
  370. 12:31client e o prompt quem escolhe é o
  371. 12:33usuário. Ou seja, o usuário ele tem ali
  372. 12:35os prompts que ele quer trabalhar
  373. 12:36naquele dia a dia. Galera, isso é muito
  374. 12:38útil. Ultimamente eu, do que que eu
  375. 12:40tenho copiado e colado diversos prompts
  376. 12:42que deu um trabalhão eu criar e daí de
  377. 12:44repente ah, é copia e cola, daí eu tenho
  378. 12:46meu Notion e tudo mais. Quando você tem
  379. 12:48um servidor MCP que tem todos os prompts
  380. 12:49que você mais usa e ainda mais conseguir
  381. 12:51colocar place holders, deixar esse
  382. 12:53prompt dinâmico, facilita muito, mas
  383. 12:55muito a sua vida. Imagina toda hora que
  384. 12:57você quer verificar um bug no seu
  385. 12:59software, você tem aquele prompt, você é
  386. 13:00um especialista em buscar bugs, eu quero
  387. 13:02que você faça isso, eu quero que você
  388. 13:03faça aquilo, eu preciso que você siga
  389. 13:04essas regras. Toda hora escrever isso
  390. 13:06faz com que você perda perca muito
  391. 13:07tempo, faz com que você fique copiando,
  392. 13:09colando ou escreva de qualquer jeito. Se
  393. 13:11você tem um servidor MCP que você tem
  394. 13:12diversos prompts promptos ali para você,
  395. 13:15você selecionou, atualizou alguns campos
  396. 13:17que são dinâmicos e ele já consegue
  397. 13:19trazer o prompt para você. Então,
  398. 13:20lembrando, galera, estamos falando de
  399. 13:22MCP, estamos falando de tools, resources
  400. 13:24e prompties. Então, isso aí é um dos
  401. 13:26pontos assim mais importantes aqui para
  402. 13:28vocês. Agora, a gente tem também como
  403. 13:30que funciona o formato de comunicação,
  404. 13:33tá? Ah, num servidor MCP, tá? Então aqui
  405. 13:36é uma das coisas que muda também bem o
  406. 13:38jogo e inclusive pode parecer confuso
  407. 13:41para algumas pessoas, mas quando você
  408. 13:43olhar agora vai ficar bem simples. A
  409. 13:44gente tem dois formatos principais de
  410. 13:46comunicação. Um formato de comunicação é
  411. 13:49utilizando o ST ST IiO, basicamente a a
  412. 13:53entrada padrão de input e output ali do
  413. 13:55seu sistema. O resumo da história é que
  414. 13:57quando você trabalha com SDIO, você está
  415. 14:00rodando, né, o seu servidor de MCP
  416. 14:03normalmente, localmente na sua máquina.
  417. 14:05ele trabalha ali como se ele fosse um
  418. 14:06processo, né? Então a chamada ele
  419. 14:09executa aquele processo, né? É enviado
  420. 14:11dados num determinado formato e é
  421. 14:13retornado dados ali naquele formato.
  422. 14:15Então se um dia você interagir, né, pelo
  423. 14:16console mesmo com o servidor MCP, ah,
  424. 14:19utilizando STIO, você vai consegue ver
  425. 14:21as respostas, os outputs que ele tá
  426. 14:23trabalhando ali para você. Então,
  427. 14:24normalmente você vai trabalhar com isso
  428. 14:26quando você vai trabalhar localmente, ou
  429. 14:28seja, o servidor MCP tá instalado na sua
  430. 14:30máquina e as mensagens elas são
  431. 14:31enviadas, recebidas utilizando o JSON
  432. 14:33RPC ali como padrão, tá? Então eu acho
  433. 14:36que 90%, 95% de todos os servidores MCPs
  434. 14:40que talvez você já tenha trabalhado ou
  435. 14:41que você já usou ou que você já viu tá
  436. 14:43utilizando esse formato aqui, tá? Por
  437. 14:46quê? Porque ele é mais simples. Você,
  438. 14:47muita gente utiliza, faz com TypeScript,
  439. 14:49então apenas roda um NPX e já executa
  440. 14:52esse tipo de coisa. Por outro lado,
  441. 14:54muitas vezes você vai precisar, né,
  442. 14:57trabalhar com MCP remoto, ou seja, eu
  443. 14:59tenho um serviço externo, né, de MCP que
  444. 15:02eu preciso me comunicar. Então, vamos
  445. 15:04imaginar que você tem a sua empresa,
  446. 15:05você criou um MCP externo e todo mundo
  447. 15:07que quer se conectar com a sua empresa e
  448. 15:09utilizando inteligência artificial pode
  449. 15:12fazer chamadas aí diretamente pro seu
  450. 15:13serviço remoto. E é aí que a gente tem a
  451. 15:16outra forma de comunicação que roda via
  452. 15:17HTTP, que é o SSE, né, que é o Server
  453. 15:20Cent Events, que é uma das formas assim
  454. 15:22bem bacanas de você conseguir se
  455. 15:23comunicar. Ele mantém conexão de client
  456. 15:26server, você vai conseguindo receber a
  457. 15:29as informações conforme você precisa.
  458. 15:31Não confunda Web Sockets com SSE, são
  459. 15:33coisas diferentes. SSE é unidirecional,
  460. 15:36web sockets é bidirecional, tá? Então,
  461. 15:39basicamente é essa pegada. Então, se
  462. 15:41você precisa algo remoto, você vai
  463. 15:42perceber que você vai precisar trabalhar
  464. 15:44com SSE. Tem um ponto aí que realmente é
  465. 15:47complexo. É muito mais fácil você criar
  466. 15:49uma aplicação local, a pessoa instala e
  467. 15:51sai executando do que você criar um
  468. 15:54serviço online, né, onde a pessoa acessa
  469. 15:56remotamente, ainda mais com SSE. Por
  470. 15:58quê? Porque você tem que se preocupar
  471. 15:59com segurança, você vai ter que se
  472. 16:00preocupar com rate limiting, você vai
  473. 16:02ter que ver como é que você faz com
  474. 16:03autenticação, com autorização, com uma
  475. 16:04pancada de coisa. Então, obviamente,
  476. 16:06quando a gente tá falando em criar um
  477. 16:08servidor MCP usando SSE, não é tão
  478. 16:11trivial assim, a não ser que você vai
  479. 16:13fazer uma do list, né, ou qualquer coisa
  480. 16:14desse tipo, que você não precise de
  481. 16:16absolutamente nada de segurança, mas
  482. 16:17como qualquer software, qualquer
  483. 16:19serviço, a web, você tem que ter todo um
  484. 16:22respaldo técnico de segurança, né, de
  485. 16:24boas práticas de desenvolvimento para
  486. 16:25você não fazer besteira e trazer, né,
  487. 16:27disponibilizar dados sensíveis ou
  488. 16:29qualquer coisa desse tipo ali da sua
  489. 16:30empresa. Então, como qualquer outra
  490. 16:32solução web, se você trabalhar com SSE,
  491. 16:35saiba que você tem que se preocupar bem
  492. 16:37mais aí com a parte de segurança. Não
  493. 16:38que o SDIO não tem que se preocupar com
  494. 16:40segurança, claro que tem, mas o nível de
  495. 16:41complexidade acaba sendo diferente. E eu
  496. 16:43vou te dar uma notícia triste, tá? Que é
  497. 16:46o seguinte, pelo menos no momento que eu
  498. 16:47tô gravando esse vídeo, meu, as
  499. 16:48documentações, as implementações que
  500. 16:50você vê sobre SSE são muito ruins. O que
  501. 16:54eu tô dizendo é que você, eu sofri
  502. 16:56miseravelmente para conseguir
  503. 16:57desenvolver alguns servidores MCPs
  504. 16:59usando SSE. gastei um mega tempo ah para
  505. 17:01descobrir eh os protocolos mudam, as
  506. 17:03versões do SDK muda, então ah, tá num
  507. 17:06momento aí meio cinzento para o SSE, mas
  508. 17:08sim, funciona, já existem serviços. O
  509. 17:10Copilot Studio, por exemplo, utiliza SSE
  510. 17:12para você conseguir se comunicar e
  511. 17:14utilizar. Bacana? Mas saiba que eu
  512. 17:16acredito que na maioria das vezes você
  513. 17:17vai ver servidores, MCPs locais. Agora
  514. 17:20tem um ponto que você tem que tomar
  515. 17:21muito cuidado, tá? E aqui fica
  516. 17:24ligado, você quando você tem um servidor
  517. 17:26MCP local na sua máquina, provavelmente
  518. 17:28você vai baixar esse servidor de alguém,
  519. 17:30né, de algum repositório do GitHub ou
  520. 17:32qualquer coisa desse tipo. O que que
  521. 17:33isso significa? Significa que se você
  522. 17:36não tiver confiança o suficiente, que
  523. 17:37aquele software ele não é, vamos dizer
  524. 17:39assim, pode fazer alguma besteira local
  525. 17:41no seu computador, ah, não instale, né?
  526. 17:44Vamos imaginar que eu crio um MCP
  527. 17:45malicioso aqui, que toda vez que você
  528. 17:46rodar, eu simplesmente vou sair apagando
  529. 17:48alguns arquivos do seu computador ou eu
  530. 17:50vou fazer alguma besteira aí no seu
  531. 17:51computador ou vou pegar informações
  532. 17:53sensíveis e jogar para algum outro
  533. 17:54lugar. Então toma cuidado porque você tá
  534. 17:55instalando um software no seu
  535. 17:57computador. Isso aí muda muito o jogo.
  536. 18:00Você pode ter um servidor MCP que vai
  537. 18:01fazer mal, que pode trabalhar de forma
  538. 18:03maliciosa. Então tome muito cuidado com
  539. 18:06quais são esses servidores. Fechou?
  540. 18:08Galera, essa era a visão geral que eu
  541. 18:09queria dar aqui para você sobre MCP, mas
  542. 18:11agora eu queria mostrar rapidamente um
  543. 18:13pouquinho de código e alguns locais onde
  544. 18:15você pode olhar diversos servidores MCPs
  545. 18:17para você sair utilizando ainda hoje,
  546. 18:19beleza? Então vamos lá, pessoal.
  547. 18:21Primeira coisa, vou mostrar um pouco de
  548. 18:22código aqui para você. Eu desenvolvi,
  549. 18:25tá, um servidor MCP extremamente
  550. 18:28simples, tá? Basicamente é o seguinte,
  551. 18:30eu tenho uma aplicação, tá? Que eu
  552. 18:33desenvolvi na linguagem GO. Legal?
  553. 18:35Então, se você olhar aqui, eu tenho um
  554. 18:36software feito em GO, que é um uma API
  555. 18:38simples aqui, uma API rest bem simples.
  556. 18:41Na realidade, ela só tem um add user e
  557. 18:43ela tem um list user, né? Ou seja, eu tô
  558. 18:46guardando os dados tudo aqui em memória.
  559. 18:47Então, eu tenho aqui um user com ID,
  560. 18:49nome, e-mail, eu tenho um local onde eu
  561. 18:50guardo um mapa de usuários na memória e
  562. 18:52daí eu consigo listar todos os usuários
  563. 18:53e eu consigo adicionar novos usuários. E
  564. 18:55eu disponibilizei isso aqui na minha
  565. 18:57porta 8081. Ou seja, eu tenho um web
  566. 18:59server servindo algumas informações aí
  567. 19:01pra gente. Pronto, e acabou. Basicamente
  568. 19:03é isso. Eu vou até reiniciar esse cara
  569. 19:04aqui. Eu acho que ele deve estar rodando
  570. 19:06aqui para mim. Á. Bom, nem sei onde que
  571. 19:08ele tá rodando. Eu sei que ele deve tá
  572. 19:09rodando em algum lugar. Beleza. Então
  573. 19:10aqui é um backend. Esse cara que poderia
  574. 19:12tá na internet, em qualquer web server e
  575. 19:14etc. Maravilha. Uma API qualquer. E aqui
  576. 19:17eu tenho o meu servidor MCP. Então o que
  577. 19:20que acontece? Esse servidor eu fiz aqui
  578. 19:23utilizando TypeScript, porque é uma
  579. 19:24linguagem bem neutra, mas existem
  580. 19:26diversas outras linguagens que t o SDK
  581. 19:29oficial para você trabalhar com MCP.
  582. 19:31Beleza? Então, como que funciona? Só
  583. 19:33para você entender como que eu separei.
  584. 19:35Eu tentei separar e deixar isso da forma
  585. 19:36mais simples possível de você entender.
  586. 19:38Eu criei um arquivo aqui chamado Users
  587. 19:40Tools, tá? Basicamente eu tô usando o
  588. 19:42Axos para eu conseguir fazer uma
  589. 19:43consulta externa. Criei uma interface
  590. 19:45bem simples com ID nome, e-mail,
  591. 19:46seguindo exatamente aquele servidor em
  592. 19:48go que eu acabei fazendo. E aqui eu
  593. 19:50tenho um get users, onde eu vou passar
  594. 19:52uma URL base, né, para eu conseguir
  595. 19:55fazer a consulta. E eu pego os
  596. 19:57resultados aqui para mim. Nem tô
  597. 19:58tratando os dados aqui, mas e eu tô
  598. 20:00retornando esses dados aqui pra gente.
  599. 20:03Basicamente é isso aqui. E aqui eu tenho
  600. 20:05um create user, ou seja, eu tô dando um
  601. 20:08post, né? E simplesmente vou enviar
  602. 20:11aqueles dados ali para mim e aí eu vou
  603. 20:13receber uma response de volta. Ou seja,
  604. 20:16se você perceber, pessoal, essa parte
  605. 20:18aqui não tem nada a ver com MCP. Você
  606. 20:19concorda comigo? O que eu tô querendo
  607. 20:21dizer, isso por que que eu tô querendo
  608. 20:22dizer para você? O que eu tô querendo
  609. 20:24trazer é que se você já tem um software
  610. 20:26hoje e ele tá bem organizado, isso
  611. 20:29significa que você basta colocar uma
  612. 20:31camada acima num servidor MCP e você
  613. 20:34pode reaproveitar todo o código que você
  614. 20:36já tem hoje para disponibilizar para
  615. 20:37esse servidor MCP. Então imagina que
  616. 20:39essa essas duas funções que eu tenho
  617. 20:41aqui de get user e create user, eu
  618. 20:43poderia fazer isso ser utilizado num
  619. 20:46servidor de RPC, eu poderia colocar num
  620. 20:48servidor HTTP, eu poderia utilizar essas
  621. 20:49funções para um monte de coisa que eu
  622. 20:51quisesse aqui, independente do
  623. 20:52protocolo, tá? Então é por isso que eu
  624. 20:54tô fazendo essa separação aqui para que
  625. 20:55você consiga ver, beleza? E agora,
  626. 20:57finalmente, a gente vai pro mcp.ts, né?
  627. 21:00Aqui, como que funciona? Se você
  628. 21:02perceber, eu tô utilizando, né, o SDK,
  629. 21:05né, que foi feito ali pela Antropic, que
  630. 21:07é a criadora aí do protocolo. E nesse
  631. 21:09caso aqui você vai perceber que eu tenho
  632. 21:12o MCP Server, o ST e STD IO Server
  633. 21:15Transport. Lembra que eu posso escolher
  634. 21:17tanto como SSE quanto SDIO? Então aqui
  635. 21:20eu tô utilizando STIO, eu tô usando o
  636. 21:23ZOD para ajudar eu formatar, vamos dizer
  637. 21:25assim, os meus JSONs. E aqui, obviamente
  638. 21:27eu tô utilizando aquela minha interface,
  639. 21:29o get users e o create user. Aqui para
  640. 21:31mim coloquei minha base API, que é onde
  641. 21:33eu tô chamando aquela minha aplicação em
  642. 21:34go. Então tudo aqui começa, se você for
  643. 21:36utilizar diretamente o SDK, de uma forma
  644. 21:39bem simples, que é o quê? Eu vou criar
  645. 21:40uma nova instância de um servidor MCP.
  646. 21:42Tem uma coisa importante aqui para você
  647. 21:44também. Essa nova instância, ela tá
  648. 21:45criada aí de forma bem simples, vamos
  649. 21:47dizer assim. Por quê? Porque se você
  650. 21:49tiver um servidor onde você tá
  651. 21:50trabalhando com prompts, que você tá
  652. 21:52trabalhando com resources, que você tá
  653. 21:53trabalhando com tools, você tem uma
  654. 21:54opção ali de você adicionar mais
  655. 21:56informações, inclusive a parte de
  656. 21:58capabilities, que na realidade você fala
  657. 21:59o que que esse servidor tem a capacidade
  658. 22:02de fazer. E ali você vai especificar o
  659. 22:03que ele pode fazer, tá? Agora, o que que
  660. 22:06a gente faz aqui? Eu vou registrar as
  661. 22:09minhas ferramentas. Então, eu criei uma
  662. 22:10ferramenta de get users. Então, tô
  663. 22:12falando aqui, ó, server, né, que é esse
  664. 22:13cara que eu acabei de criar. Tool get
  665. 22:16users. O get users, eu não preciso de
  666. 22:17nenhum parâmetro para passar, porque eu
  667. 22:19tô simplesmente listando os meus
  668. 22:21usuários. E aqui eu tô falando como que
  669. 22:22eu consigo obter os meus usuários, né?
  670. 22:25Então ele tem aqui uma função onde ele
  671. 22:27vai dar um get users basicamente pra
  672. 22:29gente e o nosso retorno vai ser dentro
  673. 22:32de
  674. 22:33content e aqui com um JSON aqui
  675. 22:36retornando pra gente. Então dessa forma
  676. 22:37aqui é simplesmente como que eu registro
  677. 22:39um novo usuário. Agora a gente tem a
  678. 22:42segunda ferramenta nossa, que ela é um
  679. 22:43pouquinho diferente, mas não muda nada
  680. 22:45de forma geral. que é o seguinte, eu vou
  681. 22:47registrar uma nova ferramenta que é
  682. 22:48server. Onde eu tenho aqui para mim um
  683. 22:50create user. No caso do create user, eu
  684. 22:53preciso ter os parâmetros que vão ser
  685. 22:55preenchidos, porque se eu não fizer
  686. 22:57isso, né, ah, não vai funcionar. Então
  687. 23:00aqui eu estou definindo um esquema
  688. 23:02básico. E nesse create user, eu vou, tô
  689. 23:04definindo que eu vou ter que ter um
  690. 23:05objeto de usuário que vai ter um ID nome
  691. 23:07email. Esse parâmetro aqui, né? Esses
  692. 23:09parâmetros aqui são os parâmetros que o
  693. 23:11client MCP vai ter que preencher para
  694. 23:14fazer a chamada do meu do meu create
  695. 23:16user, tá? Então, se eu escrever lá, crie
  696. 23:18um novo usuário com o ID1, com o nome
  697. 23:21Wesley, com e-mail [email protected], o que que
  698. 23:23ele o que que a LLM vai fazer? Vai
  699. 23:25chamar a tu create user. Daí ela vai
  700. 23:26falar: "Ah, ele falou o ID um. Então eu
  701. 23:28vou preencher o campo ID. Ele falou o
  702. 23:29nome, eu vou preencher o nome, eu vou,
  703. 23:31eu falei, ele falou e-mail, eu vou
  704. 23:32preencher o e-mail. Porque se a gente,
  705. 23:34se a, se a LLM, né, não preencher isso
  706. 23:35pra gente, a gente não vai conseguir
  707. 23:36criar o usuário. Então aqui é como a
  708. 23:38gente define, define o o a estrutura de
  709. 23:40objetos que vão ter que ser passadas ali
  710. 23:42por parâmetro pra gente. Fechou? Então
  711. 23:44isso aqui é uma forma de você conseguir
  712. 23:46olhar. Agora fora isso, daí não muda
  713. 23:49muita coisa. eu crio um novo usuário
  714. 23:50passando API e o usuário, né, o user que
  715. 23:53foi passado por parâmetro aqui paraa
  716. 23:55gente, né, que em tese vai satisfazer.
  717. 23:57Óbvio que eu não tô fazendo um monte de
  718. 23:58verificação aqui. E aí, né, dando tudo
  719. 24:01certo, eu vou retornar um texto e falar
  720. 24:02que o usuário foi criado com sucesso ali
  721. 24:04para mim. E tá aqui registrada essas
  722. 24:06minhas duas ferramentas. Para finalizar,
  723. 24:08eu vou falar como que eu configuro, como
  724. 24:11que vai ser o meio de transporte. Então,
  725. 24:12tô falando com ST de IO Server Transport
  726. 24:14e eu vou pedir pro meu servidor que eu
  727. 24:16instanciei aqui em cima, né, e que eu
  728. 24:18registrei as minhas tools, a se conectar
  729. 24:21através desse meio de transporte. Se
  730. 24:23você tiver trabalhando com SSE, você vai
  731. 24:25ter que ter um servidor web, né, que tem
  732. 24:27um end point de
  733. 24:28SSE/Mages normalmente e você vai usar
  734. 24:30esse cara como meio de transporte.
  735. 24:32Basicamente essa a ideia quando você tá
  736. 24:33trabalhando com SSE. Nesse caso aqui,
  737. 24:35ele é bem mais simples aqui. Agora, qual
  738. 24:37que é a utilização prática da gente
  739. 24:39fazer isso aqui nesse momento?
  740. 24:41Basicamente, com esses dois arquivos, de
  741. 24:44uma forma bem simples, eu consigo
  742. 24:46utilizar ele em qualquer local, né,
  743. 24:48qualquer host que implemente cliente de
  744. 24:51MCP. Nesse momento eu tô no meu cursor,
  745. 24:53né? E o cursor ele tem uma parte apenas
  746. 24:56para MCP e eu vou mostrar esse cara
  747. 24:57sendo utilizado. Só para você saber, eu
  748. 24:59já compilei, né? Eu dei um TSC, ele
  749. 25:01gerou esses meus arquivos aqui, ó, um
  750. 25:03JS. E aí, o que que eu vou fazer? Eu vou
  751. 25:05aqui no meu cursor, vou em settings,
  752. 25:07cursor settings aqui para mim. E se você
  753. 25:09olhar aqui, eu tenho a parte de MCPs.
  754. 25:11Quando você olhar essa minha parte de
  755. 25:13MCPs, você vai ver que eu tenho alguns
  756. 25:14MCP servers, porque eu já deixei aqui
  757. 25:16cadastrado para você. Um MCP server aqui
  758. 25:18é o do Docker, onde se você olhar, eu
  759. 25:20tenho esse monte de ferramenta que eu
  760. 25:21posso trabalhar, ou seja, eu consigo
  761. 25:22listar contêiner, criar contêiner, rodar
  762. 25:24contêiner, recriar contêiner e tudo
  763. 25:25mais. Eu tenho um do Postress, onde eu
  764. 25:28consigo através do MCP fazer consultas
  765. 25:32num banco de dados postagers. E se você
  766. 25:34olhar o comando que ele tá executando,
  767. 25:36nesse caso do Docker, é um Docker run,
  768. 25:38né? Ah, aqui pra gente e existe, né, uma
  769. 25:40imagem Docker chamada MCP Server Docker
  770. 25:43Latest, onde a gente precisa passar o
  771. 25:44volume do do socket do do Docker. Então,
  772. 25:47perceba que você pode usar MCPs chamando
  773. 25:49Docker. Então, se você tem Docker no seu
  774. 25:51computador, você pode usar MCPs ah que
  775. 25:53tem Docker files ou que estão
  776. 25:55registrados lá no Docker Hub. Beleza? No
  777. 25:57caso do Postgis, ele já tá trabalhando
  778. 25:58aqui com NPX, então ele tá sendo feito
  779. 26:00ali em tá publicado ali no npm da vida.
  780. 26:03e você consegue fazer execução. E aqui
  781. 26:05eu tenho o MCP users, que foi o MCP que
  782. 26:08eu acabei de mostrar aqui para vocês,
  783. 26:10onde eu tô executando um comando node
  784. 26:12diretamente, passei, né, o caminho do
  785. 26:14meu computador até o meu arquivo
  786. 26:16JavaScript, tá? Wesley, mas que feio,
  787. 26:18cara. É assim, tá rodando o local. Se eu
  788. 26:20quisesse publicar isso no pacote npm ou
  789. 26:22fazer qualquer outra coisa, eu poderia
  790. 26:24fazer e fazer a chamada do comando. O
  791. 26:25importante é que você tem que fazer a
  792. 26:27execução aí para você. Ah, como é que é
  793. 26:30registrado isso, né? Se você dá um
  794. 26:31editar aqui, você vai ver que ele tem um
  795. 26:32arquivo JSON e no JSON você nomeia o
  796. 26:35nome do seu servidor, fala qual é o
  797. 26:36comando para executar e os argumentos.
  798. 26:38Então é exatamente isso que tá
  799. 26:39acontecendo aqui, ó. MCP user, o meu
  800. 26:41comando é node, o meu argumento é o meu
  801. 26:43arquivo JavaScript, tá? Agora, como que
  802. 26:45eu vejo essas coisas funcionando? Se eu
  803. 26:47chegar aqui, ó, no meu no meu, ô meu
  804. 26:52Deus do céu, no meu cursor, eu posso
  805. 26:53perguntar o seguinte: "Ah, liste todos
  806. 26:56os os
  807. 26:58users usando o MCP users", tá? Tô tô
  808. 27:02tentando ser mais específico pra gente
  809. 27:04evitar outros erros aqui, mas ah, outra
  810. 27:07coisa, tá? Eu tô aqui com o GPT 4.1 e
  811. 27:10esse cara aqui junto com Cursor, ele não
  812. 27:11suporta MCP. Eu vou mudar aqui pro cloud
  813. 27:14Sonet aqui nesse caso porque ele dá um
  814. 27:16tropic que implementou MCP, então o MCP
  815. 27:18funciona aqui com ele e eu vou aqui, ó,
  816. 27:20vou listar todos os usuários com o
  817. 27:22serviço MCP users. Então se você olhar
  818. 27:23aqui, ó, olha o que ele fez. Ele fez uma
  819. 27:25chamada para uma tool chamada get users.
  820. 27:27Se você olhar essa tool, ele vai ver os
  821. 27:29parâmetros que foram passados. Aqui a
  822. 27:31gente combinou, né, que a gente não ia
  823. 27:32precisar de nenhum parâmetro para listar
  824. 27:35os usuários, né? Então olha aqui, ó. Eu
  825. 27:37não preciso de nenhum parâmetro. E é por
  826. 27:38isso que eu tenho nenhum parâmetro aqui.
  827. 27:40E aqui eu peguei os resultados que ele
  828. 27:42trouxe. E aqui, né, eu consigo ter o
  829. 27:44resultado aqui para mim. Basicamente é
  830. 27:46isso. Se eu chegar agora aqui para ele,
  831. 27:48fala o seguinte: "Olha, crie um novo
  832. 27:50user com um ID 2000 com o nome de
  833. 27:56Roberto e o e-mail é [email protected].
  834. 28:01Se eu fizer isso aqui, vamos ver o que
  835. 28:02que ele vai tentar fazer nesse momento.
  836. 28:05Ele vai criar um novo usuário. Chamou
  837. 28:06aqui um MCP tool Create User e deu aqui
  838. 28:09usuário criado com sucesso ID2000
  839. 28:11Roberto e e-mail [email protected]. Como que eu
  840. 28:14sei o que que ele fez? Automaticamente
  841. 28:17ele preencheu aqui para mim os
  842. 28:19parâmetros que eu precisava e que eu
  843. 28:21defini exatamente aqui no meu servidor
  844. 28:23MCP. Se você olhar aqui no meu create
  845. 28:25user, eu defini exatamente essa
  846. 28:27estrutura e a minha IA, ela conseguiu
  847. 28:29ler, entender essa estrutura e preencher
  848. 28:31os campos da forma como eu tava
  849. 28:32querendo. Então a partir daí eu consigo
  850. 28:34ter esse tipo de resultado. Obviamente
  851. 28:36eu posso perguntar: "Liste os users
  852. 28:39novamente para eu ver se o
  853. 28:43Roberto está
  854. 28:45lá". E agora ele chamou os users
  855. 28:48novamente e se Deus quiser, o Roberto
  856. 28:49vai tá aqui, ó, [email protected].
  857. 28:52Ou seja, já dá paraa gente perceber as
  858. 28:54possibilidades que a gente tem, porque
  859. 28:55você poderia estar fazendo isso na sua
  860. 28:57própria API ou executando diversas
  861. 28:58coisas, mas eu posso chegar aqui para
  862. 29:00mim e falar assim, ó, agora liste para
  863. 29:02mim todos os contêiners Docker que estão
  864. 29:06rodando na minha máquina. Vamos ver se
  865. 29:08ele consegue se tocar que existe um MCP
  866. 29:10para isso. Mas olha só, ele chamou uma
  867. 29:12TU chamada list containers e agora ele
  868. 29:13tá trazendo todos os contêiners que ele
  869. 29:15encontrou e ele só tá fazendo isso por
  870. 29:17conta do MCP doer. Se eu chegar e
  871. 29:19perguntar para para mim, ah, veja quais
  872. 29:23são as tabelas do banco de dados que eu
  873. 29:27tenho no Postgress. Vamos ver se ele
  874. 29:29consegue trazer essa parada aqui para
  875. 29:30mim. Vou verificar. Ele chamou uma uma s
  876. 29:34uma tool query lá do meu postg, onde ele
  877. 29:36pegou esse resultado. Aí eu vou
  878. 29:38perguntar aqui para ele ah, quantos
  879. 29:41registros eu tenho em invoices?
  880. 29:45Agora ele vai fazer uma query, vai fazer
  881. 29:48uma busca e trouxe aqui, ó, eu tenho
  882. 29:49cinco registros, seis registros na
  883. 29:51tabela invoices. Então, é basicamente
  884. 29:52por baixo do pano ele passou um
  885. 29:54parâmetro que é select count from
  886. 29:56invoices. Então, esse tipo de coisa,
  887. 29:58galera, muda, muda, mas bastante o jogo
  888. 30:00mesmo na hora que você for trabalhar. E
  889. 30:02aí você tem opções ali fantásticas de
  890. 30:05possibilidades para você utilizar MCP aí
  891. 30:06no seu dia a dia. Agora, existem muitos
  892. 30:09MCPs que provavelmente você já gostou,
  893. 30:11sei lá, o Docker, o Post, mas existem
  894. 30:13muito mais feitos pela comunidade, feito
  895. 30:15por um monte de gente, inclusive feito
  896. 30:16por empresas que têm a intenção de fazer
  897. 30:18com que IAs possam se comunicar com
  898. 30:20elas, tá? Então, se você chegar aqui, ó,
  899. 30:23eu separei alguns links para vocês, que
  900. 30:25é o seguinte. Ah, oficialmente, tá, no
  901. 30:28site, no GitHub oficial aqui do Model
  902. 30:31Context Protocol com servers, eh, aqui
  903. 30:33ele dá ideia, né, dos servidores de
  904. 30:35referência e alguns third parties
  905. 30:37servers que a gente tem por aqui. Então,
  906. 30:39se você olhar, tem servidor de tudo
  907. 30:41quanta coisa. Então, tem servidor ah
  908. 30:43para fazer busca usando a API do Brave,
  909. 30:45tem servidor para fetch pegar dados de
  910. 30:48internet, ah, tem file system, Git,
  911. 30:50GitHub, e Google Drive, Google Maps,
  912. 30:52Posties, Memory, ah, Reds. Então, tem
  913. 30:55muita coisa pronta, mas também tem
  914. 30:57servidores, MCPs bem interessantes que
  915. 30:58são de serviços que a gente acaba
  916. 30:59usando, sei lá, um MCP da Cloudflare, um
  917. 31:01MCP ah do Heroco, do Elastic Search, um
  918. 31:05MCP do Grafana, para eu ver os logs da
  919. 31:07minha aplicação conforme as coisas estão
  920. 31:09rodando, né? Então assim, tem da Jet
  921. 31:11Brbranch, tem Mayogun, tem do Make, tem
  922. 31:14muita opção aqui para você trabalhar. O
  923. 31:16mais interessante também é que
  924. 31:17obviamente se eles estão num
  925. 31:19gitubo de como que ele foi desenvolvido.
  926. 31:22Vou clicar aqui por exemplo no Reds. Se
  927. 31:23eu clicar aqui e pode ver que ele
  928. 31:25trabalha através de Docker, pode
  929. 31:27trabalhar e ele tem um index. Que mostra
  930. 31:29como que esse servidor ele foi feito.
  931. 31:30Aparentemente bem simples mesmo aqui,
  932. 31:32né? Então, ah, aqui é uma forma de como
  933. 31:34que ele trabalhou. E se você perceber,
  934. 31:37não é difícil, mas assim, essa opção
  935. 31:40aqui do Reds, ela tá bem simplória.
  936. 31:41Obviamente poderia ser muito melhor, mas
  937. 31:43você já consegue pegar informações que
  938. 31:45são importantes de gets sets e várias
  939. 31:47coisas do Reds aqui para você. Então,
  940. 31:49vale a pena você explorar esses
  941. 31:50repositórios do GitHub, não apenas para
  942. 31:52você saber que existem esse MCPs, mas
  943. 31:55principalmente para vocês conseguirem
  944. 31:56ver os scripts e usar como referências
  945. 31:57para vocês poderem criar os seus
  946. 31:59próprios MCPs. Tem dois sites bem
  947. 32:01interessantes que acabam acabaram
  948. 32:03virando como os repositórios que as
  949. 32:05pessoas cadastram MCPs, tá? Eu gosto
  950. 32:07bastante desse cara aqui que chama
  951. 32:08Glama. Se você entra nesse glama, você
  952. 32:11vai perceber que existem ali, ó,
  953. 32:14categorias de servidores MCPs, né?
  954. 32:17servidores ah que são bastante úteis
  955. 32:20assim até com connect de MCP Server. Tem
  956. 32:23muita coisa interessante, você consegue
  957. 32:25na realidade buscando, né? Então, por
  958. 32:27exemplo, Golo, tem até um MCP com GO
  959. 32:28aqui. Deixa eu olhar. Go. Opa,
  960. 32:31cliquinho. Agora eu fiz besteira aqui.
  961. 32:32Eu tô filtrando por GO. Basicamente, MCP
  962. 32:35package version. Cara, sei lá, eu nem
  963. 32:36sei onde que eu cliquei já mais agora. O
  964. 32:38fato aqui que é importante vocês
  965. 32:40conseguirem olhar é que existem, né,
  966. 32:42diversas opções de server que vocês
  967. 32:44podem dar uma olhada. Mas novamente,
  968. 32:46pessoal, tome muito, mas muito cuidado
  969. 32:49mesmo ah na hora de instalar esses caras
  970. 32:51nas suas máquinas, porque a maioria
  971. 32:53deles rodam local e se roda local aí a
  972. 32:55coisa fica um pouco mais complicada.
  973. 32:57Então se você puder, sempre tente pegar,
  974. 32:59né, servidores MCPs que são oficiais,
  975. 33:02porque você já tem um nível de
  976. 33:03segurança, né, muito maior. Então você
  977. 33:05clica aqui, ele traz para você como é
  978. 33:06que funciona para você se conectar na
  979. 33:08Redcloud, como é que são as opções e
  980. 33:10tudo mais que você precisa saber para
  981. 33:11utilizar esse MCP. Ele traz todos os
  982. 33:13guias para você utilizar. Então,
  983. 33:15novamente, tá, perceba que há um risco
  984. 33:18grande de você instalar um MCP que é
  985. 33:21malicioso. Tome muito cuidado, mas isso
  986. 33:23já acontece com qualquer pacote do Node
  987. 33:25que você vai utilizar, mas é apenas um
  988. 33:26alerta. Fechou? Agora, galera, eu queria
  989. 33:30muito saber aí de vocês quais são os
  990. 33:32servidores MCPs que você mais utiliza.
  991. 33:34Ah, você já criou seu próprio servidor
  992. 33:36MCP? Para que que você tá utilizando? E
  993. 33:37quais são as possibilidades que você
  994. 33:39acha que isso aí vai trazer no nosso dia
  995. 33:41a dia aí com desenvolvimento, tá? Então,
  996. 33:43espero que você tenham gostado desse
  997. 33:44vídeo, né? Ele ficou meio grandinho, mas
  998. 33:46eu acho que deu para ter uma visão um
  999. 33:47pouco mais geral de alguns componentes
  1000. 33:49que poucas pessoas às vezes acabam
  1001. 33:50sabendo que existem aí em servidores,
  1002. 33:52MCPs. Fechou? Um grande abraço aí para
  1003. 33:54você, tudo de bom e até o nosso próximo
  1004. 33:55vídeo. Eu queria muito saber aí de vocês
  1005. 33:58quais são os servidores MCPs que você
  1006. 34:00mais utiliza. Ah, você já criou seu
  1007. 34:03próprio servidor MCP? Para que que você
  1008. 34:05tá utilizando? E quais são as
  1009. 34:07possibilidades que você acha que isso aí
  1010. 34:08vai trazer no nosso dia a dia aí com o
  1011. 34:11desenvolvimento? Tá? Então espero que
  1012. 34:13você tenha gostado desse vídeo, né? Ele
  1013. 34:15ficou meio grandinho, mas eu acho que
  1014. 34:17deu para ter uma visão um pouco mais
  1015. 34:19geral de alguns componentes que poucas
  1016. 34:21pessoas às vezes acabam sabendo que
  1017. 34:23existem aí em servidores, MCPs. Fechou?
  1018. 34:26Um grande abraço aí para você, tudo de
  1019. 34:28bom e até o nosso próximo
  1020. 34:31[Música]
  1021. 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.