Pular para o conteúdo
fernando.moretes.com
BlogEstudosCursosE-booksOpen SourcePodcasts
Loading…
Fernando Azevedo

Arquiteto de TI Especialista

Arquitetura, AWS, IA em produção, sistemas financeiros e FinOps, escritos a partir do que foi operado, com os números.

  • LinkedIn
  • GitHub
  • E-mail

Conteúdo

  • Blog
  • Estudos de arquitetura
  • Cursos
  • E-books
  • Open Source
  • Podcasts
  • Assuntos
  • Trilhas

Ferramentas

  • Moretes Architect MCP
  • Well-Architected self-check
  • Arquitetura deste site
  • Números públicos
  • Histórico de estudo

Sobre

  • Comunidade
  • IA Builder
  • Perfil
  • Currículo (CV)
  • Trabalhe comigo
  • Media kit
  • RSS do blog
  • RSS dos estudos
  • Artigos narrados (podcast)
  • llms.txt
  • Termos, privacidade e uso de IA

(c) 2026 Fernando Francisco Azevedo

MCP para Arquitetos: o Moretes Architect na prática/O que é MCP e o que é o Moretes Architect
Módulo 1 · Começar· Aula 01/10

O que é MCP e o que é o Moretes Architect

O protocolo que liga seu agente a ferramentas, um servidor de arquitetura que calcula em vez de opinar, e o caso de marketplace que atravessa as 10 aulas.

11 min de leitura

Escolha como aprender

combine como quiser

Dica: o vídeo é um resumo visual rápido; o áudio e o texto trazem a aula completa. Terminar o áudio ou o vídeo, ou passar no quiz, já conta a aula como concluída.

Assista a esta aula
Narrado por Fernando AzevedoMP4PDF
Ouça esta aula
0:0012:44
Velocidade
Baixar

MCP é o protocolo que liga o agente que você já usa (Claude Code, Codex, Kiro, Cursor, VS Code) a ferramentas que fazem o trabalho que o modelo não deveria fazer de cabeça: calcular, estruturar, citar fonte, apontar o que falta. O Moretes Architect é um servidor MCP de arquitetura, aberto e sem modelo dentro. Nesta aula você entende o que cada peça faz, vê o servidor respondendo de verdade dentro do Claude Code e conhece o caso que vai atravessar as 10 aulas.

MCP em dois parágrafos

MCP (Model Context Protocol) é um protocolo aberto entre dois lados: o cliente, que é o agente onde o modelo roda (Claude Code, Codex, Kiro, Cursor, VS Code, Gemini CLI, Amazon Q), e o servidor, que oferece três coisas. Tools são funções com nome, esquema de entrada em JSON e um resultado: o modelo decide chamar, o servidor executa. Prompts são roteiros prontos que o cliente pode carregar para orientar o modelo. Resources são documentos endereçados por URI que o modelo pode ler, como moretes://guide. O cliente lista o que o servidor tem, o modelo escolhe, o cliente chama, o servidor responde JSON. Só isso.

A divisão de trabalho é o que importa. O modelo raciocina: entende seu pedido, escolhe a ferramenta, monta os argumentos, interpreta o resultado e escreve a resposta. O servidor executa: calcula, valida esquema, devolve estrutura. Nenhum dos dois faz o papel do outro. Quando você pede "calcule a concorrência para 5 requisições por segundo", o modelo não multiplica de cabeça; ele chama capacity_plan e lê o número que voltou. O transporte pode ser stdio (o cliente sobe o servidor como processo filho na sua máquina) ou Streamable HTTP (o cliente fala com uma URL). O Moretes Architect oferece os dois, e a aula 2 mostra o comando de cada cliente.

Por que um workbench de arquitetura sem modelo dentro

O Moretes Architect é determinístico: o servidor nunca chama um modelo. A mesma entrada devolve a mesma saída, hoje e daqui a seis meses. Isso foi uma decisão de operação, não de estética. Em 30 dias de geração de conteúdo em lote no Bedrock, eu gastei US$ 84 contra um teto de US$ 5 por mês; um serviço público que pagasse por token a cada chamada seria uma conta sem dono. Sem modelo, o custo marginal de uma chamada é o de um Lambda de 256 MB rodando alguns milissegundos.

