Skip to main content
Glama

Servidor MCP para UE5

Testes Cobertura Node.js Licença: MIT

Um servidor MCP (Model Context Protocol) que conecta assistentes de IA ao editor do Unreal Engine 5, permitindo manipular diretamente níveis, atores, Blueprints e Animation Blueprints.

Por que um repositório independente?

Este servidor MCP fazia originalmente parte do plugin Martins Unreal Claude, mas foi transferido para um repositório próprio porque:

  1. Escopo ampliado: o protocolo MCP é um padrão aberto, hoje compatível com vários provedores de IA.

  2. Forks mais simples: desenvolvedores podem adaptar a ponte para outros serviços de IA sem precisar obter o plugin inteiro do Unreal.

  3. Contribuições da comunidade: um repositório independente facilita receber contribuições de novos recursos, correções de bugs e suporte a outros clientes MCP.

Related MCP server: Unreal-MCP

Clientes de IA compatíveis

Este servidor usa o padrão Model Context Protocol e funciona com qualquer cliente compatível com MCP, incluindo:

  • Claude Code (CLI)

  • Aplicativo Claude Desktop

  • OpenAI ChatGPT Desktop (suporte a MCP adicionado em março de 2025)

  • Cursor (ambiente de desenvolvimento com IA)

  • Replit (plataforma de programação com IA)

  • Sourcegraph Cody

  • Windsurf

  • E qualquer outra ferramenta compatível com MCP

O protocolo foi doado à Linux Foundation em dezembro de 2025 e continua sendo amplamente adotado pela indústria de IA.


Importante: o que esta ferramenta é — e o que não é

Esta NÃO é uma ferramenta de “texto para jogo”. Ela não gera modelos 3D, texturas ou animações, nem substitui o trabalho de artistas, animadores e criadores de assets.

Esta ferramenta acelera o fluxo de trabalho de quem desenvolve com Unreal Engine. Ela ajuda a:

  • Reduzir tarefas repetitivas de configuração: criar a estrutura inicial de Blueprints, configurar máquinas de estado e vinculações de entrada.

  • Automatizar tarefas repetitivas no editor: gerar atores, definir propriedades e organizar níveis usando linguagem natural.

  • Prototipar rapidamente: testar ideias descrevendo o que você quer, em vez de navegar pelos menus.

  • Aprender UE5: consultar a documentação integrada da API durante o trabalho.

O objetivo é acelerar as partes mais tediosas do desenvolvimento de jogos para que você possa se concentrar no trabalho criativo que realmente importa.


Requisitos

  • Node.js 18.0.0 ou superior

  • Um endpoint HTTP que implemente a API REST esperada (padrão: http://localhost:3000)

Observação: este servidor MCP foi desenvolvido para funcionar com o plugin Martins Unreal Claude, mas pode ser adaptado para outros back-ends HTTP que implementem a mesma API.

Início rápido

1. Instalação

git clone https://github.com/SilvaneiMartins/ue5-mcp-bridge-martins.git
cd ue5-mcp-bridge-martins
npm install

2. Configure seu cliente MCP

Adicione a configuração a seguir à configuração do seu cliente MCP:

Claude Code (~/.claude/settings.json):

{
  "mcpServers": {
    "unreal": {
      "command": "node",
      "args": ["/path/to/ue5-mcp-bridge-martins/index.js"],
      "env": {
        "UNREAL_MCP_URL": "http://localhost:3000"
      }
    }
  }
}

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "unreal": {
      "command": "node",
      "args": ["/path/to/ue5-mcp-bridge-martins/index.js"],
      "env": {
        "UNREAL_MCP_URL": "http://localhost:3000"
      }
    }
  }
}

Outros clientes MCP: consulte a documentação do seu cliente para configurar um servidor MCP. Este servidor usa transporte stdio.

3. Use o servidor

Depois de conectar, você pode interagir com o Unreal Editor usando linguagem natural:

"Crie um Point Light na posição 0, 0, 500"
"Liste todos os StaticMeshActors do nível"
"Crie um novo Actor Blueprint chamado BP_Enemy"
"Adicione uma variável float chamada Health ao BP_Player"
"Crie uma máquina de estado chamada Locomotion no meu Animation Blueprint"

Ferramentas disponíveis

Conexão e contexto

Ferramenta

Descrição

unreal_status

Verifica a conexão com o Unreal Editor

unreal_get_ue_context

Obtém a documentação da API do UE 5.7 por categoria ou consulta

Níveis e atores

Ferramenta

Descrição

unreal_open_level

Abre, cria ou lista mapas de nível no editor

unreal_spawn_actor

Gera atores no nível

unreal_get_level_actors

Lista os atores do nível atual

unreal_set_property

Define propriedades de atores

unreal_move_actor

Move, gira ou redimensiona atores

