Skip to main content
Claude Code

MCP Transformou Minha IA de Chatbot em um Agente Real

Model Context Protocol transformou meu Claude de chatbot em agente real. Notas do Obsidian, acesso a arquivos, controle do navegador — tudo por comandos em linguagem natural.

15 min
Tempo de leitura
2,942
Palavras
Publicado
Última revisão
Engr Mejba Ahmed

Escrito por

Engr Mejba Ahmed

Compartilhar Artigo

MCP Transformou Minha IA de Chatbot em um Agente Real

Fiquei encarando minha tela por uns trinta segundos, genuinamente confuso.

O Claude tinha acabado de criar uma nota no meu cofre do Obsidian — não porque eu copiei e colei texto, não porque usei alguma integração do Zapier — mas porque eu pedi. Em português simples. "Crie uma nota sobre café de prensa francesa." E lá estava, no meu cofre como se eu mesmo tivesse escrito.

Isso foi há três semanas. Desde então, conectei o Claude ao meu gerenciador de tarefas, meu calendário, um web scraper, transcrições do YouTube e — não estou exagerando — Kali Linux. Minha IA agora pode hackear por mim. Bom, mais ou menos. Mas o ponto é válido: algo fundamental mudou, e a maioria dos desenvolvedores com quem converso ainda não percebeu.

A mudança tem nome. Chama-se MCP — o Model Context Protocol. E quando você entende o que ele faz, percebe que a distância entre "chatbot de IA" e "agente de IA" não é algum problema de pesquisa distante. É um arquivo de configuração.

Eis o que eu não esperava: a parte mais difícil não foi a tecnologia. A parte mais difícil foi desaprender como eu pensava sobre IA.

O Problema Sobre o Qual Ninguém Fala

Assisti recentemente à análise do NetworkChuck sobre MCP — um mergulho profundo de 38 minutos que já ultrapassou 1,2 milhão de visualizações — e algo que ele disse no início fez clique na minha cabeça de um jeito que meses lendo documentação não tinham conseguido.

Ele comparou LLMs a pessoas. Fique comigo aqui.

Quando você ou eu queremos usar uma ferramenta — digamos, ClickUp para gerenciamento de tarefas — interagimos através de uma interface gráfica. Botões, menus, arrastar e soltar. A GUI abstrai toda a complexidade subjacente. Não precisamos conhecer o esquema do banco de dados nem os endpoints da API. Simplesmente clicamos.

LLMs odeiam GUIs. Tecnicamente podem interagir com elas (existem agentes baseados em screenshots), mas é lento, pouco confiável e parece ensinar alguém a dirigir mostrando fotos de volantes.

Ok, então dê APIs a eles? É para isso que APIs existem — para um programa conversar com outro programaticamente. E sim, funciona. Mas aqui está o problema que o Chuck acertou em cheio: cada API tem centenas de endpoints com esquemas de autenticação únicos, formatos de parâmetros e estruturas de resposta. Só a API do ClickUp é enorme. A do Obsidian também. E a do GitHub. E a de qualquer outra ferramenta que você queira que sua IA use.

Para conectar um LLM a apenas cinco ferramentas via APIs brutas, você precisaria escrever código de integração personalizado para cada uma, lidar com autenticação para cada uma, parsear respostas de cada uma, e então de alguma forma ensinar o LLM quais endpoints chamar e quando.

Já fiz isso. Para um projeto de cliente ano passado, passei duas semanas construindo uma camada personalizada de chamada de ferramentas para o GPT-4 que se conectava a três APIs internas. Duas semanas. Três ferramentas.

O MCP muda essa equação completamente.

O Que o MCP Realmente É (Sem o Hype)

O Model Context Protocol é, em sua essência, uma interface padronizada entre LLMs e ferramentas externas. A Anthropic o criou, mas se tornou um padrão da indústria adotado pela OpenAI, Google e basicamente todas as empresas de ferramentas de IA.

Pense nele como USB-C para ferramentas de IA. Antes do USB-C, cada dispositivo tinha seu próprio conector proprietário. Você precisava de uma gaveta cheia de cabos. O USB-C disse: "Aqui está um padrão. Todo mundo use." O MCP faz a mesma coisa para a comunicação entre LLMs e ferramentas.

