Servidor MCP para Unreal: Blueprints e configuração do Claude, passo a passo
Configure um servidor MCP para Unreal para que o Claude crie Blueprints, faça spawn de atores e edite assets dentro de um editor do Unreal Engine 5 aberto. Escolha um servidor, ative os plugins, escreva a configuração do Claude Code ou do Desktop e corrija os erros de conexão mais comuns.
Você digita uma frase numa janela de chat, e um asset de Blueprint aparece no seu Content Browser. Essa é a promessa de um servidor MCP para Unreal: um pequeno programa de ponte que permite ao Claude conversar com um editor do Unreal Engine em execução, pelo Model Context Protocol. A promessa é real, mas a configuração tem armadilhas. Você lida com dois plugins do editor, uma ou duas portas, um arquivo JSON e alguns limites que ninguém menciona até topar com eles. Este artigo percorre a cadeia inteira, desde ativar os plugins certos até escrever prompts que geram Blueprints limpos, e é honesto sobre o que o Claude ainda não consegue fazer dentro de um grafo de Blueprint.
O que um servidor MCP para Unreal faz
Um servidor MCP é um programa que expõe ferramentas para um cliente de IA. O Claude enxerga um menu com opções como "criar Blueprint", "instanciar ator" ou "executar script no editor", e escolhe deste menu sempre que seu prompt exige uma ação dentro da engine. A parte do Unreal é simples, porque o editor já vem com maneiras de aceitar comandos externos. O servidor traduz as chamadas de ferramenta do Claude em esses comandos e devolve a resposta do editor.
As três peças em movimento
Toda configuração tem as mesmas três peças, qualquer que seja o servidor escolhido:
Peça
O que é
Onde roda
Cliente Claude
Claude Code ou Claude Desktop
Na sua máquina
Servidor MCP
Um programa-ponte em Python ou Node
Na sua máquina, iniciado pelo cliente
Editor do Unreal
Plugin Python mais execução remota ou a Remote Control API
Na sua máquina, com um projeto aberto
O cliente inicia o servidor como um processo filho e conversa com ele pela entrada e saída padrão. Em seguida, o servidor alcança o editor por localhost. Nada sai do seu computador, exceto os prompts que você envia ao próprio Claude.
Por que não colar código
Sem uma ponte, você pede ao Claude um script em Python, copia, cola no console Python do editor, lê o erro e copia o erro de volta. Com o servidor, o Claude executa o script sozinho, lê a resposta do editor e corrige os próprios erros. O ciclo se fecha sem você no meio.
O Claude vê o resultado real, então um caminho de asset errado é corrigido na hora
Tarefas repetitivas, como renomear 200 assets, viram um único prompt
Suas mãos ficam dentro do editor enquanto o chat cuida do trabalho de configuração
Os melhores servidores vão muito além das tarefas com assets. A página do UEMCP diz que o Claude pode instanciar atores, construir materiais, criar Blueprints, gerenciar assets, controlar a câmera da viewport e tirar capturas de tela, tudo a partir de uma conversa. As capturas importam mais do que parece: quando o seu cliente aceita resultados em imagem, o Claude consegue olhar a viewport depois de uma mudança e conferir o resultado com o seu pedido, em vez de confiar só numa mensagem de sucesso.
Escolha primeiro o servidor certo
Existem vários servidores de código aberto, e eles alcançam a engine por três caminhos diferentes. Escolha pela forma como você gosta de trabalhar, não pela popularidade.
Servidores de execução remota em Python
O UEMCP é o exemplo mais claro. Ele fala o protocolo de execução remota em Python que já vem embutido na engine, o mesmo lookup multicast e canal de comandos TCP que acompanha o Unreal. Sua página no PyPI lista o Unreal Engine 5.0 a 5.6 e o Python 3.10 ou mais recente, e expõe ferramentas de Blueprint para criar um Blueprint, adicionar um componente e definir uma propriedade padrão. Nada para compilar.
Servidores com a Remote Control API
O unreal-engine-mcp segue pela rota HTTP. Ele combina a Remote Control API com Python dentro do editor, escuta na porta 30010 por padrão, e sua página lista 162 ferramentas, incluindo importação de assets, criação de níveis, grafos de materiais, geração de classes em C++ e empacotamento. Ele informa ter sido testado no Unreal Engine 5.8. Também nada para compilar.
Servidores com plugin em C++
Alguns projetos trazem um plugin em C++ que abre um socket dentro do editor, e um servidor em Python se conecta a esse socket. Você ganha acesso mais profundo, porque o código do plugin alcança partes internas do editor que o Python não alcança. O preço é uma compilação para cada versão da engine. O plugin UnrealMCP funciona assim: você o coloca na pasta Plugins do seu projeto, executa o script de configuração e aponta o Claude Desktop para o seu script de execução.
Rota
Precisa compilar
Conexão
Melhor para
Execução remota em Python
Não
Lookup UDP multicast, depois TCP
Configuração rápida, tarefas com assets
Remote Control API
Não
HTTP na porta 30010
Listas longas de ferramentas, construção de níveis
Plugin em C++
Sim
Socket TCP personalizado
Acesso profundo ao editor
💡 Escolha rápida: Se você nunca usou um servidor MCP, siga pela rota de execução remota em Python. Ela precisa de um comando no Claude Code e de nenhum compilador. Passe para um plugin em C++ só quando bater numa parede que o Python não consegue atravessar.
Prepare o editor do Unreal
As duas rotas sem compilação dependem de plugins que já vêm com a engine. Ative-os uma vez por projeto. Antes de tudo, confira a versão da sua engine contra a faixa listada pelo servidor: o UEMCP lista 5.0 a 5.6, enquanto o servidor com Remote Control informa testes na 5.8. Numa versão fora da lista, espere que algumas chamadas da API Python se comportem de forma diferente.
💡 Use um projeto de testes: Faça sua primeira sessão num projeto em branco com a mesma versão da engine. Um nível descartável não custa nada, e qualquer surpresa fica longe dos seus assets reais.
Ative os plugins
Abra Edit ▸ Plugins no editor.
Procure Python Editor Script Plugin e marque a caixa.
Na rota com Remote Control, procure também Remote Control API e marque a caixa.
A configuração fica no config do seu projeto, então você faz isso uma vez só. Faça commit da mudança de config no controle de versão para que os colegas herdem a alteração.
Inicie o servidor web
A rota com Remote Control precisa do servidor HTTP em execução. Abra o console no Output Log e execute:
WebControl.StartServer
O servidor responde na porta 30010, a não ser que você a tenha alterado. Mantenha o editor aberto e ocioso enquanto testa: os comandos rodam dentro do editor, então um editor ocupado compilando shaders responde devagar. O timeout padrão do UEMCP é de 120 segundos por comando, o que é generoso, mas não infinito.
Conecte o Claude ao editor
Com o editor pronto, registre o servidor no seu cliente Claude. Escolha o cliente que você já usa.
Claude Code em um comando
Para a rota de execução remota em Python:
claude mcp add unreal -- uvx uemcp
Para a rota com Remote Control:
claude mcp add unreal-mcp -- python -m unreal_mcp.server
O primeiro comando precisa do uv instalado, porque uvx executa o pacote sem instalação manual. Execute claude mcp list para confirmar que o servidor está registrado, ou digite /mcp dentro de uma sessão para ver o status da conexão.
Configuração JSON do Claude Desktop
Abra Settings ▸ Developer ▸ Edit Config. No Windows, o arquivo fica em %APPDATA%\Claude\claude_desktop_config.json. Adicione uma entrada em mcpServers:
Feche o Claude Desktop por completo, não só a janela, e depois abra-o de novo.
💡 Cuidado com as vírgulas: Uma vírgula sobrando ou uma chave faltando torna o arquivo inteiro inválido, e o servidor simplesmente nunca aparece. Cole o arquivo em qualquer validador de JSON antes de reiniciar.
Teste com um prompt simples
Abra antes um projeto no editor e depois pergunte:
Liste os atores do nível atual e me diga quantos deles são luzes.
Se o Claude responder com nomes que batem com o seu World Outliner, a cadeia funciona. Se ele disser que não tem ferramentas do Unreal, o cliente nunca carregou o servidor, então revise a configuração antes de mexer no editor.
Crie Blueprints pelo chat
Quando a conexão se mantém, o trabalho útil começa. Um Blueprint é uma classe, e criar uma classe com componentes e valores padrão é exatamente o tipo de tarefa estruturada que o Claude faz bem por meio de chamadas de ferramenta.
O que o Claude consegue construir hoje
Pelos servidores baseados em Python, as tarefas confiáveis incluem:
Criar uma classe de Blueprint a partir de uma classe pai como Actor, Pawn ou Character
Adicionar componentes: static meshes, colisão em caixa e esfera, luzes pontuais
Definir valores padrão para variáveis, meshes, materiais e predefinições de colisão
Instanciar Blueprints no nível aberto em posições exatas
Criar materiais e data assets e salvá-los
Aqui está um prompt que exercita a maior parte dessa lista:
Create an Actor Blueprint at /Game/Blueprints/BP_Pickup.
Add a StaticMesh component named PickupMesh using the engine Sphere mesh,
and a SphereCollision component named PickupTrigger with radius 120.
Set PickupMesh scale to 0.5 on every axis.
Then spawn three instances in the open level, 400 units apart along X.
Report the asset path and actor names when you are done.
O Claude divide isso em várias chamadas de ferramenta, verifica cada resposta e tenta de novo quando o editor devolve um erro. Você vê os assets aparecendo no Content Browser conforme ele trabalha.
Uma boa primeira sessão tem quatro etapas:
Peça um relatório somente de leitura, como "liste todos os Blueprints em /Game/Blueprints".
Peça um Blueprint novo com dois componentes.
Abra-o no editor e compare com o que o Claude informou.
Peça uma pequena edição, como um raio de esfera maior, e confirme o valor no painel Details.
Se as quatro etapas funcionarem, você sabe que o pipeline lê, escreve e verifica. Só então peça trabalhos maiores, como decorar uma sala inteira com props.
Onde os grafos de Blueprint param
Aqui está o limite que a maioria dos tutoriais deixa de lado. A documentação de um dos servidores afirma claramente que os grafos de nós de Blueprint não podem ser criados a partir do Python. Componentes, valores padrão e variáveis funcionam bem. Conectar um Event Graph nó por nó não é confiável nessa rota.
A solução alternativa é uma divisão limpa de trabalho. O Claude escreve a lógica numa classe pai em C++, expondo-a com UFUNCTION(BlueprintCallable) e BlueprintImplementableEvent. Você compila. Depois, o Claude cria um Blueprint filho, define seus valores padrão e o posiciona no nível. O grafo fica pequeno porque a lógica real está em C++.
Tarefa
Rota só com Python
Com uma classe pai em C++
Adicionar componentes
Confiável
Confiável
Definir valores padrão
Confiável
Confiável
Conectar nós do Event Graph
Não confiável
Chama funções em C++
Lógica reutilizável
Difícil de compartilhar
Fica em uma única classe
Servidores mais novos anunciam leitura e edição diretas de grafos de Blueprint em versões recentes da engine. Trate isso como algo promissor e teste numa cópia do seu projeto antes de confiar nisso para trabalho real.
Prompts que funcionam no Unreal
O servidor faz a digitação. Seu prompt ainda decide o resultado. Estes hábitos reduzem bastante a taxa de novas tentativas:
Nomeie cada asset e cada caminho. "BP_Pickup em /Game/Blueprints" é melhor do que "um pickup".
Peça uma mudança de cada vez. Passos pequenos são fáceis de verificar e fáceis de desfazer.
Termine com um pedido de relatório. "Liste o que você alterou" lhe dá uma checklist para comparar com o editor.
Informe a versão da engine. Os nomes da API Python mudam entre versões, então diga "Unreal 5.6" logo no início.
Adie o salvamento. Peça ao Claude que espere antes de salvar todos os assets até você revisar o resultado.
Faça commit antes. Use Git com LFS ou Perforce, e faça commit antes de cada sessão para que uma execução ruim fique a um revert de distância.
Prompt vago
Prompt melhor
"Faça uma porta"
"Crie BP_Door em /Game/Props com um componente de static mesh chamado DoorMesh e um gatilho em caixa de 200 unidades de largura. Informe o caminho."
"Conserte minha iluminação"
"Liste cada luz do nível com sua intensidade e mobilidade. Não mude nada ainda."
"Limpe os assets"
"Liste as texturas em /Game/Textures maiores que 4096 pixels. Não apague nada."
💡 Modelo de quatro linhas: Objetivo, caminho do asset, restrições, o que informar. Use-o sempre e seus prompts ficam curtos e precisos.
Sessões longas perdem o rumo. Depois de 20 ou 30 chamadas de ferramenta, o Claude pode perder a noção de quais assets existem e começar a chutar caminhos. Quando isso acontecer, abra um chat novo e cole um resumo curto do estado atual: as pastas em uso, os nomes dos Blueprints e a regra de nomenclatura. Um resumo de dez linhas vale mais do que um histórico de duas horas.
Corrija problemas de conexão rapidamente
A maioria das falhas cai em alguns padrões:
Sintoma
Causa provável
Correção
Servidor ausente no Claude
JSON inválido, ou uvx e python fora do PATH
Valide o JSON, execute uvx --version, reinicie o cliente
Nenhuma resposta HTTP
Servidor web não está em execução
Execute WebControl.StartServer no console do editor
Comandos rejeitados
Execução remota desativada
Revise Enable Remote Execution e reinicie o editor
Timeouts
Editor ocupado com shaders ou carregamento de nível
Espere o editor ficar ocioso e tente de novo
Porta já em uso
Outro app usa a 30010
Altere UE_MCP_PORT e a porta do Remote Control para coincidirem
Editor nunca encontrado
Firewall ou VPN bloqueia o multicast
Libere UDP em 239.0.0.1:6766 ou pause a VPN
Quando algo falhar, leia primeiro o Output Log do editor. Erros Python de comandos remotos aparecem ali, e o Claude costuma precisar desse texto exato para resolver o problema. Se o seu cliente não repassou o erro, cole-o no chat você mesmo.
A documentação de um dos servidores também aponta para bEnableRemotePythonExecution=True em DefaultRemoteControl.ini quando a execução remota continua bloqueada, então verifique esse arquivo se a checklist acima não resolver.
Proteja a conexão
A própria página do UEMCP alerta que o protocolo de execução remota não tem autenticação. Qualquer um que consiga alcançar a porta pode executar Python dentro do seu editor. Mantenha a conexão em localhost, nunca exponha as portas em Wi-Fi de escritório compartilhado e crie uma regra de firewall se sua máquina estiver numa rede que você não controla. O Claude Code também pede permissão antes de chamadas de ferramenta, então leia com atenção qualquer pedido que execute Python arbitrário antes de aprovar.
Experimente com o PicassoIA
Um projeto do Unreal precisa de mais do que Blueprints. Ele precisa de especificações de design, briefings de nível e referências visuais, e o PicassoIA cuida dessa parte no navegador.
Use o Claude Sonnet 5 no PicassoIA
Planeje o sistema no PicassoIA primeiro e depois leve o resultado organizado para a sua sessão do Unreal. Esta é a rotina com o Claude Sonnet 5:
Abra a página do Claude Sonnet 5 no PicassoIA.
Descreva o objetivo com palavras simples: "Um ator de pickup que gira, toca um som e se destrói ao entrar em sobreposição. Unreal 5.6."
Peça uma especificação numerada listando componentes, variáveis, eventos e caminhos de assets.
Peça que reescreva cada linha da especificação como um prompt independente que termine com "informe o que você alterou".
Cole esses prompts, um de cada vez, na sua sessão do Claude Code conectada ao servidor MCP do Unreal.
Duas dicas de parâmetros: mantenha o pedido em um único sistema por execução e informe a versão da engine na primeira frase. Para um sistema de gameplay maior, experimente o Claude Fable 5 ou o Claude Opus 4.7, e para rascunhos rápidos de headers em C++, o Gemini 3.5 Flash é ágil.
Antes de pedir ao Claude que construa um pátio, o interior de uma nave ou uma clareira na floresta, dê a todos a mesma imagem do clima desejado. Modelos de imagem no PicassoIA, como o Seedream 5 Pro, o GPT Image 2 e o Flux 2 Pro, transformam uma frase em um quadro de referência fotorrealista em segundos. Eles produzem imagens 2D, então use-as como um briefing visual para iluminação, materiais e decoração de cenário, e depois peça ao Claude que construa o nível para combinar.
Escolha uma cena do seu projeto atual do Unreal e escreva uma descrição de um parágrafo sobre ela. Abra o PicassoIA, gere três imagens de referência a partir desse parágrafo e fique com a que parecer certa. Cole a descrição no seu próximo prompt para o Claude e veja como o primeiro resultado chega mais perto do esperado. Seu pipeline fica mais rápido no momento em que os prompts e as imagens combinam.