unreal_delete_actors

Exclui atores do nível

unreal_run_console_command

Executa comandos do console do Unreal

unreal_get_output_log

Obtém as entradas recentes do Output Log

Assets

Ferramenta

Descrição

unreal_asset_search

Pesquisa assets por classe, caminho ou nome

unreal_asset_dependencies

Obtém todos os assets dos quais um asset depende

unreal_asset_referencers

Obtém todos os assets que fazem referência a um asset

Execução de scripts

Ferramenta

Descrição

unreal_execute_script

Executa scripts C++, Python ou de console

unreal_cleanup_scripts

Remove scripts gerados

unreal_get_script_history

Obtém o histórico de execução dos scripts

Viewport

Ferramenta

Descrição

unreal_capture_viewport

Captura uma imagem da viewport ativa

Blueprints

Ferramenta

Descrição

unreal_blueprint_query

Consulta informações de Blueprints (list, inspect, get_graph)

unreal_blueprint_modify

Modifica Blueprints: cria, adiciona variáveis e funções, nós e conecta pinos

Animation Blueprints

Ferramenta

Descrição

unreal_anim_blueprint_modify

Oferece controle completo sobre Animation Blueprints

Personagens

Ferramenta

Descrição

unreal_character

Consulta e modifica atores ACharacter do nível atual

unreal_character_data

Cria e gerencia DataAssets de configuração de personagens e DataTables de atributos

Materiais

Ferramenta

Descrição

unreal_material

Cria e atribui instâncias de materiais a Skeletal Meshes

Enhanced Input

Ferramenta

Descrição

unreal_enhanced_input

Cria e modifica assets do Enhanced Input (InputAction, InputMappingContext)

Fila de tarefas assíncronas

Ferramenta

Descrição

unreal_task_submit

Envia uma ferramenta MCP para execução assíncrona em segundo plano

unreal_task_status

Verifica o estado de uma tarefa assíncrona enviada

unreal_task_result

Obtém o resultado de uma tarefa concluída

unreal_task_list

Lista todas as tarefas assíncronas

unreal_task_cancel

Cancela uma tarefa em execução


Operações com Animation Blueprints

A ferramenta unreal_anim_blueprint_modify oferece controle abrangente sobre Animation Blueprints:

Operações com máquinas de estado

Operação

Descrição

get_info

Obtém uma visão geral da estrutura do AnimBlueprint

get_state_machine

Obtém informações detalhadas da máquina de estado

create_state_machine

Cria uma máquina de estado

add_state

Adiciona um estado à máquina de estado

remove_state

Remove um estado

set_entry_state

Define o estado inicial da máquina de estado

connect_state_machine_to_output

Conecta a máquina de estado à saída de pose do AnimGraph

Operações com transições

Operação

Descrição

add_transition

Cria uma transição entre estados

remove_transition

Remove uma transição

set_transition_duration

Define a duração da mesclagem

set_transition_priority

Define a prioridade de avaliação

Grafo de condições de transição

Operação

Descrição

add_condition_node

Adiciona um nó lógico (TimeRemaining, Greater, Less, And, Or, Not, GetVariable)

delete_condition_node

Remove um nó do grafo de transição

connect_condition_nodes

Conecta nós no grafo de condições

connect_to_result

Conecta uma condição ao resultado da transição

Inspeção de nós e pinos

Operação

Descrição

get_transition_nodes

Lista os nós de todos os grafos de transição e seus pinos

inspect_node_pins

Obtém detalhes dos pinos: tipos, conexões e valores padrão

set_pin_default_value

Define o valor padrão de um pino com validação de tipo

add_comparison_chain

Adiciona uma cadeia GetVariable -> Comparison -> Result

validate_blueprint

Retorna o estado da compilação e os diagnósticos

Atribuição de animações

Operação

Descrição

set_state_animation

Atribui um AnimSequence, BlendSpace, BlendSpace1D ou Montage

find_animations

Pesquisa assets de animação compatíveis

Operações em lote

Operação

Descrição

batch

Executa várias operações atomicamente


Sistema de contexto do UE 5.7

O servidor inclui documentação integrada da API do UE 5.7 que pode ser consultada:

Categorias disponíveis

Categoria

Descrição

animation

Animation Blueprint, máquinas de estado, transições e UAnimInstance

blueprint

Grafos de Blueprint, UK2Node e FBlueprintEditorUtils

slate

Widgets Slate, SNew/SAssignNew e padrões de layout

actor

Geração de atores, componentes, transformações e iteração

assets

Carregamento de assets, TSoftObjectPtr, FStreamableManager e carregamento assíncrono

replication

Replicação de rede, RPCs, DOREPLIFETIME e OnRep

enhanced_input

Sistema Enhanced Input, ações de entrada e contextos de mapeamento

character

