MCP Server: como transformar qualquer IA em um assistente poderoso

Rocketseat

Rocketseat

9 min de leitura
programar-com-mcp
Imagine poder conectar qualquer modelo de inteligência artificial diretamente ao seu banco de dados, às suas APIs favoritas ou até mesmo aos seus arquivos locais, tudo isso através de uma simples conversa em linguagem natural. Parece ficção científica? Pois bem, isso já é realidade graças ao Model Context Protocol (MCP), e você está prestes a descobrir como essa tecnologia está mudando completamente a forma como interagimos com IA.
Se você já se frustrou tentando fazer um chatbot acessar dados específicos da sua aplicação, ou se já sonhou em ter um assistente que realmente entenda o contexto do seu projeto, este post é para você.
Vamos explorar juntos como o MCP está mudando o desenvolvimento de aplicações com IA e, mais importante, como você pode criar seus próprios servidores MCP para levar suas ideias ao próximo nível.

O que é MCP e por que você deveria se importar

Enquanto todo mundo fala sobre os últimos modelos de IA e suas capacidades impressionantes, uma revolução mais específica, mas igualmente transformadora, está acontecendo. O Model Context Protocol, lançado pela Anthropic em novembro de 2024, está redefinindo como as aplicações de IA se conectam com o mundo real.
Para entender a magnitude dessa mudança, pense na analogia que a própria documentação oficial usa: "MCP é como uma porta USB-C para aplicações de IA". Assim como o USB-C padronizou a forma de conectar dispositivos a periféricos, o MCP padroniza como modelos de linguagem se conectam a fontes de dados e ferramentas externas.
Mas por que isso importa tanto? A resposta está na experiência que você provavelmente já teve: você está conversando com um chatbot e precisa que ele acesse informações específicas da sua empresa, do seu banco de dados ou de uma API externa. Tradicionalmente, isso significava desenvolver integrações customizadas para cada modelo, cada aplicação, cada caso de uso. Era como ter que criar um cabo diferente para cada dispositivo que você quisesse conectar.

O problema que o MCP resolve

Antes do MCP, o cenário era fragmentado e complexo. Como explica Flavio Lopes, especialista em arquitetura de soluções da Sensedia:
Para cada LLM, você tinha que ter uma estrutura de chamada diferente para essas ações. E aí é onde entrou o MCP para criar uma padronização.
O problema era ainda mais profundo do que apenas padronização. Quando você queria que sua aplicação de IA tivesse acesso a múltiplas ferramentas, você acabava enchendo essa aplicação de partes de código para se conectar a cada uma das ferramentas que você queria que o seu agente se conectasse. Isso criava aplicações inchadas, difíceis de manter e com responsabilidades misturadas.
O MCP resolve isso através de uma arquitetura elegante que separa responsabilidades: de um lado, você tem servidores MCP que expõem ferramentas e dados; do outro, clientes MCP que consomem essas funcionalidades. É uma aplicação prática dos princípios SOLID que toda pessoa desenvolvedora conhece, mas aplicada ao contexto de IA.
Você pode assistir a essa conversa incrível com o Flávio, agora mesmo. Dê o play e prepare-se para adquirir um conhecimento valioso:
Não existe IA sem APIs: entenda Agents, LLMs, MCP e A2A na prática com Flavio Lopes | FalaDev #71
Faaaala Dev! Chegou mais um episódio da 7ª temporada do #FalaDev, e hoje o papo é pra quem quer entender de verdade como a Inteligência Artificial está se conectando com a arquitetura de software! Neste episódio, o PV Faria recebe Flavio Lopes, Solutions Architect na Sensedia, para uma conversa técnica e prática sobre o papel das APIs no avanço da IA generativa, e como os devs podem (e devem) se preparar pra essa nova realidade. Flávio compartilha sua trajetória como arquiteto de soluções, explica o que são Agentic AIs, LLMs, e aprofunda conceitos como MCP e Agent-to-Agent (A2A). Tudo isso com dicas diretas pra quem quer sair do hype e entender como aplicar IA com maturidade, segurança e propósito. Se você é dev e quer embarcar nesse novo momento da tecnologia com visão profunda, arquitetura sólida e cases reais, esse episódio é pra você. Dá o play, se inscreve no canal e vamos evoluir juntos nessa jornada 🚀 Host:⁠⁠ PV Faria⁠ https://www.linkedin.com/in/paulo-victor-faria/ Convidado: ⁠Flavio Lopes https://www.linkedin.com/in/flavionlopes/ • Sensedia https://www.sensedia.com/ • O plano de integração de IA para governança da IA com MCP e gerenciamento moderno de APIs https://www.sensedia.com.br/post/o-plano-de-integracao-de-ia-para-governanca-da-ia-com-mcp-e-gerenciamento-moderno-de-apis • Como a IA da Sensedia impacta clientes e parceiros https://www.sensedia.com.br/post/como-a-ia-da-sensedia-impacta-nossos-clientes Independente do seu momento de carreira e objetivos, temos o conteúdo ideal 👇 • Assine o Rocketseat ONE (todas as formações, cursos, eventos e experiências em uma única assinatura) https://rseat.in/1-Uoivl7V • Aprenda programação na prática e gratuito https://rseat.in/yqQhYg-Ss • Conheça a nossa Pós-graduação IA e Automação https://rseat.in/hi4ZTyZDE • Conheça a nossa Pós-graduação Tech Developer 360 https://rseat.in/nsmuh8OmF • Quer sua empresa em um episódio do FalaDev? Envie sua sugestão https://forms.gle/MsfGKQpk3xpMY5Cy5 • Loja Rocketseat https://reserva.ink/rocketseat • Rocketseat Para Empresas, conheça nossas soluções https://rseat.in/CqCORnYW1 ----- Conecte-se a 500mil devs e avance para o próximo nível com a nossa plataforma: https://rseat.in/rocketseat_ Cadastre-se na nossa plataforma: https://rseat.in/rocketseat_ Junte-se a mais de 392mil devs em nossa comunidade no Discord: https://discord.gg/rocketseat Acompanhe a Rocketseat nas redes sociais: TikTok: @rocketseat Facebook: @rocketseat Instagram: @rocketseat
Não existe IA sem APIs: entenda Agents, LLMs, MCP e A2A na prática com Flavio Lopes | FalaDev #71

