Bem-vindas e bem-vindos a mais este curso na Alura. Eu sou o Ricardo Bugan e serei o instrutor neste curso.
Neste curso, vamos criar uma nova interface de usuário para a Emacs Locadora. Este projeto já aparece em alguns cursos da Alura, e, desta vez, vamos criar uma interface de usuário, mas não como camada de apresentação nem como aplicativo para dispositivos móveis. Vamos desenvolver uma interface de usuário para nossos agentes.
Após criarmos a interface, começamos a testá-la com o agente e agora temos um MCP para realizar reservas. O agente efetuou uma reserva para nós de um Onix. Em nossas reservas, consta um Onix LTZ 1.0, com a reserva efetuada.
Decidimos alterar a solicitação: não queremos um Onix; queremos um GPIO N-Gage. Já deixamos a instrução (prompt) preparada: “Cancele a reserva do Onix, informando o ID da reserva, e efetue uma reserva de um GPIO N-Gage.” O agente executará essa solicitação e organizará as reservas.
Na nossa interface do front-end, devemos ver a atualização em tempo real conforme o agente executa as ações. Agora, o Renegade já está no lugar onde estava o ONIX. Nosso agente executou as duas operações: cancelou nossa reserva do ONIX e criou nossa reserva do Renegade. Tudo isso utilizando uma ferramenta do MCP que nós criamos.
Em nossos MCPs, temos o MCP da Hermex com as ferramentas disponíveis: GetCarrosDisponíveis, GetLocalizações, GetSeguros, CreateReserva e CancelReserva. Essas ferramentas permitem ao agente interagir com a nossa Hermex locadora.
É isso que vamos criar neste curso e é isso que vamos entender: como funciona o protocolo MCP, para que ele serve — a Clara já apresentou uma boa ideia de seu propósito —, quais detalhes devemos considerar, como lidar com ele e quais esquemas precisaremos criar. Tudo isso para desenvolver uma nova interface de usuário para o nosso produto.
Para começar o curso, vamos entender o que vamos abordar e a importância do tema que estamos trazendo.
Se você clicou neste curso, atua no mundo de desenvolvimento, na área de produto ou simplesmente acompanha o cenário atual, provavelmente já está usando, já usou ou já foi solicitado na sua empresa a utilizar alguma inteligência artificial. Isso ocorre porque, cada vez mais, as empresas pedem que nós, enquanto pessoas que trabalham nessas organizações em diversas áreas, utilizemos IAs para realizar várias tarefas, com a promessa de aumentar a eficiência e a produtividade no nosso dia a dia.
Ao utilizarmos essas IAs, costumamos personalizar o nosso assistente com ferramentas que usamos diariamente. Estamos com o Claude aberto, mas nosso trabalho não se limita ao assistente. Muitos desses assistentes operam em pastas na nossa máquina. Assim, temos a possibilidade de personalizar esse assistente. Na parte de conectores, há uma série de ferramentas às quais concedemos acesso para que o assistente possa agir em nosso lugar nessas ferramentas.
Temos, por exemplo, o n8n, o Notion, o Figma, muito conhecido por quem trabalha com front-end (camada de interface), o Supabase, útil para a área de produto criar back-end (camada de servidor) de forma rápida, ou até para quem desenvolve e não quer se preocupar com back-end (camada de servidor), o Postman, para quando estamos desenvolvendo nosso back-end (camada de servidor), o Miro, o Bright Data, o ClickUp, o Gmail, entre várias outras ferramentas que podemos utilizar.
Todas essas ferramentas funcionam como uma interface do nosso agente com a própria ferramenta, permitindo que ele altere o estado das informações nelas.
Talvez já tenhamos nos perguntado: como o assistente faz isso? Ele faz isso por meio de servidores MCP, utilizando um protocolo criado especificamente para a interface entre o assistente e nossas ferramentas.
Quando entramos no Figma, por exemplo, encontramos o Figma MCP. Ele possui um servidor MCP que ajuda a obter contexto do Figma e nos fornece ferramentas. Essas ferramentas estão organizadas em categorias:
A proposta deste curso é explorar esse protocolo no navegador, acessando a página oficial modelcontextprotocol.io, onde encontramos a documentação da especificação do protocolo. Vamos pensar em como implementar para que você tenha um serviço próprio que rode com o assistente, avaliando como usar esse protocolo para oferecer uma interface mais simples para um assistente em nosso produto personalizado.
Se refletirmos sobre o ecossistema atual, o Supabase já existia antes dos agentes; já era amplamente utilizado. O Lovable, por sua vez, não existia antes; surgiu junto com os MCPs e com os avanços em IA e, recentemente, criou seu próprio MCP. Assim, é possível alterar as configurações do Lovable por meio de qualquer assistente que você preferir, sem depender necessariamente do modelo que ele fornece.
O Figma é outro software que já existia antes da IA, mas que passou a oferecer acesso via MCP para que a IA possa buscar contexto e apoiar o desenvolvimento, com foco principalmente em front-end (interface). Com isso, conseguimos obter contexto, acessar os assets (recursos), acessar as variáveis do nosso design e programar de maneira muito mais simples.
Qual é o seu produto? E como uma IA, um assistente, pode usar o seu produto para facilitar a vida da sua pessoa cliente?
A partir disso, vamos entender como usar esse protocolo para desenvolver um servidor próprio, personalizado para nosso produto, e que você pode fornecer para suas pessoas clientes.
É aqui que vamos começar o curso: vamos discutir esse protocolo e, em seguida, criar nosso servidor.
[♪ Música de encerramento ♪]
Agora que falamos sobre por que adotar o MCP e quais são suas vantagens, exploramos possibilidades e vimos ferramentas como Figma, Breach Data, Lovable e outras. Vamos entender como funciona o nosso protocolo MCP, identificando os detalhes em nível mais alto para observar seu funcionamento na prática.
A ideia do MCP parte da base com os LLMs (Modelos de Linguagem de Grande Escala). Os LLMs foram a primeira parte da infraestrutura criada para os agentes, antes mesmo de existirem agentes de área; inicialmente, basicamente só havia o chat, o ChatGPT. Em seguida, introduzimos a camada de Harness (camada de controle), um “guia” que controla como a requisição chega ao LLM e como as respostas são enviadas. A partir dela, surgiram as aplicações que temos hoje, como Cloud Code, Watch Gravity, Codex e outras.
Temos, então, a camada de agentes, com regras e skills (competências), para organizar como esses LLMs trabalham dentro do nosso projeto. Porém, precisamos da camada MCP para dar acesso ao mundo real e permitir que tarefas sejam executadas em nosso lugar. Esse é o objetivo central.
Do outro lado, muitas vezes já trabalhamos em uma empresa que tem um produto ou serviço: há um site, uma API, e queremos oferecer um serviço que, além de atender o front-end (camada de interface) na aplicação web, a aplicação mobile (móvel) e o sistema de back-office (retaguarda administrativa) para configurações do serviço, também atenda agentes dentro desse ecossistema. Ou seja, o serviço e o produto já existem, mas queremos que os agentes sejam capazes de acessá-los diretamente, sem depender de intermediações manuais via APIs nem de skills que descrevam rotas REST e sua orquestração.
Como atendemos nossos agentes da melhor maneira? Poderíamos expor tudo via REST, mas não é o que buscamos aqui. REST é um estilo com protocolo e padrões de projeto por trás, com convenções de organização. No entanto, há um ponto central que falta muito em REST: a descoberta de rotas. Sempre que há uma API REST em funcionamento, é necessário saber previamente quais rotas existem e como foram nomeadas. Apesar de convenções mais difundidas, as empresas variam a nomenclatura e a organização desses padrões. Essas pequenas variações impedem uma descoberta padronizada de rotas.
Para os agentes, há ainda a falta de descrição explícita da funcionalidade. Tomando o exemplo que usaremos no curso, “Max Locadora de Veículos”, ainda que saibamos que existe uma rota “Veículos” e que possamos realizar operações como GET, PUT, POST e PATCH nessa rota, continuamos sem clareza sobre ações específicas. Em REST, podemos seguir um padrão geral, mas sempre existem particularidades que não ficam auto-organizadas nem facilmente descobertas.
Se quisermos alugar um veículo, por exemplo, poderíamos ter uma rota REST como Veículos/ID/locacao, representando uma ação aplicada a um veículo específico. Essa ação não fica automaticamente evidente apenas pela existência de uma rota “Veículos” com métodos genéricos; ela exige uma rota e uma semântica específicas, o que reforça a necessidade de uma camada como o MCP para descrever capacidades, permitir descoberta e expor funcionalidades de forma clara aos agentes dentro do nosso ecossistema.
Essa rota pode até existir, mas em que medida nosso assistente conseguirá alcançá-la e saber quando utilizá-la? Esse é o problema que temos com o REST: a descoberta de rotas não é eficiente, e não dispomos de uma forma simples para o assistente, nosso LLM, saber quando usar cada rota. Tudo isso ocorre por causa de implementações personalizadas para cada serviço.
Do lado das empresas, se temos vários serviços que queremos utilizar com nosso agente, precisaremos criar skills (habilidades) para todos eles. Se quisermos usar o Figma, teremos de criar uma habilidade de como utilizar a API do Figma. Se quisermos usar o GitHub, teremos de criar uma habilidade de como utilizar a API do GitHub. Se a API mudar, a habilidade precisa mudar junto. Isso torna a manutenção mais difícil.
A solução é a criação de um servidor MCP, uma plataforma que atenda diretamente esses agentes. Esse protocolo possui algumas partes. Começamos com nosso LLM, o modelo de linguagem, conectado a um MCP Client. Para nós, durante o curso, podemos considerar que será o Harnett, o Claude Code, o Antigravity, o Codex, o Cursor e assim por diante. Nosso MCP Client já está desenvolvido e embutido nessas ferramentas. Inclusive, quando estávamos com o Claude aberto, ele já permite conectar a diversos MCPs. Portanto, não precisamos nos preocupar com o cliente.
Do outro lado, esse cliente precisará se comunicar com nosso servidor. Esse servidor deve disponibilizar ferramentas para nosso LLM acessar nossa API. Assim, do lado do cliente, o cliente dialoga com nosso LLM; do lado do servidor, o servidor registra as ferramentas que podemos usar. Toda essa comunicação ocorre por meio do protocolo JSON-RPC. Toda a entrada e saída de informações — isto é, input (entrada) e output (saída) — entre o servidor e o cliente, bem como a forma como isso chega ao host (máquina hospedeira) e se cadastra nas ferramentas, baseia-se nesse protocolo de comunicação, o JSON-RPC. Precisamos tomar cuidado, pois esse formato de comunicação estará em execução em segundo plano, por trás do que estivermos fazendo.
Há ainda uma camada de comunicação web (rede), porque o cliente pode estar em qualquer lugar do mundo e o servidor estará hospedado em algum provedor, como Azure ou AWS. Para que a comunicação entre o computador do cliente e o servidor funcione, há a camada de internet no meio. Sobre essa camada de internet, teremos o protocolo de comunicação JSON-RPC. Precisamos observar esse ponto com atenção, e o veremos em mais detalhes.
Nosso objetivo é fornecer ao agente ferramentas preparadas e prontas para que saiba quando e como utilizar cada uma delas, integrando com nossos serviços e com nossa API, possibilitando que ele realize o trabalho necessário em nosso lugar. É por isso que vamos criar um MCP; é onde queremos chegar. Usaremos a AMX Locadora de Veículos como exemplo para seguirmos este projeto.
O curso MCP Server com TypeScript: adaptando sistemas para agentes autônomos possui 129 minutos de vídeos, em um total de 43 atividades. Gostou? Conheça nossos outros cursos de Engenharia de LLMs & Agentes em Inteligência Artificial, ou leia nossos artigos de Inteligência Artificial.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
O Plano Plus evoluiu: agora com Luri para impulsionar sua carreira com os melhores cursos e acesso à maior comunidade tech.
2 anos de Alura
Matricule-se no plano PLUS 24 e garanta:
Jornada de estudos progressiva que te guia desde os fundamentos até a atuação prática. Você acompanha sua evolução, entende os próximos passos e se aprofunda nos conteúdos com quem é referência no mercado.
Back-end, Dados, Front-end, DevOps, Mobile, Gestão & Negócios, UX & Design, Cibersegurança, Cloud, Inteligência Artificial
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
Acesso à inteligência artificial da Alura.
No Discord, você participa de eventos exclusivos, pode tirar dúvidas em estudos colaborativos e ainda conta com mentorias em grupo com especialistas de diversas áreas.
Catálogo de tecnologia para quem é da área de Marketing
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
20% de desconto na Pós Tech
Luri Vision chegou no Plano Pro: a IA da Alura que enxerga suas dúvidas, acelera seu aprendizado e conta também com o Alura Língua que prepara você para competir no mercado internacional.
2 anos de Alura
Todos os benefícios do PLUS 24 e mais vantagens exclusivas:
Acesso ao catálogo da Casa do Código e leitura dentro da plataforma
Chat, busca, exercícios abertos, revisão de aula, geração de legenda para certificado.
Modo entrevista - Pratique situações reais e evolua com feedback personalizado
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Para quem quer atingir seus objetivos mais rápido: Luri Vision ilimitado, vagas de emprego exclusivas e mentorias para acelerar cada etapa da jornada.
2 anos de Alura
Todos os benefícios do PRO 24 e mais vantagens exclusivas:
Lives CareerUp: eventos exclusivos com foco em empregabilidade e carreira
Mentorias de carreira: 2 encontros individuais com mentores do Talent Lab
Conecte-se ao mercado com mentoria individual personalizada, vagas exclusivas e networking estratégico que impulsionam sua carreira tech para o próximo nível.