Aqui está a arquitetura em termos simples:

LLM (Claude, GPT, Llama)
    ↕ fala o protocolo MCP
MCP Server (roda local ou remotamente)
    ↕ cuida de toda a parte complicada da API
Ferramenta Externa (Obsidian, ClickUp, GitHub, etc.)

O servidor MCP fica entre sua IA e as ferramentas que ela precisa. Ele cuida da autenticação, chamadas de API, parsing de respostas — tudo. O LLM não precisa saber nada sobre endpoints REST ou tokens OAuth. Ele apenas vê uma lista de "ferramentas" disponíveis descritas em linguagem simples:

  • create_note — Criar uma nova nota no cofre
  • search_vault — Buscar conteúdo em todas as notas
  • append_content — Adicionar conteúdo a uma nota existente

O LLM escolhe a ferramenta certa, passa os parâmetros e recebe resultados estruturados. É isso. Sem código personalizado. Sem luta com APIs.

Mas aqui está a parte que me fez prestar muita atenção — e isso conecta com algo muito maior.

De Chatbot a Agente: Os Três Níveis

Enquanto configurava servidores MCP, encontrei a explicação do Jeff Su sobre agentes de IA — um vídeo que já atingiu quase 4 milhões de visualizações — e ela cristalizou algo que eu vinha sentindo mas não conseguia articular.

Jeff divide a IA em três níveis, e uma vez que você os vê, não consegue mais deixar de ver:

Nível 1: LLM Básico. Você dá entrada, obtém saída. Pedir ao ChatGPT para redigir um email? Ótimo. Perguntar quando é sua próxima reunião? Falha. Ele não sabe. Não tem acesso. Apenas gera texto baseado em dados de treinamento.

Nível 2: Fluxo de Trabalho de IA. Você adiciona caminhos predefinidos. "Quando o usuário perguntar sobre eventos do calendário, primeiro consulte o Google Calendar, depois responda." Isso funciona — até o usuário perguntar algo que você não antecipou. "Como está o clima no dia da minha reunião?" Seu fluxo só conhece Google Calendar, não APIs de clima. Cada nova capacidade exige que um humano adicione manualmente outro caminho.

Aqui está o insight chave da análise do Jeff: não importa quantos passos você adicione — centenas, milhares — se um humano é quem decide qual caminho seguir, ainda é apenas um fluxo de trabalho. Não um agente.

Nível 3: Agente de IA. O LLM em si decide o que fazer. Ele raciocina ("Preciso de dados do calendário E dados do clima"), seleciona ferramentas ("Vou usar a API do Google Calendar primeiro, depois um serviço de clima"), executa, avalia o resultado e itera se necessário.

O framework por trás disso se chama ReAct — Reason and Act (Raciocinar e Agir). O agente pensa no que precisa, age usando ferramentas, observa o resultado e decide se continua ou retorna uma resposta final.

E é aqui que o MCP se torna a peça que faltava. Porque um agente de IA precisa de ferramentas para agir. Sem ferramentas, ele está apenas pensando em voz alta. O MCP lhe dá mãos.

Configurando MCP com Docker (A Parte Prática)

Aprendi isso da maneira difícil: não tente instalar servidores MCP manualmente na primeira tentativa. Use Docker. Ele cuida do isolamento, dependências e limpeza automaticamente.

Aqui está meu processo exato de configuração:

Passo 1: Instalar o Docker Desktop

Baixe do site oficial para seu sistema operacional. No Mac:

# Baixe e instale o Docker Desktop de docker.com/desktop
# Ou via Homebrew:
brew install --cask docker

# Verificar instalação
docker --version
# Docker version 28.x.x

# Habilitar MCP Toolkit no Docker Desktop:
# Settings → Beta Features → Docker MCP Toolkit → Enable

No Windows, você precisará do WSL 2 ou Hyper-V como backend primeiro. Linux é direto — apenas instale o Docker Engine e Desktop.

Passo 2: Explorar o Catálogo MCP