Como funciona a arquitetura MCP na prática

Servidor vs cliente: entendendo os papéis

A arquitetura do MCP é surpreendentemente simples, mas poderosa.
Essa observação é crucial para entender que, como pessoa desenvolvedora, você já tem as habilidades necessárias para trabalhar com MCP. Não é preciso ser especialista em machine learning ou ter um PhD em IA. É arquitetura de software aplicada a um contexto novo.
O servidor MCP é onde você define e implementa as ferramentas que quer disponibilizar. Ele pode oferecer acesso à documentação, bancos de dados, APIs externas, arquivos locais ou qualquer outra funcionalidade que você conseguir programar. O servidor roda independentemente e expõe suas capacidades através do protocolo MCP.
O cliente MCP é a aplicação que consome essas ferramentas. Pode ser o Claude Desktop, Cursor, VS Code com Copilot, Warp terminal, ou qualquer outra aplicação que implemente o protocolo. O cliente se conecta ao servidor e permite que o modelo de IA use as ferramentas disponíveis através de linguagem natural.
A beleza dessa arquitetura está na sua universalidade. Como destaca Fábio Vedovelli em sua demonstração prática:
Qualquer cliente que esteja preparado para se comunicar através do protocolo MCP consegue operar o banco de dados através do chat.
Ficou com curiosidade em saber que demonstração prática é essa? Dê o play e veja como desenvolver um servidor MCP com JavaScript, integrando-o a clientes como o ChatGPT.
Video preview

Os tipos de ferramentas que você pode criar

O MCP suporta diferentes tipos de capacidades que você pode implementar nos seus servidores:
Resources (recursos): fornecem acesso a dados e documentação em formato texto. Imagine poder perguntar para sua IA sobre a documentação interna da sua empresa ou sobre dados específicos de um projeto.
Tools (ferramentas): são funções executáveis que a IA pode chamar. Desde uma simples saudação até operações complexas como criar tabelas em um banco de dados ou fazer deploy de aplicações.
Prompts: templates de prompts reutilizáveis que podem ser compartilhados entre diferentes aplicações.
Um exemplo prático vem da própria experiência de Vedovelli, que conta no vídeo acima: "Eu consegui me comunicar com o meu banco de dados e o Claude Desktop conseguiu criar um dashboard completo para o meu SaaS." Isso demonstra o poder de conectar IA diretamente aos seus dados através de um MCP server customizado.

Clientes que já suportam MCP

O ecossistema MCP está crescendo rapidamente. Já temos mais de 450 clientes documentados, incluindo nomes conhecidos como:
  • Claude Desktop: suporte completo para todas as funcionalidades MCP
  • VSCode com GitHub Copilot: implementação completa do protocolo
  • Cursor: focado em ferramentas (Tools), ideal para desenvolvimento
  • Warp Terminal: excelente para automação de linha de comando
  • ChatGPT: suporte básico para ferramentas
  • Windsurf Editor: ótimo para descoberta automática de servidores