O que o servidor devolve, então, são quatro coisas. Cálculos: concorrência, tamanho de fila, orçamento de latência, crescimento de armazenamento, erro budget do SLO. Estruturas: um ADR com alternativas e consequências, um modelo C4, um contrato de evento, um runbook, um plano de migração. Fontes: toda resposta heurística traz um campo sources com URL de documentação oficial, e as ferramentas aws_knowledge_* consultam o AWS Knowledge MCP oficial em tempo real. Lacunas explícitas: decisionsToClarify, limitations, validated: false. O servidor prefere dizer "não sei isto" a preencher com suposição.

A palavra heurística aparece em quase toda resposta e tem um sentido preciso aqui: é triagem, não certificação. Um threat_model do Moretes Architect encontra o que um checklist encontra; ele não substitui um pentest, uma revisão oficial Well-Architected ou um parecer jurídico. Se a ferramenta diz que uma política IAM tem * demais, isso é um ponto para você olhar, não um laudo.

Os 8 grupos e as 48 ferramentas públicas, de relance

GrupoExemplos (total)Quando usar
Personas e códigoarchitect_panel, code_review_architecture, dependency_manifest_review (3)Antes de desenhar, para saber que perguntas cada papel faria; ao revisar código ou package.json colado como texto.
Arquitetura e decisõesrequirements_check, architecture_pattern, service_compare, capacity_plan, cost_model, threat_model, decision_record (14)O miolo do curso: do requisito ao ADR, passando por número de capacidade, custo e risco.
Desenho: diagramas, dados, contratosc4_model, sequence_diagram, service_equivalents, data_classification, openapi_review, event_contract (6)Quando precisa de um desenho que o time consiga ler, de um equivalente em Azure/GCP/OCI/OSS ou de revisar uma API antes de publicar.
Confiabilidade, operação e FinOpslatency_budget, queue_sizing, dr_strategy, retry_policy, storage_growth, finops_unit_economics, postmortem, runbook (8)Depois que o desenho existe: quanto aguenta, quanto custa por pedido, como falha e como volta.
Agentes de IA e segurança de MCPagent_eval_plan, prompt_injection_checklist, rag_pipeline_plan, mcp_server_review, mcp_config_review (5)Antes de colocar um agente em produção, e antes de confiar em qualquer servidor MCP de terceiro, inclusive este.
Revisão de infraestrutura como códigoiam_policy_review, cloudformation_review, terraform_plan_review, kubernetes_manifest_review (4)No pull request, com o terraform show -json ou o template colado; trava em achado alto até um humano decidir.
AWS Knowledge ao vivoaws_knowledge_search, aws_knowledge_read, aws_regions, aws_regional_availability, aws_skill (5)Quando o número precisa de fonte datada: limite de serviço, disponibilidade por região, página oficial. Esta consulta sai do servidor.
Integrações oficiais AWS e GitHubintegration_catalog, integration_config, github_public_repository (3)Para descobrir qual servidor MCP oficial da AWS cobre um serviço e gerar a configuração com versão fixada.

As 10 personas são lentes, não pareceres

Em src/personas.ts moram 10 arquitetos: solution, enterprise, business, data, infrastructure, software, ai, security, governance e finops. Cada um é um objeto com mandate, questions, checks, deliverables, tools e antiPatterns. Nenhum deles raciocina sozinho. A persona é uma lente: o modelo do seu cliente a adota e passa a fazer as perguntas daquele papel, cobrar as entregas daquele papel e chamar as ferramentas daquele papel.

Elas chegam até você por três caminhos. A tool architect_panel convoca várias de uma vez sobre um assunto e devolve, por papel, o que perguntar primeiro (askFirst), o que checar, o que entregar e quais ferramentas chamar. Os 10 prompts architect_<role> fazem o modelo vestir uma lente só, por exemplo architect_finops quando a conversa é sobre custo. E os 10 resources moretes://personas/<id> deixam o modelo ler a definição inteira do papel.

