Artigo AI·Inteligência Artificial·12 min de leitura

MCP: conecte agentes IA a ferramentas reais em 2026

Model Context Protocol vira padrão universal de agentes IA. Veja como conectar Claude a Notion, Stripe e APIs próprias sem DevOps em 2026.

Vitor Morais

Por Vitor Morais

Fundador do MochaLabz ·

Model Context Protocol (MCP) é o padrão aberto que deixa agentes IA conversarem com ferramentas externas — Notion, Stripe, banco de dados próprio, qualquer API — de forma padronizada, independente de qual LLM está por baixo. Criado pela Anthropic e doado à Linux Foundation's Agentic AI Foundation, o protocolo foi adotado por OpenAI, Microsoft Copilot, Google Gemini e Cursor, tornando-se o equivalente ao USB-C do ecossistema de agentes. Para o solopreneur, isso significa uma coisa prática: você aprende MCP uma vez e o conhecimento vale pra qualquer modelo.

Resumo rápido

MCP padroniza como agentes IA acessam ferramentas externas. Você cria um servidor MCP (pode ser em TypeScript ou Python), expõe funções como tools, e qualquer cliente compatível (Claude, GPT, Cursor) chama essas funções automaticamente. Sem vendor lock-in, sem orquestrador enterprise, sem infraestrutura pesada.

O que é Model Context Protocol e por que virou padrão

Antes do MCP, cada ferramenta de IA inventava sua própria forma de chamar APIs externas: function calling do OpenAI, tool use do Claude, plugins do ChatGPT. O resultado era fragmentação: código escrito pra um modelo não funcionava em outro, e qualquer troca de LLM exigia reescrever integrações. O MCP resolve isso com uma camada de abstração simples — um servidor que expõe tools, resources e prompts em JSON, que qualquer cliente compatível sabe consumir.