Essa lista tende a crescer porque o mundo da inteligência artificial está fervilhando neste momento.

Criando seu primeiro MCP server

Vamos colocar a mão na massa e criar nosso primeiro servidor MCP. O processo é mais simples do que você imagina, especialmente se você já tem experiência com Node.js.
Primeiro, vamos inicializar um projeto Node.js básico:
npm init -y
Em seguida, vamos instalar a dependência oficial do MCP:
npm install @modelcontextprotocol/sdk
No seu package.json, certifique-se de adicionar "type": "module" para usar ES modules, que é o padrão recomendado para projetos MCP.

Implementando uma ferramenta de saudação

Vamos começar com algo simples, mas que demonstra todos os conceitos importantes. Criaremos uma ferramenta que oferece saudações personalizadas com informações dinâmicas como data e hora.
import { Server } from '@modelcontextprotocol/sdk/server/index.js'; import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; // Criando o servidor MCP const server = new Server( { name: 'rocketseat-mcp-server', version: '1.0.0', }, { capabilities: { tools: {}, }, } ); // Função para gerar saudação personalizada function gerarSaudacao(nome = 'amigo', idioma = 'pt') { const agora = new Date(); const hora = agora.getHours(); let saudacao; if (hora < 12) { saudacao = 'Bom dia'; } else if (hora < 18) { saudacao = 'Boa tarde'; } else { saudacao = 'Boa noite'; } const dataFormatada = agora.toLocaleDateString('pt-BR'); const horaFormatada = agora.toLocaleTimeString('pt-BR'); return `${saudacao}, ${nome}! É um prazer te cumprimentar. Hoje é ${dataFormatada} e são exatamente ${horaFormatada}. Como posso ajudar você hoje?`; } // Registrando as ferramentas disponíveis server.setRequestHandler('tools/list', async () => { return { tools: [ { name: 'saudacao_personalizada', description: 'Oferece uma saudação amistosa e personalizada com data e hora atual', inputSchema: { type: 'object', properties: { nome: { type: 'string', description: 'Nome da pessoa para personalizar a saudação' }, idioma: { type: 'string', description: 'Idioma para a saudação (pt, en, es)', default: 'pt' } } } } ] }; }); // Implementando a execução das ferramentas server.setRequestHandler('tools/call', async (request) => { const { name, arguments: args } = request.params; if (name === 'saudacao_personalizada') { const { nome, idioma } = args; const mensagem = gerarSaudacao(nome, idioma); return { content: [ { type: 'text', text: mensagem } ] }; } throw new Error(`Ferramenta desconhecida: ${name}`); }); // Iniciando o servidor async function main() { const transport = new StdioServerTransport(); await server.connect(transport); console.log('Servidor MCP da Rocketseat iniciado e aguardando conexões!'); } main().catch(console.error);
Este exemplo demonstra os conceitos básicos de um servidor MCP. Você define as ferramentas disponíveis, especifica seus parâmetros de entrada e implementa a lógica de execução. O resultado é uma ferramenta que qualquer cliente MCP pode usar através de linguagem natural.

Adicionando acesso a APIs externas