Por que isso importa num time de 4 pessoas, como o do nosso exemplo? Porque ninguém ali é arquiteto de segurança em tempo integral, e a pergunta "como os segredos são emitidos, rotacionados e revogados?" precisa ser feita mesmo assim. O painel garante que a pergunta apareça antes do desenho congelar. Se a sua empresa tem esses papéis de verdade, a persona não os substitui: ela adianta a pauta da reunião.

Remoto público ou stdio local: o que cada um faz e o que sai da sua máquina

AspectoRemoto público (Streamable HTTP)Local (stdio)
Como conectaUma URL, sem chave de API: https://mcp.moretes.com/mcp (ou o alias fernando.moretes.com/api/mcp). Um comando no cliente e pronto.git clone, npm ci --ignore-scripts, npm run build, depois node dist/stdio.js apontado no cliente. Node.js 22.13+.
FerramentasAs 48 públicas. Nunca as de conta AWS: o HTTP sempre sobe createServer(false), mesmo se a variável de ambiente estiver ligada por engano.As mesmas 48, mais 5 opt-in com ENABLE_AWS_ACCOUNT_TOOLS=true: identidade, inventário por tag, histórico de custo e federação para servidores oficiais da AWS.
O que sai da sua máquinaOs argumentos de cada chamada vão para um Lambda em us-east-1. O log guarda só id da requisição, status e duração. Daí, só aws_knowledge_* (AWS Knowledge MCP) e github_public_repository (api.github.com) saem do servidor.Nada, exceto as mesmas duas famílias que consultam a internet por definição: aws_knowledge_* e github_public_repository.
Cota300 requisições por dia por chamador (sha256 de dia + IP, o IP bruto nunca é gravado) e 3000 por dia no total; acima disso, 429. Throttle da API: 5 rps, burst 20.Sem cota. O limite é a sua máquina.
Quando usarPara aprender, para o caso de exemplo deste curso e para desenho que não é confidencial.Se a entrada é confidencial (arquitetura de cliente, plano do Terraform real, política IAM da sua conta), então local. Sem SLA no público, também.
A primeira chamada do curso. O pedido foi "Use o Moretes Architect: preciso de uma API de pedidos para um marketplace, 300 pedidos por minuto no pico. Pergunte o que falta antes de sugerir." O modelo chamou requirements_check e recebeu isto (encurtado de docs/examples/requirements_check.json).
json
{
  "kind": "heuristic-design-aid",
  "validated": false,
  "limitation": "Validate assumptions and current AWS documentation. This is not an official AWS review, security audit, deployment or price quote.",
  "sources": [
    "https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html"
  ],
  "workload": "API de pedidos para marketplace com pagamento por cartão, 300 pedidos/minuto no pico, clientes no Brasil",
  "constraints": ["Equipe de 4 pessoas", "Orçamento de USD 1.500/mês"],
  "decisionsToClarify": [
    "Business outcome and workload owner",
    "Data classification, residency and retention",
    "Traffic: normal/peak RPS, payloads and growth",
    "SLO, p95/p99 latency, RTO and RPO",
    "Authentication, authorization and tenancy",
    "Monthly budget, currency and pricing region",
    "Team skills, dependencies and migration constraints"
  ],
  "nextTools": ["architecture_pattern", "aws_knowledge_search", "decision_record"]
}
Ele calcula, não chuta. 300 pedidos por minuto são 5 por segundo; com 400 ms por chamada, 4 KB de payload e folga de 1,5, capacity_plan devolve (docs/examples/capacity_plan.json):
json
{
  "kind": "calculation",
  "assumptions": { "requestsPerSecond": 5, "durationMs": 400, "payloadKB": 4, "headroom": 1.5 },
  "averageConcurrency": 2,
  "plannedConcurrency": 3,
  "dailyRequests": 432000,
  "dailyPayloadGB": 1.728,
  "limitations": [
    "Assumes sustained rate all day; separate burst and average inputs",
    "Validate quotas, tail latency, downstream capacity, storage overhead and retries"
  ]
}

Leia o campo limitations antes do número