O Docker Desktop agora vem com um catálogo MCP — uma lista curada de servidores MCP oficiais. Abra o Docker Desktop, vá à seção MCP Toolkit e explore o catálogo. Fiquei genuinamente surpreso com o que está disponível:

  • Obsidian — Acesso completo ao cofre (ler, escrever, buscar)
  • Brave Search — Busca web com privacidade
  • Fetch — Obter conteúdo de qualquer URL
  • YouTube Transcripts — Extrair transcrições de qualquer vídeo
  • DuckDuckGo — Buscar sem chaves de API
  • Airbnb — Buscar acomodações (sim, de verdade)

Adicionar um servidor é um único clique. Alguns precisam de chaves de API (Brave, por exemplo), mas muitos funcionam direto.

Passo 3: Conectar Seu Cliente LLM

O Docker MCP Toolkit suporta múltiplos clientes:

  • Claude Desktop (o plano gratuito funciona)
  • Cursor (para trabalho focado em código)
  • LM Studio (para modelos locais como Llama)

Clique em "Connect" ao lado do seu cliente. O Docker atualiza automaticamente o arquivo de configuração MCP que seu cliente lê. Para o Claude Desktop, esse arquivo fica em ~/Library/Application Support/Claude/claude_desktop_config.json no Mac.

Veja como a configuração fica por baixo dos panos:

{
  "mcpServers": {
    "obsidian": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "OBSIDIAN_API_KEY=your-key-here",
        "mcp/obsidian"
      ]
    },
    "fetch": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp/fetch"]
    },
    "youtube-transcript": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "mcp/youtube-transcript"]
    }
  }
}

Cada servidor roda como um contêiner Docker isolado. Quando o Claude precisa usar uma ferramenta, ele sobe o contêiner, faz a chamada e o contêiner se encerra. Limpo. Isolado. Sem conflitos de dependências.

Passo 4: Testar

Reinicie o Claude Desktop. Clique no ícone de configurações — você deve ver "MCP Docker" listado. Clique para verificar que suas ferramentas estão carregadas.

Então simplesmente pergunte: "Busque no meu cofre do Obsidian notas sobre planejamento de projetos."

O Claude reconhecerá que tem a ferramenta search_vault, pedirá permissão para usá-la (apenas na primeira vez se você escolher) e retornará resultados do seu cofre real.

A primeira vez que vi isso funcionar, literalmente disse "Tá de brincadeira?" em voz alta. Numa sala vazia. Às 2 da manhã.

Construindo um Servidor MCP Personalizado

O catálogo é ótimo para ferramentas comuns. Mas o verdadeiro poder se desbloqueia quando você constrói servidores personalizados para suas necessidades específicas.

O vídeo do NetworkChuck mostrou algo insano: ele construiu um servidor MCP que encapsula ferramentas do Kali Linux. Sua IA podia rodar scans nmap, usar Metasploit e enumerar alvos — tudo através de linguagem natural.

Eu construí algo menos dramático mas mais prático para meu trabalho diário: um servidor MCP que encapsula a API do CMS do meu blog. Aqui está o esqueleto:

#!/usr/bin/env python3
"""Servidor MCP personalizado para o CMS do blog mejba.me."""

import json
import httpx
from mcp.server import Server
from mcp.types import Tool, TextContent

app = Server("blog-cms")

BASE_URL = "https://mejba.me/api"
API_TOKEN = "your-api-token"

@app.list_tools()
async def list_tools():
    return [
        Tool(
            name="create_draft",
            description="Create a new blog post draft with title, content, and tags",
            inputSchema={
                "type": "object",
                "properties": {
                    "title": {"type": "string", "description": "Post title"},
                    "content": {"type": "string", "description": "Markdown content"},
                    "tags": {"type": "array", "items": {"type": "string"}}
                },
                "required": ["title", "content"]
            }
        ),
        Tool(
            name="list_recent_posts",
            description="List the most recent blog posts with their status",
            inputSchema={
                "type": "object",
                "properties": {
                    "limit": {"type": "integer", "default": 10}
                }
            }
        ),
        Tool(
            name="get_post_analytics",
            description="Get view count and engagement metrics for a post",
            inputSchema={
                "type": "object",
                "properties": {
                    "slug": {"type": "string", "description": "Post slug"}
                },
                "required": ["slug"]
            }
        )
    ]

