🧭 Mapa da Edição
🧩 MCP como convenção: quando o protocolo para de ser só formato e vira forma de pensar
🌊 Rollbacks, polêmicas com SQL e uma nova fase no fim da guerra dos consoles
📦 Permissões claras, componentes animados e segurança de API Keys sem drama
📓 Entrada no Logbook
Se você acompanhou os dois primeiros textos sobre MCP, já entendeu o papel que ele pode assumir como camada de arquitetura para IA, e também como ele organiza os pilares que o compõem. Mas ainda tem uma camada que é pouco falada — e é nela que esse texto vai mergulhar.
A parte que quase ninguém comenta é que, embora o MCP seja vendido como um protocolo (e ele é, tecnicamente), o verdadeiro poder dele é como convenção. E isso muda tudo no jeito de pensar integrações com LLMs.
Pra começar: tem uma ideia generalizada de que MCP é "a nova forma de expor Tools" para IA. E olha, não é mentira. Mas também é só a pontinha do iceberg. O problema é que muitos pararam a exploração ali mesmo.
Mas e quando você resolve explorar mais a fundo e tenta usar os outros pilares do MCP — tipo Resources, Prompts, Sampling ou Roots? Aí a conversa muda. Muda mesmo. Porque diferente das Tools (que são ativamente invocadas pelo modelo), esses outros não têm um caminho direto e automágico. (Resources, Prompts, Sampling, Roots), a conversa muda completamente. Por quê? Porque diferente das Tools (que são ativamente invocadas pelo modelo), os outros pilares não possuem um caminho direto. O modelo não invoca resources/read
sozinho. Ele não escolhe uma prompt e a dispara. Ele não faz sampling espontaneamente.
E é aqui que vem a parte que quase ninguém fala:
Se você quiser que sua IA use os outros recursos do MCP, você mesmo vai ter que construir a inteligência por trás disso.
E essa inteligência pode assumir várias formas:
Tools locais que você define no client, que por baixo dos panos fazem requests para o servidor MCP (ex:
getResource(uri)
)Um parser textual que analisa a resposta da IA procurando por algo como
get_resource("file://...")
e aciona a chamada adequadaOu fluxos mais inteligentes, onde você interpreta a intenção da IA e injeta dinamicamente mensagens baseadas em contextos MCP (reflection mid-flow)
Se você acha que isso parece muito trabalho, é porque é mesmo. Mas aqui vai o pulo do gato:
O MCP não é um protocolo de comunicação como HTTP ou WebSocket. Ele é uma convenção semântica. Uma forma de pensar e organizar a interface entre IA e servidor.
Assim como o HTTP tem seus status codes com semântica bem definida (200, 404, 500), o MCP tem seus pilares (Tool, Resource, Prompt, Sampling, Root) que representam intenções diferentes. Mas todos compartilham um detalhe essencial: o formato de retorno é sempre uma Message compatível com um modelo de linguagem.
E isso muda tudo.
Significa que o MCP é, acima de tudo, uma convenção. Um contrato sobre como a informação deve se apresentar para a IA. Os SDKs MCP não têm mágica — eles só facilitam você a seguir esse padrão.
Quer usar REST ao invés de MCP? Pode. Desde que você devolva a resposta formatada como uma message, com role
, type
, content
, e que o seu client saiba como injetar isso no modelo, funciona igual. Não há nada de sagrado no JSON-RPC.
A diferença é que com MCP você ganha:
Padrões prontos
Um vocabulário semântico (e interoperável)
SDKs que te poupam a engenharia de inventar tudo isso
E talvez mais importante:
Com MCP, você não precisa explicar pro próximo dev como sua API funciona. Se ele conhece MCP, ele entende.
Se você inventa seu próprio protocolo ou convencão caseira, parabéns — você agora tem um microecossistema isolado que depende exclusivamente da sua documentação. Nada impede isso, mas não espere que ferramentas MCP-aware plugadas no seu server magicamente funcionem.
No fim do dia, MCP não é concorrente de HTTP, GraphQL, WebSocket ou REST. MCP é o que esses protocolos transportam quando o assunto é IA. Ele é a lingua. O protocolo é o meio.
E você pode escolher se quer escrever poesia num caderninho ou num tweet. Mas a linguagem, a convenção de comunicação... ela precisa ser comum. MCP é isso.
Nem mais. Nem menos.
E você? Vai seguir reinventando cada camada, ou vai aproveitar o que já tá desenhado pra IA pensar melhor com você?
🌊 Marés da semana
ChatGPT sofreu um rollback na última semana. Foi a forma que a OpenAI encontrou de frear a bajulação excessiva do modelo, qualquer coisa dita, mesmo errada, virava motivo pra um show de aprovação automática. Bizarro e incômodo. Talvez esteja mesmo na hora de voltarmos às verdades nuas e cruas.
Uncle Bob (sim, o do Clean Code) deu uma causada: disse que usar SQL foi um dos maiores erros da nossa indústria. Parece absurdo à primeira vista, mas ele traz argumentos com certa lógica. O mais curioso, no fim das contas, é ver nos comentários quantos confundem SQL com o próprio banco de dados. SQL é só a linguagem, não o motor. Você já sabia? (Tudo bem se não, é normal) 👀
E pra descontrair... vamos falar de games. O impensável aconteceu: Forza Horizon 5 chegou ao PS5. O fim da guerra dos consoles? Não sei, mas pra quem já jogou no PC (eu incluso) e tem o PlayStation como plataforma principal, é uma ótima desculpa pra mais horas de lazer depois do código e das reuniões cansativas. Nos vemos no México?!
📦 Treasure - Good Stuff
Já que o papo é padrão, aqui vai um: se você precisa gerenciar permissões por cargo e módulo, recomendo muito o CASL. O nome assusta um pouco, mas juro, é simples e poderoso de aplicar no fluxo todo.
E não é só o MCP que tem “marketplace”. O front também tem os seus: UI Verse é um espaço onde devs criam e compartilham componentes visuais animados, criativos e interativos. E sim: tudo com código pronto pra copiar e colar. 🦝
Por fim, um achado recente: Unkey, uma plataforma pra gerar, validar e monitorar suas API Keys com segurança, direto de um painel. É tão chique e poderoso que achei até estranho 😮. É como um sistema de autenticação leve só pras suas keys, sem as dores de cabeça dos tokens.