Agora vamos elevar o nível e criar uma ferramenta que acessa dados externos. Seguindo o exemplo das transcrições, vamos implementar uma integração com a API do TabNews para buscar os artigos mais recentes:
// Função para buscar artigos do TabNews async function buscarArtigosTabNews() { try { const response = await fetch('https://www.tabnews.com.br/api/v1/contents'); if (!response.ok) { throw new Error(`Erro na API: ${response.status}`); } const artigos = await response.json(); if (!artigos || artigos.length === 0) { return 'Nenhum artigo encontrado no momento.'; } const agora = new Date(); let resposta = `📰 Últimos ${artigos.length} artigos do TabNews (consultado em ${agora.toLocaleString('pt-BR')}):\n\n`; artigos.slice(0, 10).forEach((artigo, index) => { resposta += `${index + 1}. **${artigo.title}**\n`; resposta += ` Autor: ${artigo.owner_username}\n`; resposta += ` TabCoins: ${artigo.tabcoins}\n`; resposta += ` URL: https://www.tabnews.com.br/${artigo.owner_username}/${artigo.slug}\n\n`; }); return resposta; } catch (error) { return `Erro ao buscar artigos: ${error.message}`; } } // Adicionando a nova ferramenta à lista server.setRequestHandler('tools/list', async () => { return { tools: [ { name: 'saudacao_personalizada', description: 'Oferece uma saudação amistosa e personalizada com data e hora atual', inputSchema: { type: 'object', properties: { nome: { type: 'string', description: 'Nome da pessoa para personalizar a saudação' }, idioma: { type: 'string', description: 'Idioma para a saudação', default: 'pt' } } } }, { name: 'buscar_artigos_tabnews', description: 'Busca os artigos mais recentes do TabNews com título, autor e link', inputSchema: { type: 'object', properties: { limite: { type: 'number', description: 'Número máximo de artigos para retornar', default: 10 } } } } ] }; }); // Atualizando o handler de execução server.setRequestHandler('tools/call', async (request) => { const { name, arguments: args } = request.params; switch (name) { case 'saudacao_personalizada': const { nome, idioma } = args; const mensagem = gerarSaudacao(nome, idioma); return { content: [{ type: 'text', text: mensagem }] }; case 'buscar_artigos_tabnews': const artigos = await buscarArtigosTabNews(); return { content: [{ type: 'text', text: artigos }] }; default: throw new Error(`Ferramenta desconhecida: ${name}`); } });
Com essa implementação, você criou um servidor que não apenas oferece saudações personalizadas, mas também pode buscar conteúdo em tempo real de uma API externa. O mais impressionante é que qualquer cliente MCP pode usar essas ferramentas simplesmente conversando em linguagem natural.

Testando e distribuindo seu MCP server

Validação local com a interface oficial
Antes de conectar seu servidor a clientes reais, é importante testá-lo localmente. O Model Context Protocol oferece uma interface web oficial para isso. Para usar essa ferramenta de teste, você precisa primeiro executar seu servidor:
node index.js
Você verá a mensagem "Servidor MCP da Rocketseat iniciado e aguardando conexões!" no terminal. Em seguida, você pode usar o inspector oficial do MCP através do comando:
npx @modelcontextprotocol/inspector
Isso abrirá uma interface web onde você pode conectar ao seu servidor local, listar as ferramentas disponíveis e testá-las interativamente. É uma forma excelente de validar se tudo está funcionando antes de partir para configurações mais complexas.

Configurando em clientes reais

Agora vem a parte mais emocionante: conectar seu servidor a clientes reais. Vamos começar com o Claude Desktop, que oferece uma das implementações mais completas do protocolo MCP.

Configuração no Claude Desktop:

  1. Abra as configurações do Claude Desktop (Cmd+, no Mac ou Ctrl+, no Windows/Linux)
  1. Navegue até a aba "Developer"
  1. Edite o arquivo de configuração MCP
Adicione a seguinte configuração:
{ "mcpServers": { "rocketseat-server": { "command": "node", "args": ["/caminho/completo/para/seu/index.js"] } } }
Após salvar a configuração, reinicie o Claude Desktop. Você verá um novo ícone de ferramentas na interface, indicando que seu servidor está conectado e funcionando.

Configuração no Cursor:

O processo no Cursor é similar. Acesse as configurações (Cmd+, ou Ctrl+,), vá para "MCP Tools" e adicione a mesma configuração JSON. O Cursor tem uma interface visual que mostra quais ferramentas estão disponíveis e permite habilitar/desabilitar cada uma individualmente.
Uma vez configurado, você pode simplesmente conversar com a IA normalmente. Por exemplo: "Me ofereça uma saudação personalizada" ou "O que temos no TabNews hoje?". A IA automaticamente identificará que precisa usar suas ferramentas customizadas e pedirá autorização antes de executá-las.

Publicando no npm para distribuição

Aqui está onde a mágica realmente acontece. Em vez de cada pessoa ter que configurar o caminho local para seu servidor, você pode distribuí-lo através do npm, tornando-o acessível para qualquer pessoa com um simples comando.
Primeiro, vamos preparar o package.json para distribuição:
{ "name": "rocketseat-mcp-server", "version": "1.0.0", "description": "Servidor MCP da Rocketseat com ferramentas de saudação e integração TabNews", "type": "module", "main": "index.js", "bin": { "rocketseat-mcp-server": "./cli.js" }, "scripts": { "start": "node index.js", "test": "node test.js" }, "keywords": ["mcp", "ai", "tools", "rocketseat", "tabnews"], "author": "Rocketseat", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "^1.0.0" } }
Crie um arquivo cli.js para tornar seu servidor executável via npx:
#!/usr/bin/env node import './index.js';
Não se esqueça de tornar o arquivo executável:
chmod +x cli.js
Agora você pode publicar no npm:
npm login npm publish
Após a publicação, qualquer pessoa pode usar seu servidor MCP simplesmente atualizando a configuração do cliente para:
{ "mcpServers": { "rocketseat-server": { "command": "npx", "args": ["rocketseat-mcp-server"] } } }
Isso significa que seu servidor pode ser usado por desenvolvedores ao redor do mundo sem que eles precisem baixar, configurar ou manter o código localmente. É distribuição de ferramentas de IA na sua forma mais elegante.