Movimento, configuração e atributos de personagens

material

Instâncias de materiais, parâmetros e slots

Uso

// Obter uma categoria específica
{ "category": "animation" }

// Pesquisar por palavras-chave
{ "query": "state machine transitions" }

// Listar todas as categorias
{}

Injeção automática de contexto

Ative a injeção automática de contexto definindo:

{
  "env": {
    "INJECT_CONTEXT": "true"
  }
}

Configuração

Variável de ambiente

Padrão

Descrição

UNREAL_MCP_URL

http://localhost:3000

URL do servidor HTTP do plugin do Unreal

MCP_REQUEST_TIMEOUT_MS

30000

Tempo limite da solicitação, em milissegundos

INJECT_CONTEXT

false

Injeta automaticamente o contexto do UE5 nas respostas das ferramentas

DEBUG

-

Habilita o registro de depuração


Solução de problemas

As ferramentas exibem “NOT CONNECTED”

  • Verifique se o back-end HTTP está em execução e acessível.

  • Confirme se a variável de ambiente UNREAL_MCP_URL aponta para o endpoint correto.

  • Confira se o endpoint responde em /mcp/status.

Erros de stdin/stdout

  • Verifique se o Node.js 18 ou superior está instalado e disponível no PATH.

  • Execute npm install para instalar as dependências.

  • Confirme se o caminho na configuração do cliente MCP aponta para o index.js correto.

Executar a suíte de testes

Este repositório inclui uma suíte de testes Vitest (87 testes) que valida o comportamento da ponte sem precisar de uma instância do Unreal Editor em execução:

npm install
npm test              # executa todos os testes
npm run test:watch    # executa em modo de observação
npm run test:coverage # executa com relatório de cobertura

Os testes simulam o servidor HTTP do Unreal e cobrem a conversão de esquemas, a lógica do cliente HTTP, o carregamento de contexto, a listagem de ferramentas e o roteamento de chamadas.


Contribuição

Contribuições são bem-vindas! Você pode:

  • Adicionar suporte a configurações de outros clientes MCP.

  • Melhorar a documentação de contexto do UE5.

  • Corrigir bugs ou adicionar recursos.

  • Enviar melhorias para a documentação.


Licença

MIT com requisito de atribuição — consulte LICENSE para obter os detalhes.

Créditos originais exigidos pela licença: este projeto deriva do UE5 MCP Server original. A licença exige que os seguintes créditos sejam mantidos:

Divulgação exigida: se você usar este código em outro servidor MCP ou integração de IA, informe esse uso na documentação do seu projeto.


Available Tools

1 tool
unreal_statusA

Check if Unreal Editor is running with the plugin. Currently: NOT CONNECTED. Please start Unreal Editor with the plugin enabled.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It reveals that the tool checks status and gives a current state, implying it is read-only. However, it does not describe the return format or possible response values, which would be helpful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the purpose, and contains no unnecessary words. It is compact and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple status check with no parameters, output schema, or annotations, the description is adequate. It tells the agent what it does and current state. However, describing possible return values would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so schema coverage is 100%. The description does not add parameter information because none exist. Baseline for zero parameters is 4, and the description meets that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Check' and the resource 'Unreal Editor running with plugin'. It provides current status and is specific. No sibling tools exist, so differentiation is not required.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates when to use the tool (to check if Unreal Editor is running) and what to do if not connected. It does not explicitly state when not to use it or mention alternatives, but for a simple status check this is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.5.0
    • First observedunreal_status

TDQS

A3.8/5.0

Scored across 1 tool

Disambiguation4/5

With a single tool there is nothing to confuse it with, so misselection is impossible. It loses a point only because a lone status probe offers no sibling actions against which clarity of purpose can actually be demonstrated.

Naming Consistency5/5

unreal_status follows a clear snake_case, domain-prefixed convention that matches the server identity. One tool cannot break consistency, and the naming style establishes a readable baseline for expansion.

Tool Count1/5

A single tool is a severe mismatch for a server whose stated purpose is acting as an MCP control surface for Unreal Engine 5. A read-only connection check cannot fulfill a domain that inherently requires level, actor, asset, and editor operations.

Completeness1/5

The only capability is reporting whether the editor is running, with no way to start the editor, query a project, spawn actors, or perform any UE5 operation. Every meaningful part of the stated domain is missing, making the surface a dead end.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    D
    quality
    A
    maintenance
    Enables AI assistants to control Unreal Engine via Remote Control API for game development automation, including asset management, actor control, level editing, animation, physics, visual effects, and cinematics creation through natural language.
    1
    1,163 npm
    998
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Controls Unreal Engine 5 editor from AI coding assistants, enabling 280 commands across 13 categories for materials, blueprints, Niagara VFX, and more.
    100
    69 PyPI
    40
    Mozilla Public 2.0