O 432000 de requisições por dia assume 5 por segundo durante 24 horas, e o próprio resultado avisa. Um marketplace brasileiro não tem 5 pedidos por segundo às 4 da manhã. O servidor devolve a conta certa para a hipótese que você deu; a hipótese continua sendo sua. É por isso que toda resposta traz validated: false e limitation: a ferramenta é triagem, e a decisão fica com quem assina. E não mande dado confidencial para o endpoint público; para isso existe o stdio local.

O caso que atravessa o curso: a plataforma de pedidos de um marketplace

Todas as 10 aulas usam o mesmo caso, com os mesmos números, para você ver uma arquitetura nascer de ponta a ponta em vez de 10 exemplos soltos. É o caso que os arquivos docs/examples/*.json do repositório já usam, então cada saída que você vir aqui é real.

Pedidos de um marketplace: 300 pedidos por minuto no pico, pagamento por cartão, clientes no Brasil, confirmação do pedido em menos de 2 segundos (p95), histórico guardado por 5 anos. Equipe de 4 pessoas, orçamento de USD 1.500 por mês, SLO de 99,9% mensal. Esses números não são decorativos: 300 por minuto vira 5 por segundo no capacity_plan, os 5 anos de histórico viram uma curva no storage_growth, os USD 1.500 viram teto no cost_model e o 99,9% vira 43 minutos de indisponibilidade por mês no slo_budget.

Ao fim das 10 aulas você terá, para esse caso, o que eu entregaria a um cliente: os requisitos checados e as lacunas nomeadas; o painel de arquitetos com as perguntas feitas antes do desenho; a comparação de alternativas de computação e de banco com fonte oficial datada; o diagrama C4 e o diagrama de sequência do checkout; o cenário de capacidade, latência e custo por pedido; a revisão da política IAM e da infraestrutura como código; o ADR com alternativas, consequências e testes pendentes; o ensaio de falha e o runbook; e a revisão de segurança do próprio agente que vai operar isso. Tudo gerado dentro do seu cliente, com as ferramentas desta aula. A aula 2 começa pelo passo zero: conectar, em cada cliente, em 30 segundos.

O que você leva desta aula

MCP é um protocolo entre cliente (onde o modelo roda) e servidor (tools, prompts, resources). O modelo raciocina; o servidor executa.
O Moretes Architect não tem modelo dentro: devolve cálculos, estruturas, fontes e lacunas explícitas. Mesma entrada, mesma saída, custo marginal de um Lambda.
48 ferramentas públicas em 8 grupos, 20 prompts (10 fluxos + 10 personas) e 18 resources. Heurística aqui significa triagem, não certificação.
As 10 personas são lentes que o modelo do seu cliente adota via architect_panel, prompts architect_<role> ou moretes://personas/<id>.
Público remoto: uma URL, 300 chamadas por dia por chamador, só argumentos saem da máquina. Local stdio: sem cota, ferramentas de conta AWS opt-in, entrada confidencial fica em casa.
O caso do curso é a plataforma de pedidos do marketplace: 300/min, USD 1.500/mês, 4 pessoas, SLO 99,9%. Cada aula adiciona um artefato real a ele.
Flashcards

Glossário da aula

Toque num cartão para virar.

Quiz

Checagem rápida

1. Numa sessão com o Moretes Architect no Claude Code, quem decide chamar `capacity_plan` e quem faz a conta?
2. O que significa `kind: "heuristic-design-aid"` com `validated: false` numa resposta do servidor?
3. Você vai revisar o plano do Terraform real de um cliente. Qual modo usar e por quê?
4. Você chamou `architect_panel` para o checkout do marketplace. O que volta para a persona `security`?

Referências

Model Context Protocol: specification and introduction · modelcontextprotocol.iomoretes-aws-architect-mcp (MIT) · GitHubMoretes Architect: public endpoint tool inventory · fernando.moretes.comMoretes Architect on fernando.moretes.com · fernando.moretes.comConnect Claude Code to tools via MCP · AnthropicAWS Well-Architected Framework · AWS
Concluir e ir para a próxima