Casos de uso avançados e o futuro do MCP

Integrações com bancos de dados

Um dos casos de uso mais poderosos do MCP é a integração direta com bancos de dados. Imagine o poder de poder conversar com sua IA e dizer: "Crie uma tabela de usuários com os campos nome, email e data de cadastro" ou "Me mostre os 10 clientes que mais compraram este mês". Sem o MCP, isso seria uma tarefa complexa de implementar.
Para empresas, isso abre possibilidades incríveis. Já imaginou o valor em transformar dados privados e específicos da empresa em contexto acessível para IA, mantendo segurança e controle de acesso?

Marketplace de agentes e A2A (Agent to Agent)

O futuro do MCP está intimamente conectado com outros protocolos emergentes, especialmente o Agent to Agent (A2A). O A2A, protocolo open source lançado pelo Google, permite que agentes se comuniquem entre si de forma padronizada. Isso cria a possibilidade de um marketplace de agentes.
Essa combinação de protocolos está criando um ecossistema onde:
  • MCP conecta agentes a ferramentas e dados.
  • A2A conecta agentes entre si.
  • Pessoas desenvolvedoras podem criar e monetizar agentes especializados.
  • Empresas podem compor soluções complexas combinando agentes de diferentes fornecedores.

Segurança e governança

Com grandes poderes vêm grandes responsabilidades, né tio Ben? Quando você está dando acesso direto aos seus dados a modelos de IA, a segurança se torna crítica.
A recomendação é manter o MCP server "limpo" e delegar questões de segurança para as APIs que ele consome. Isso significa implementar autenticação, autorização e auditoria nas suas APIs, não no servidor MCP em si.
Além da segurança técnica, existe a questão da governança de IA que inclui:
  • Guardrails: limites sobre o que a IA pode ou não fazer
  • Auditoria: registro de todas as ações executadas
  • Controle de acesso: quem pode usar quais ferramentas
  • Monitoramento: detectar comportamentos anômalos ou alucinações

Sua jornada com IA

Se você chegou até aqui, já entende que o MCP não é apenas mais uma tecnologia da moda. É uma mudança incrível na forma como construímos aplicações com IA.
Para quem está começando o caminho sugerido é:
  1. Fundamentos: entenda LLMs, RAG (Retrieval-Augmented Generation) e conceitos básicos de IA.
  1. Prática: use ferramentas como ChatGPT, Claude ou Gemini para entender como funcionam.
  1. Desenvolvimento: comece criando assistentes simples.
  1. Arquitetura: evolua para agentes e servidores MCP.
  1. Especialização: explore integrações avançadas e casos de uso específicos.
O MCP representa uma oportunidade única para pessoas desenvolvedoras que querem estar na vanguarda da revolução da IA. Não é preciso ser especialista em machine learning. Suas habilidades de arquitetura de software, conhecimento de APIs e experiência com desenvolvimento já são mais do que suficientes para criar soluções incríveis.
A pergunta não é se você deveria aprender MCP, mas quando você vai começar. O protocolo está crescendo rapidamente, novos clientes são adicionados constantemente, e as empresas já estão percebendo o valor de ter seus dados acessíveis através de linguagem natural.
O futuro da IA não está apenas nos modelos mais poderosos, mas na nossa capacidade de conectá-los ao mundo real de forma inteligente e segura. E o MCP é o link que torna isso possível.
👉
Quer acelerar sua jornada em IA e desenvolvimento?
Na Rocketseat, temos trilhas completas que te levam desde os fundamentos até aplicações avançadas com IA. Confira nossas trilhas de IA e junte-se a milhares de pessoas desenvolvedoras que já estão construindo o futuro da tecnologia.
Gostou do conteúdo? Compartilhe com sua rede e ajude mais pessoas a descobrirem o poder do MCP. A revolução da IA acontece quando toda a comunidade evolui junta!
Artigos_

Explore conteúdos relacionados

Descubra mais artigos que complementam seu aprendizado e expandem seu conhecimento.