A adoção foi rápida. Em fevereiro de 2026, o SDK do MCP ultrapassou dezenas de milhões de downloads mensais — número que cresceu junto com a incorporação do protocolo por todos os grandes players. O fato de a Anthropic ter doado a especificação a uma fundação neutra (Linux Foundation's Agentic AI Foundation) foi o sinal que faltava para o ecossistema apostar: ninguém vai acordar amanhã com o protocolo trancado atrás de um paywall.

  • Clientes que suportam MCP hoje: Claude (Desktop e API), ChatGPT (via plugin layer), Cursor, Microsoft Copilot, Google Gemini.
  • Linguagens para servidor: TypeScript (SDK oficial @modelcontextprotocol/sdk), Python (mcp package), Go e Rust (community).
  • Transporte: stdio (processo local), SSE (server-sent events via HTTP), ou WebSocket.
  • Tipo de primitivas expostas: tools (funções que o modelo chama), resources (dados que o modelo lê), prompts (templates reutilizáveis).

Arquitetura MCP em termos práticos: client, server e host

A confusão mais comum entre quem lê as docs pela primeira vez é misturar os três papéis. O host é a aplicação que o usuário abre — Claude Desktop, Cursor, seu próprio app Next.js. O client vive dentro do host e gerencia a conexão com um ou mais servidores. O server é o processo que você escreve, expondo ferramentas específicas (buscar no Notion, criar cobrança no Stripe, fazer query no Supabase). Um único host pode conectar múltiplos servers simultaneamente.

Na prática pra solopreneur: você escreve o servidor MCP (um script TypeScript rodando localmente ou num Cloudflare Worker), configura o Claude Desktop pra apontar pra ele, e pronto — o Claude passa a enxergar suas ferramentas como capacidades nativas. Nada de webhook, nada de fila, nada de Kubernetes.

MCP vs abordagens anteriores de integração com LLMs
CritérioFunction Calling tradicionalMCP
Portabilidade entre modelosNenhuma — formato proprietárioTotal — spec aberta
Onde roda o servidorLógica no prompt/appProcesso separado, reutilizável
Descoberta de ferramentasManual no system promptAutomática via protocolo
Adoção do ecossistemaFragmentada por vendorOpenAI, Anthropic, Microsoft, Google
Curva de aprendizadoBaixa por modelo, alta totalAprende uma vez, aplica em todos

Criando seu primeiro servidor MCP em TypeScript

O caminho mais rápido pra ter um servidor MCP funcional é usar o SDK oficial em TypeScript. O exemplo abaixo cria um servidor que expõe uma tool chamada buscar_cliente — você pode substituir a lógica interna por uma query no Supabase, uma chamada ao Stripe ou qualquer outra coisa que faça sentido no seu produto.

servidor-mcp-basico.ts

import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'; import { z } from 'zod'; const server = new McpServer({ name: 'meu-crm-mcp', version: '0.1.0', }); // Expõe uma tool que busca cliente por e-mail server.tool( 'buscar_cliente', 'Busca dados de um cliente pelo e-mail no CRM', { email: z.string().email() }, async ({ email }) => { // Troque por query real no Supabase, Notion ou sua DB const cliente = await buscarClienteNoDB(email); if (!cliente) { return { content: [{ type: 'text', text: `Cliente ${email} não encontrado.` }] }; } return { content: [ { type: 'text', text: JSON.stringify(cliente, null, 2), }, ], }; } ); // Stub — substitua pela sua lógica real async function buscarClienteNoDB(email: string) { return { email, nome: 'Exemplo', plano: 'pro', mrr: 297 }; } const transport = new StdioServerTransport(); await server.connect(transport);

Para rodar localmente, compile com tsc e configure o Claude Desktop adicionando ao claude_desktop_config.json a entrada do servidor. O Claude passa a listar buscar_cliente como uma ferramenta disponível automaticamente — sem nenhuma instrução extra no system prompt.

claude_desktop_config.json (trecho)

{ "mcpServers": { "meu-crm": { "command": "node", "args": ["/caminho/para/servidor-mcp-basico.js"] } } }

Stdio é o transporte mais simples para começar

Stdio roda o servidor como processo filho do Claude Desktop via stdin/stdout. Não precisa de porta aberta, não precisa de HTTPS, não precisa de configuração de rede. Ideal para automações locais. Quando quiser expor o servidor para múltiplos usuários (ex: no seu SaaS), mude para SSE sobre HTTP e faça deploy no Cloudflare Workers.

Casos de uso reais pra solopreneur: Notion, Stripe e Supabase

A maioria dos artigos sobre MCP para na teoria. O que importa é o que você vai conectar. Para o solopreneur típico com stack Notion + Stripe + Supabase, três servidores MCP cobrem 80% das automações úteis do dia a dia. Servidores prontos já existem no repositório oficial modelcontextprotocol/servers — você instala, configura a API key e conecta ao Claude sem escrever uma linha.

  • Notion MCP: leia, crie e atualize páginas e databases. Útil para transformar uma conversa com o Claude em entrada estruturada no seu kanban de clientes.
  • Stripe MCP (community): consulte cobranças, liste clientes, veja MRR sem abrir o dashboard. Perfeito para perguntar 'quais clientes estão com pagamento atrasado este mês?'.
  • Supabase MCP: execute queries SQL descrevendo em linguagem natural o que precisa. O Claude monta o SELECT, você revisa, confirma e ele executa.
  • GitHub MCP: abra issues, liste PRs abertos, comente em código. Substitui boa parte das ações manuais no repositório do seu SaaS.
  • Filesystem MCP: leia e escreva arquivos locais. Útil pra processar CSVs exportados de clientes ou gerar relatórios em markdown automaticamente.

Se precisar de uma integração que não existe no repositório oficial, o caminho é escrever um servidor MCP próprio conectado à API que você já usa — exatamente o padrão do exemplo acima. O custo de desenvolvimento de um servidor MCP simples está na faixa de algumas horas para quem já sabe TypeScript. Depois disso, qualquer membro do time (ou você mesmo daqui a seis meses) conecta Claude, Cursor ou qualquer cliente compatível sem reescrever nada. Para entender melhor como agentes IA podem automatizar tarefas repetitivas no dia a dia, veja o artigo sobre agentes de IA para automação de tarefas freelancer.

Expondo seu servidor MCP na nuvem: Cloudflare Workers + SSE

Stdio funciona só no dispositivo local. Quando você quer que outros usuários do seu produto acessem as mesmas ferramentas — ou quando quer rodar o agente num pipeline automatizado sem interação humana — precisa mudar o transporte para SSE (Server-Sent Events) via HTTP. O Cloudflare Workers é o lugar mais barato e rápido pra hospedar isso: deploy em segundos, escala automática, sem configurar servidor.

worker-mcp-sse.ts (estrutura básica)

import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { SSEServerTransport } from '@modelcontextprotocol/sdk/server/sse.js'; export default { async fetch(request: Request, env: Env): Promise<Response> { const url = new URL(request.url); // Endpoint SSE que o cliente MCP conecta if (url.pathname === '/sse') { const { readable, writable } = new TransformStream(); const transport = new SSEServerTransport('/messages', writable); const server = criarServidor(env); await server.connect(transport); return new Response(readable, { headers: { 'Content-Type': 'text/event-stream' }, }); } // Endpoint que recebe mensagens do cliente if (url.pathname === '/messages' && request.method === 'POST') { // A lógica de roteamento fica aqui return new Response('ok'); } return new Response('MCP Server online', { status: 200 }); }, }; function criarServidor(env: Env) { const server = new McpServer({ name: 'meu-saas-mcp', version: '1.0.0' }); // Adicione suas tools aqui usando env.STRIPE_KEY, env.SUPABASE_URL etc. return server; }

Autentique o endpoint SSE antes de expor na internet

Um servidor MCP exposto sem autenticação dá acesso às suas ferramentas para qualquer um que descobrir a URL. Adicione validação de Bearer token no fetch antes de inicializar o transporte. Para multi-tenant (cada usuário do seu SaaS tem acesso às próprias ferramentas), use o ID do usuário como chave de isolamento nas tools.

MCP no seu SaaS: transformar o Claude em interface do produto

O caso de uso mais poderoso para indie hacker não é automação pessoal — é oferecer uma interface conversacional dentro do próprio produto. Imagine um SaaS de gestão financeira onde o usuário digita 'qual foi meu lucro líquido em março?' e o agente consulta o banco, faz os cálculos e responde em linguagem natural. O servidor MCP conecta o LLM aos dados do usuário de forma controlada, sem expor a DB diretamente.

Isso muda a proposta de valor do seu produto: em vez de mais um dashboard com gráficos, você entrega uma experiência onde o usuário conversa com seus próprios dados. O diferencial é real e difícil de copiar rapidamente por concorrentes maiores. Para entender como precificar esse tipo de implementação para clientes, confira o artigo sobre quanto cobrar por implementação de agent IA para freelancer. E para controlar os custos de tokens ao usar Claude via API nas suas tools, o guia sobre reduzir custo da API do Claude com batch e caching é leitura obrigatória.

O padrão de implementação é: cada usuário autenticado recebe um servidor MCP com escopo limitado às próprias ferramentas e dados. O frontend abre uma conexão SSE, passa as mensagens do chat para o servidor, e o resultado volta em streaming. Bibliotecas como ai (Vercel AI SDK) abstraem boa parte do plumbing de streaming com Next.js, deixando você focar na lógica das tools. Para entender como os tokens funcionam e impactam seu custo, vale revisar o artigo sobre o que são tokens em IA e LLMs.

Perguntas frequentes

MCP é a mesma coisa que function calling?+

Não. Function calling é um recurso específico de cada modelo (OpenAI, Anthropic) onde você define funções no payload da requisição. MCP é uma camada acima: um protocolo padronizado onde as ferramentas vivem num servidor separado e qualquer cliente compatível as descobre automaticamente. MCP usa function calling internamente, mas abstrai toda a lógica proprietária.

Preciso saber DevOps para rodar um servidor MCP?+

Para uso local (Claude Desktop), basta saber executar um script Node.js ou Python — zero infraestrutura. Para produção, Cloudflare Workers ou um servidor Node simples no Railway são suficientes. Não precisa de Kubernetes, Docker orquestrado ou configuração complexa para começar a gerar valor.

MCP funciona com GPT e Gemini, ou só com Claude?+

MCP é um protocolo aberto, não exclusivo da Anthropic. OpenAI, Microsoft Copilot e Google Gemini adotaram o padrão. Cursor usa MCP nativamente. Isso significa que um servidor MCP que você escreve hoje pode ser consumido por qualquer um desses clientes sem alteração.

É seguro conectar o Stripe via MCP ao Claude?+

Sim, com uma condição: você controla quais operações a tool expõe. Uma tool `listar_clientes` que só faz GET é segura. Cuidado com tools destrutivas (deletar, reembolsar em massa) sem confirmação humana no loop. O padrão recomendado para operações com efeito colateral é sempre pedir confirmação explícita antes de executar.

Existe repositório de servidores MCP prontos pra usar?+

Sim. O repositório oficial `modelcontextprotocol/servers` no GitHub mantém servidores prontos para Notion, GitHub, Google Drive, Slack, PostgreSQL, Filesystem e outros. A comunidade mantém servidores adicionais para Stripe, Supabase, Linear e Jira. Você instala via npm ou uvx e configura apenas as API keys.

MCP substitui n8n ou Zapier para automações?+

São ferramentas com propósitos distintos. n8n e Zapier orquestram fluxos de trabalho visuais baseados em gatilhos e ações sequenciais. MCP resolve especificamente o problema de um LLM acessar ferramentas externas durante uma conversa ou raciocínio. Para automações simples sem IA no centro, n8n ainda faz mais sentido. Quando o LLM precisa decidir qual ferramenta usar e quando, MCP é a peça certa.

#model-context-protocol#mcp-agentes-ia#claude-api#automacao-freelancer#indie-hacker-ia

Artigos relacionados