@app.call_tool()
async def call_tool(name: str, arguments: dict):
    headers = {"Authorization": f"Bearer {API_TOKEN}"}

    if name == "create_draft":
        response = httpx.post(
            f"{BASE_URL}/posts",
            headers=headers,
            json={
                "title": arguments["title"],
                "content": arguments["content"],
                "tags": arguments.get("tags", []),
                "status": "draft"
            }
        )
        data = response.json()
        return [TextContent(
            type="text",
            text=f"Draft created: {data['slug']} (ID: {data['id']})"
        )]

    elif name == "list_recent_posts":
        limit = arguments.get("limit", 10)
        response = httpx.get(
            f"{BASE_URL}/posts?limit={limit}", headers=headers
        )
        posts = response.json()
        result = "\n".join(
            f"- [{p['title']}] ({p['status']}) - {p['views']} views"
            for p in posts
        )
        return [TextContent(type="text", text=result)]

    elif name == "get_post_analytics":
        response = httpx.get(
            f"{BASE_URL}/posts/{arguments['slug']}/analytics",
            headers=headers
        )
        data = response.json()
        return [TextContent(
            type="text",
            text=json.dumps(data, indent=2)
        )]

if __name__ == "__main__":
    import asyncio
    from mcp.server.stdio import stdio_server
    asyncio.run(stdio_server(app))

Encapsule isso em um Dockerfile, e qualquer cliente compatível com MCP pode usar o CMS do seu blog através de linguagem natural. "Ei Claude, crie um rascunho de post sobre MCP com essas tags." Pronto.

O padrão funciona para qualquer coisa com uma API: dashboards internos, bancos de dados, dispositivos IoT, pipelines de CI/CD. Se tem uma API, você pode encapsulá-lo em um servidor MCP em menos de uma hora.

Os Erros Honestos que Cometi

Quero ser transparente sobre o que me fez tropeçar, porque acho que são erros que a maioria das pessoas vai cometer.

Erro 1: Tratar agentes MCP como automação tradicional. Meu primeiro instinto foi construir fluxos rígidos — "Quando eu disser X, faça Y." Mas o ponto central do paradigma de agentes é que o LLM decide quais ferramentas usar e quando. Eu ficava restringindo demais. Os melhores resultados vieram quando dei ao Claude um objetivo e deixei ele descobrir a sequência de ferramentas.

Erro 2: Ignorar o modelo de permissões. Servidores MCP podem acessar seus arquivos, suas APIs, sua rede. O Claude Desktop pede permissão antes de cada uso de ferramenta (a menos que você permita permanentemente). Desativei os prompts de confirmação por conveniência e depois esqueci que tinha um servidor MCP conectado ao meu email. O Claude gentilmente "organizou" minha caixa de entrada baseado em um comentário casual que fiz. Lição aprendida: mantenha as permissões restritas até confiar no fluxo de trabalho.

Erro 3: Esperar perfeição dos modelos locais. Tentei rodar agentes conectados a MCP pelo LM Studio com Llama 3.1. A seleção de ferramentas foi notavelmente pior que com o Claude. Modelos locais funcionam, mas precisam de prompts mais explícitos sobre quando e como usar ferramentas. Claude e GPT-4 são significativamente melhores na seleção autônoma de ferramentas — por enquanto.

Aqui vai uma opinião controversa: acho que a maioria dos produtos de "agentes de IA" sendo vendidos agora são na verdade fluxos de trabalho de Nível 2 vestindo fantasia de agente. Seguem caminhos predefinidos com um pouco de tomada de decisão de LLM salpicada. Verdadeiros agentes de Nível 3 — onde o LLM genuinamente raciocina sobre seleção de ferramentas, ordem de execução e itera autonomamente — são raros fora de demos de pesquisa e um punhado de implementações reais.

Dito isso, o MCP é a camada de infraestrutura que torna agentes reais possíveis. O protocolo existe. As ferramentas existem. O que está evoluindo é a capacidade de raciocínio dos próprios modelos.

Como Isso Se Parece na Prática

Depois de três semanas construindo fluxos de trabalho baseados em MCP, aqui está meu antes/depois concreto:

