Unreal-Blender MCP
Um servidor unificado para controlar Blender e Unreal Engine por meio de agentes de IA.
Documentação
Unreal-Blender MCP
O Unreal-Blender MCP é um servidor unificado para controlar tanto o Blender quanto o Unreal Engine por meio de agentes de IA usando a abordagem MCP (Machine Control Protocol).
Visão Geral
Este projeto estende o framework blender-mcp para incluir suporte ao Unreal Engine, permitindo que agentes de IA como Claude e ChatGPT controlem simultaneamente ambas as plataformas por meio de uma única interface.
Informações sobre Submódulo
Este projeto inclui blender-mcp como um submódulo Git. Ao clonar o repositório, use os seguintes comandos:
# Clone with submodules
git clone --recursive https://github.com/tahooki/unreal-blender-mcp.git
# Or clone normally and then initialize submodules
git clone https://github.com/tahooki/unreal-blender-mcp.git
cd unreal-blender-mcp
git submodule update --init --recursive
Recursos
- Controle Unificado: Servidor MCP único para controlar tanto o Blender quanto o Unreal Engine
- Integração com Agentes de IA: Projetado para funcionar com Claude, ChatGPT e outros assistentes de IA
- Recursos do Blender: Mantém toda a funcionalidade do blender-mcp, incluindo:
- Manipulação de cenas
- Criação e edição de objetos
- Gerenciamento de materiais
- Integração de assets PolyHaven
- Geração de modelos Hyper3D Rodin
- Recursos do Unreal Engine:
- Criação e gerenciamento de níveis
- Importação de assets
- Execução de código Python
- Manipulação de cenas
- Estrutura de Extensão: Estenda facilmente tanto o addon do Blender quanto o servidor, mantendo compatibilidade com atualizações upstream
Arquitetura
O sistema consiste em três componentes principais:
- Servidor MCP: Hub central que se comunica com agentes de IA via SSE (Server-Sent Events) na porta 8000
- Addon do Blender: Servidor socket dentro do Blender na porta 8400 (padrão) ou 8401 (estendido)
- Plugin do Unreal: Servidor HTTP dentro do Unreal Engine na porta 8500
[AI Agent] <--SSE--> [MCP Server (8300)]
|
|--HTTP--> [Blender Addon (8400)]
|
|--HTTP--> [Unreal Plugin (8500)]
Estrutura de Extensão
Este projeto usa uma abordagem de extensão para manter compatibilidade com alterações upstream:
- Extensão do Addon do Blender: Estende o
BlenderMCPServeroriginal mantendo o código original intacto - Extensão do Servidor: Aprimora o servidor original com ferramentas adicionais e integração com o Unreal Engine
- Ferramentas de Interface: Fornece utilitários para instalar, configurar e executar extensões
Essa abordagem permite atualizações fáceis dos projetos originais sem conflitos de código.
Guia Passo a Passo de Instalação e Configuração
Pré-requisitos
- Python 3.10 ou posterior
- Blender 3.0 ou posterior
- Unreal Engine 5.0 ou posterior
- Gerenciador de pacotes uv (instale com
pip install uvse você não o tiver)
1. Clone o Repositório
# Clone with submodules (recommended)
git clone --recursive https://github.com/tahooki/unreal-blender-mcp.git
cd unreal-blender-mcp
# Or if you already cloned without --recursive:
git clone https://github.com/tahooki/unreal-blender-mcp.git
cd unreal-blender-mcp
git submodule update --init --recursive
2. Configure o Ambiente Python
# Create a virtual environment and activate it
uv venv
# On Windows:
.\venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
# Install project dependencies
uv pip install -e .
3. Instale o Addon do Blender
Escolha UMA das seguintes opções:
Opção A: Addon Padrão (blender-mcp original)
- Abra o Blender
- Navegue até Editar > Preferências > Add-ons
- Clique no botão "Instalar..."
- Navegue e selecione o arquivo
blender-mcp/addon.py - Ative o addon "Interface: Blender MCP" (marque a caixa)
Opção B: Addon Estendido (Com recursos adicionais)
- Execute o script de instalação da extensão:
python -c "from src.unreal_blender_mcp.blender_addon import BlenderAddonManager; BlenderAddonManager().install_to_blender(force=True)" - Abra o Blender
- Navegue até Editar > Preferências > Add-ons
- Encontre e ative o addon "Interface: Extended Blender MCP" (marque a caixa)
4. Instale o Plugin do Unreal Engine
- Localize a pasta
UEPythonServerneste projeto - Copie a pasta inteira para o diretório
Pluginsdo seu projeto Unreal- Se o seu projeto não tiver um diretório
Plugins, crie um
- Se o seu projeto não tiver um diretório
- Inicie o Unreal Engine com o seu projeto
- Navegue até Editar > Plugins no menu
- Encontre e ative o plugin Python Server
- Reinicie o Unreal Engine quando solicitado
5. Inicie o Servidor MCP
Escolha UMA das seguintes opções:
Opção A: Servidor Padrão
# Make sure your virtual environment is activated
python main.py
Opção B: Servidor Estendido (Mais recursos)
# Make sure your virtual environment is activated
python run_extended_server.py
# Optional: Customize server options
python run_extended_server.py --host 127.0.0.1 --port 8080 --log-level DEBUG
6. Ative a Conexão do Servidor do Blender
- Inicie o Blender (se ainda não estiver em execução)
- No viewport 3D, pressione
Npara abrir o painel lateral - Selecione a aba apropriada:
- "BlenderMCP" (se estiver usando o addon padrão)
- "ExtBlenderMCP" (se estiver usando o addon estendido)
- Clique no botão "Start Server"
- Verifique se o servidor iniciou com sucesso (verifique a saída do console)
7. Verifique a Conexão do Unreal Engine
- Com o Unreal Engine em execução e o plugin ativado
- O servidor Python deve iniciar automaticamente
- Verifique o Log de Saída (Janela > Ferramentas de Desenvolvedor > Log de Saída) para ver mensagens
- O plugin do Unreal agora deve estar pronto para receber comandos
8. Conecte um Agente de IA
Opção A: Integre com o Claude para Desktop
Adicione o seguinte à configuração do Claude para Desktop:
{
"mcpServers": {
"unreal-blender": {
"command": "uvx",
"args": [
"unreal-blender-mcp"
]
},
"unreal-blender-ext": {
"command": "python",
"args": [
"/path/to/unreal-blender-mcp/run_extended_server.py"
]
}
}
}
Substitua /path/to/ pelo caminho real do seu projeto.
Opção B: Integre com o Cursor
-
Abra as Configurações do Cursor
-
Navegue até a seção MCP
-
Adicione os seguintes comandos:
- Servidor Padrão:
uvx unreal-blender-mcp - Servidor Estendido:
python /path/to/unreal-blender-mcp/run_extended_server.py
Substitua
/path/to/pelo caminho real do seu projeto. - Servidor Padrão:
Opção C: Integre com Outras Ferramentas de IA
Consulte a documentação da sua ferramenta de IA para integração com servidores MCP e aponte-a para:
- URL do Servidor MCP:
http://localhost:8000(ou porta personalizada, se especificada)
9. Testando o Sistema
Quando todos os componentes estiverem em execução:
-
Use seu agente de IA para interagir com o Blender pedindo que ele:
- Crie um cubo ou esfera simples
- Modifique propriedades de objetos
- Crie materiais
-
Use seu agente de IA para interagir com o Unreal Engine pedindo que ele:
- Crie um novo nível
- Posicione assets
- Modifique propriedades da cena
-
Experimente operações mais complexas que envolvam ambas as plataformas trabalhando juntas
Solução de Problemas
Se você encontrar problemas:
- Verifique se todos os servidores estão em execução (MCP, Blender, Unreal)
- Verifique se as configurações de porta correspondem (padrão: 8000 para MCP, 8400/8401 para Blender, 8500 para Unreal)
- Verifique as saídas do console para mensagens de erro
- Reinicie os componentes na ordem correta: primeiro o servidor MCP, depois o Blender e, em seguida, o Unreal Engine
Para informações mais detalhadas sobre desenvolvimento e extensão do sistema, consulte o Documento do Projeto e o diretório workflow.
Comparação: Padrão vs Estendido
| Recurso | Servidor Padrão | Servidor Estendido |
|---|---|---|
| Controle do Blender | ✅ | ✅ |
| Controle do Unreal | ✅ | ✅ |
| Comandos Personalizados do Blender | ❌ | ✅ |
| Informações Aprimoradas da Cena | ❌ | ✅ |
| Detecção Automática de Recursos | ❌ | ✅ |
| Compatibilidade Upstream | ✅ | ✅ |
Escolha o servidor padrão para funcionalidade básica ou o servidor estendido para recursos avançados.
Desenvolvimento
Consulte o Documento do Projeto e o diretório workflow para informações detalhadas de desenvolvimento.
Para estender este projeto:
- Para adicionar novos recursos ao addon do Blender: Modifique
src/unreal_blender_mcp/blender_addon/extended_addon.py - Para adicionar novas ferramentas ao servidor: Modifique
src/unreal_blender_mcp/server_extension/extended_server.py
Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Agradecimentos
- Este projeto é baseado no blender-mcp de Siddharth Ahuja.
Desenvolvimentos Futuros
As seguintes melhorias estão planejadas para versões futuras:
API Estruturada do Unreal Engine
Atualmente, a comunicação com o Unreal Engine depende principalmente da execução direta de código Python. Uma melhoria planejada é implementar uma API estruturada semelhante à integração do Blender:
- Criar funções predefinidas para operações comuns do Unreal Engine
- Implementar tratamento adequado de erros e validação
- Melhorar a segurança limitando o escopo de execução
- Aprimorar a estabilidade e previsibilidade das operações
- Manter compatibilidade retroativa enquanto adiciona estrutura
Essa melhoria criará uma experiência mais consistente em ambos os motores e melhorará a confiabilidade geral do sistema. Consulte a documentação do workflow para mais detalhes sobre esse desenvolvimento planejado.