Pesquisa para o blog — Antes: 2-3 horas assistindo vídeos do YouTube manualmente, fazendo anotações, cruzando referências com documentação. Depois: 25 minutos. O Claude puxa transcrições do YouTube via MCP, busca no meu cofre de pesquisa do Obsidian notas relacionadas e redige um esboço estruturado. Eu edito a partir dali.

Configuração de projetos de clientes — Antes: 45 minutos criando repos, configurando CI/CD, adicionando ao rastreador de projetos. Depois: 8 minutos. O Claude cria o repo no GitHub, inicializa a estrutura do projeto, adiciona ao ClickUp com marcos e envia uma notificação pelo Slack para a equipe. Tudo através de ferramentas conectadas por MCP.

Preparação do standup diário — Antes: 15 minutos verificando ClickUp, PRs do GitHub e canais do Slack. Depois: 2 minutos. "No que eu trabalhei ontem e o que está pendente para hoje?" O Claude verifica os três e me dá um resumo.

As economias de tempo são reais. Não teóricas. Não "até X%." Esses são meus números reais das últimas três semanas.

Mas — e isso importa — a configuração inicial me tomou um fim de semana inteiro. Instalar Docker, configurar servidores, testar conexões, debugar quando as coisas não funcionavam. Uma vez rodando, é mágico. Chegar lá requer paciência.

Para Onde Isso Vai

O NetworkChuck mencionou algo no final do seu vídeo que acho que a maioria dos espectadores passou batido: o Docker MCP Gateway. Isso torna seus servidores MCP locais acessíveis remotamente — o que significa que ferramentas como n8n, Make.com ou qualquer plataforma de automação externa podem se conectar aos seus servidores MCP pela rede.

Pense no que isso significa. Seu agente de IA não está mais limitado à sua máquina local. Você poderia ter um fluxo de trabalho no n8n que aciona um agente Claude que usa seus servidores MCP personalizados rodando em um VPS. O agente raciocina sobre o que fazer, usa ferramentas através do MCP e retorna resultados — tudo sem intervenção humana.

Ainda não chegamos lá para a maioria dos casos de uso em produção. Mas a distância entre "demo" e "produção" está diminuindo mais rápido do que eu esperava.

Se você levar uma coisa deste post: não espere até que os agentes de IA estejam "prontos." A infraestrutura — MCP, contêineres Docker, LLMs com chamada de ferramentas — está aqui agora. Os desenvolvedores que aprenderem essa stack hoje terão uma vantagem enorme quando as capacidades de raciocínio se equipararem.

Estou apostando meu fluxo de trabalho nisso. E honestamente? Três semanas depois, já está dando resultado.

Vamos Trabalhar Juntos

Quer construir sistemas de IA, automatizar fluxos de trabalho ou escalar sua infraestrutura tecnológica? Adoraria ajudar.

Coffee cup

Gostou deste artigo?

Seu apoio me ajuda a criar mais conteúdo técnico aprofundado, ferramentas open-source e recursos gratuitos para a comunidade de desenvolvedores.

Tópicos Relacionados

Engr Mejba Ahmed

Engr Mejba Ahmed

Engr. Mejba Ahmed builds AI-powered applications and secure cloud systems for businesses worldwide. With 8+ years shipping production software in Laravel, Python, and AWS, he's helped companies automate workflows, reduce infrastructure costs, and scale without security headaches. He writes about practical AI integration, cloud architecture, and developer productivity.

Artigos Relacionados

Ver Todos

Comments

Leave a Comment

Share a question or add to the discussion.

Comments are moderated before appearing.

Learning Resources

Expand Your Knowledge

Accelerate your growth with structured courses, verified certificates, interactive flashcards, and production-ready AI agent skills.

Sample Certificate of Completion

Sample certificate — complete any course to earn yours

Engr Mejba Ahmed

Engr Mejba Ahmed

AI assistant · trained on my work

👋

Hey there!

Quick Actions

WhatsApp Direct line to me

Chat on WhatsApp

+880 1723 741224 · Replies within the hour on working days

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

mejba.13@gmail.com

✓ Details sent! I'll get back to you shortly.

Powered by Claude

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support