Genexus MCP
Servidor MCP do GeneXus 18 para Claude, Cursor e agentes de IA — leia, edite, analise objetos KB (transações, painéis web, procedimentos, SDTs) através do Model Context Protocol.
Documentação
Servidor GeneXus MCP — GeneXus multi-versão para Claude, Cursor e Agentes de IA
¿Hablás español? → Guía de inicio en español Fala português? → Guia de início em português Stuck? → Troubleshooting guide
GeneXus MCP Server permite que agentes de IA — Claude Desktop, Claude Code, Cursor, Antigravity e qualquer cliente compatível com MCP — leiam, editem, analisem e refaturem objetos dentro de uma Knowledge Base suportada pelo SDK nativo selecionado ou pelo driver de compatibilidade legado. Os caminhos do SDK nativo funcionam com o SDK GeneXus real e os caminhos legados usam adaptadores explícitos de reflection/COM; nenhum dos caminhos depende de uma cópia analisada da KB.
Na prática: você aponta o MCP para sua KB e então pergunta ao seu assistente de IA coisas como "liste todas as transações com o atributo CustomerId", "adicione uma regra à transação Order que valide o total" ou "refatore este procedimento para usar o novo SDT" — e ele faz.
Suporte a GeneXus multi-versão
A mesma distribuição do MCP suporta as versões principais oficiais do SDK nativo listadas no
documento de compatibilidade gerado. Ela também inclui compatibilidade básica, de melhor esforço,
para as versões legadas listadas ali, por meio de drivers separados;
esse caminho não é equivalente ao suporte completo do SDK nativo. Um processo pode rotear
cada KB declarada para seu próprio SDK/driver; --gx permanece como o padrão global conveniente
para uma configuração de versão única. Os comandos abaixo são exemplos de
como alternar a configuração existente:
npx genexus-mcp@latest init --kb "C:\KBs\KBTeste17" --gx "C:\Program Files (x86)\GeneXus\GeneXus17Trial"
# To switch this MCP configuration to GX18:
npx genexus-mcp@latest init --kb "C:\KBs\MyGX18KB" --gx "C:\Program Files (x86)\GeneXus\GeneXus18"
Após alternar o SDK ou a KB, reinicie completamente o cliente de IA para que ele recarregue o processo MCP e seus esquemas de ferramentas. Se GX17 e GX18 precisarem ser executados simultaneamente, use configurações e portas MCP separadas.
KBs clássicas GX8/GX9 podem ser abertas sem alterar o padrão global GX18 ao declarar seu driver e instalação por KB (o Gateway aceita tanto a forma de lista quanto a de catálogo de objetos):
{
"Environment": {
"KBs": {
"SECT80": {
"Path": "D:\\GX80\\SECT",
"Driver": "com-gxpublic",
"InstallationPath": "C:\\Program Files (x86)\\ARTech\\GeneXus\\gxw80",
"Major": "8"
}
}
}
}
A solicitação única equivalente é genexus_kb action=open com path,
alias, driver: "com-gxpublic", installationPath e major: "8".
O GX8 usa o provedor GXPublic 32-bit registrado; o ProgID .4 documentado
e o registro de compatibilidade GXPubGXX.GXPublic(.5) instalado são
reconhecidos. As raízes de KB DAT clássicas são identificadas por seus marcadores legados
(DATA001, GXSPC001, kbdata, ATTRIBUT.DAT ou ATT.XPW).
init também lê a versão principal .gxw da KB e os metadados GeneXus.exe selecionados.
Ele aborta antes de gravar config.json quando as versões principais entram em conflito ou uma
seleção automática não pode ser verificada. genexus-mcp doctor expõe o mesmo resultado que
a verificação kb_sdk_compatibility. Para um fixture descartável, o
harness de KB ao vivo inclui uma matriz orientada por catálogo
que verifica cada versão principal suportada contra um artefato publicado.
O Gateway relata o SDK detectado por meio de genexus_whoami:
geneXus.supportedMajors: versões principais do SDK nativo explicitamente validadas no catálogo de versõesgeneXus.legacyMajors: versões principais legadas catalogadas tratadas por seus drivers de compatibilidadegeneXus.sdkCompatibility.supportLevel:native-sdkoubasic-legacypara a instalação detectadageneXus.matchedMajor: a versão principal detectada para a instalação configuradageneXus.versionMatches: se a instalação detectada está nesse catálogogeneXus.supportedMajor: mantido como o alias legado de versão única para a primária do catálogo
O Worker isola membros do SDK sensíveis à versão por trás de adaptadores de compatibilidade.
Por exemplo, métodos auxiliares do Design System que diferem entre versões principais do SDK são
substituídos campo a campo pela análise das partes nativas Tokens e Styles quando
necessário. Os nomes de ferramentas, argumentos e formatos de configuração do cliente MCP existentes
não mudam.
Versões principais do SDK suportadas: GeneXus 16, GeneXus 17, GeneXus 18 (SDK nativo).
Compatibilidade legada básica: GeneXus Evolution 3, GeneXus Evolution 2, GeneXus Evolution 1, GeneXus 15, GeneXus 9.0, GeneXus 8.0 via com-gxpublic e dotnet-reflection (não a compilação do SDK nativo).
SDK primário: GeneXus 18.
Fonte da verdade: config/gx-versions.json.
Para adicionar outra versão principal do SDK nativo no futuro, adicione-a ao catálogo
explícito supportedMajors somente após compilar o Worker com esse SDK e
passar nos testes focados mais um smoke test de KB ao vivo. Isso evita que o servidor
reivindique compatibilidade com o SDK nativo com base apenas em uma string de versão.
Compatibilidade legada básica (não é suporte ao SDK nativo)
Cada versão legada atualmente declarada em legacyMajors usa um driver de melhor esforço
em vez da compilação do SDK nativo:
- GeneXus Evolution 1 (10.1), Evolution 2 (10.2), Evolution 3 (10.3) e GeneXus 15: Tratados via reflection em tempo de execução (
dotnet-reflection), adaptando-se dinamicamente a tipos ausentes ou diferenças estruturais (como KBs sem módulos e semQualifiedName). - GeneXus 8.0 e GeneXus 9.0: Tratados por meio da superfície clássica GXPublic (
com-gxpublic), detectados a partir degxw32.exe/gx.exe/gxdl32.dlle Knowledge Bases clássicas.gxi. GXPublic é uma superfície OLE DB orientada a metadados; esse caminho é intencionalmente limitado a operações básicas de metadados/núcleo e não reivindica paridade de edição de fonte do SDK nativo. - Degradação graciosa: Ferramentas modernas que exigem recursos introduzidos em versões mais recentes do GeneXus (como
genexus_api,genexus_gamougenexus_module) retornam erros estruturadosUNSUPPORTED_IN_GENEXUS_VERSIONindicando a versão mínima necessária em vez de falhar de forma não graciosa.
Esse caminho legado é destinado a operações básicas do núcleo onde implementado; ele não reivindica a mesma paridade de recursos que o contrato do SDK nativo para GeneXus 16, 17 e 18.
Compartilhando um Worker entre clientes MCP
O Gateway e o Worker do SDK GeneXus têm responsabilidades diferentes. Por
padrão, Server.WorkerSharingMode é "isolated": cada Gateway possui seu próprio
processo Worker. Mantenha esse modo quando um agente precisar intencionalmente de vários
Workers independentes.
Quando dois ou mais clientes MCP independentes precisam trabalhar na mesma KB física,
defina WorkerSharingMode como "shared-host" em uma configuração stdio-isolated:
{
"ConfigSchemaVersion": 2,
"GatewayMode": "stdio-isolated",
"GeneXus": {
"InstallationPath": "C:\\Program Files (x86)\\GeneXus\\GeneXus18",
"WorkerExecutable": "C:\\path\\to\\GxMcp.Worker.exe"
},
"Server": {
"HttpPort": 0,
"McpStdio": true,
"WorkerSharingMode": "shared-host"
},
"Environment": {
"ResolutionPolicy": "strict",
"KBs": [
{ "alias": "main", "path": "C:\\KBs\\YourKB" }
]
}
}
shared-host compartilha apenas o Worker do SDK de propriedade do broker por KB por meio de
anexos limitados a named pipes locais. Os Gateways permanecem independentes: sessões MCP,
autorização, seleção de KB, caches, rastreamento de solicitações, cancelamento, progresso,
notificações e artefatos gerados não cruzam o limite do processo.
O compartilhamento é aceito somente quando a KB física, o executável do Worker, a
instalação do GeneXus, o driver e a versão principal alvo são compatíveis; uma incompatibilidade
falha de forma fechada em vez de anexar ao processo de SDK errado.
As gravações carregam um proprietário local do Gateway no Worker. O mesmo objeto/parte não pode ser gravado simultaneamente por dois clientes anexados, enquanto gravações em objetos distintos podem prosseguir independentemente pelo limite compartilhado do SDK. O Worker em si permanece um único processo STA, portanto, chamadas que alcançam o mesmo SDK ainda são serializadas conforme exigido pelo GeneXus.
Para um anexo compartilhado saudável, genexus_whoami e genexus_doctor relatam o
modo, a chave de identidade, o pipe, os PIDs do host/Worker, a geração, o ID do anexo, o estado
da conexão e o diagnóstico mais recente de inicialização/falha. Quando algo falha, inspecione
worker.diagnostics e workerHealth antes de reiniciar ou excluir o estado
local; esses campos distinguem configuração/identidade, mutex ou registro,
pipe/handshake, inicialização, saída/reinicialização do filho, TTL e falhas de quadro.
Consulte Propriedade do Worker para o contrato de ciclo de vida e o benchmark de Worker compartilhado para os resultados medidos de smoke test com dois clientes e backpressure.
O que você pode fazer com ele
Um mapa rápido do que o agente pode fazer contra sua KB real por meio das 50 ferramentas (detalhes em Superfície de Ferramentas):
| Área | O que o agente pode fazer |
|---|---|
| 🔎 Explorar | Pesquisar e listar objetos, ler qualquer parte (fonte, regras, eventos, estrutura, documentação, XML de padrão), inspecionar metadados e chamadores, pesquisar fonte com regex, visualizar o relatório de navegação |
| ✏️ Editar código | Editar qualquer parte do objeto (modos full/patch/ops), CRUD de variáveis, formatar, criar e excluir objetos, gerar um Procedure a partir de um comando curl, editar + reconstruir chamadores em uma única operação |
| 🗄️ Criar o modelo de dados | Estrutura de transação (DSL), índices únicos/não únicos (criar e remover), fórmulas e subtipos de atributos, atributos de Descrição/Imagem de nível, valores de enumeração de Domain, pastas e módulos, relações tabela↔transação e detecção de atributos redundantes |
| 🧩 Criar outros objetos | Métodos e propriedades de External Object, opções de Menu, objetos de API REST, padrões WorkWithPlus / WorkWith, referências tipadas de gerador .NET |
| 🎨 UI e WorkWithPlus | Leitura/gravação completa do XML de padrão (controles, ações, grids, ordens, grupos), classes e estilos de tema, edições nativas de WebForm/layout, catálogo de controles e tokens/classes/imagens do design system, verificação com navegador headless |
| 🔬 Analisar | Análise de impacto/dependência, métricas de complexidade e código, nomenclatura, explicar-o-que-isso-faz, atividade/atualização da KB, pré-visualização de impacto de reorg/DDL, varredura de segurança nativa, verificação de desvio de esquema |
| 🛠️ Compilar, testar e implantar | Compilar (completa ou rápida compile_check), validar, reorg, indexar, executar testes nativos GXtest, implantar o aplicativo (alvos + implantação) |
| 🔀 Refatorar e comparar | Renomear em toda a KB, extrair procedimento, comparar e mesclar objetos (paridade com a IDE) |
| 🌿 Versionamento, transferência e equipes | Versões/ramos de modelo da KB, exportação/importação XPZ real (ciente de dependências), sincronização GXserver (Team Development) + pipelines de CI, histórico estilo git, trabalho paralelo em múltiplas KBs |
| 🔐 Segurança | Provisionamento de GAM / segurança integrada, auditoria de segurança da KB + Scanner de Segurança nativo |
O suporte ao SDK nativo funciona por meio do SDK GeneXus nativo — os mesmos caminhos de código que a IDE usa — portanto, as edições são reais e validadas, não ajustes de texto em arquivos de KB. O suporte legado usa o driver de reflection ou COM listado no catálogo e degrada ferramentas modernas não suportadas de forma explícita.
Pré-requisitos
Antes de começar, certifique-se de ter:
- ✅ Windows (GeneXus é exclusivo para Windows)
- ✅ Uma instalação suportada do GeneXus instalada localmente: GeneXus 16, 17 ou 18 para suporte ao SDK nativo, ou uma instalação legada catalogada para compatibilidade básica (consulte
docs/generated/supported-versions.md; passe outro caminho de instalação explicitamente quando necessário) - ✅ GeneXus 18 instalado localmente para o caminho primário do SDK nativo; outras versões nativas e legadas catalogadas também são suportadas de acordo com seu driver listado
- ✅ Uma Knowledge Base criada com uma versão principal nativa ou legada suportada do GeneXus e aberta pelo menos uma vez na IDE (para que seja inicializada)
- ✅ Node.js 22+ — verifique com
node --versionem um terminal; instale em nodejs.org se estiver ausente - ✅ Um cliente de IA compatível com MCP — Claude Desktop, Claude Code, Cursor, Antigravity, etc.
Você não precisa clonar este repositório ou instalar nada globalmente — npx cuida disso.
Nunca usou um terminal antes? Pressione Win+R, digite powershell e pressione Enter. Esse é o seu terminal.
Início rápido (3 etapas, ~5 minutos)
Encontre seus dois caminhos primeiro
Antes de executar o instalador, anote o seguinte:
- Pasta de instalação do GeneXus — onde
GeneXus.exeestá localizado. GeralmenteC:\Program Files (x86)\GeneXus\GeneXus18. - Sua pasta da KB — a pasta raiz da sua Knowledge Base (contém o arquivo
.gxe subpastas comoModel/,WebSpa/).
Não sabe onde sua KB está? Abra-a no GeneXus e verifique a barra de título, ou procure em File → Recent.
Etapa 1 — Execute o instalador
Abra um terminal e execute, substituindo os caminhos pela pasta da sua KB e pela sua instalação do GeneXus:
npx genexus-mcp@latest init --kb "C:\KBs\YourKB" --gx "C:\Program Files (x86)\GeneXus\GeneXus18"
Prefere o assistente? Execute
npx genexus-mcp@latest init --interactivee responda às perguntas.
O que você verá (leva ~30 segundos na primeira vez, mais rápido nas execuções seguintes):
npxbaixa o pacote.- O instalador verifica se os caminhos existem e se o GeneXus está presente.
- Ele detecta automaticamente quais clientes de IA você tem instalados e adiciona a configuração do MCP em cada um.
- Imprime um trecho JSON no final — guarde-o caso precise configurar um cliente manualmente.
- Termina com
🎉 You are all set!.
No Windows, o Antigravity é registrado com o executável do gateway incluído no
pacote npm atual quando esse artefato está disponível, então ele pula a cadeia de
inicialização via npx em cada handshake do MCP. Esse caminho acompanha o pacote no
cache do npx; após uma atualização, execute npx genexus-mcp@latest clients add --clients antigravity novamente se
genexus-mcp clients relatar um launcher desatualizado. Outros clientes mantêm o
launcher npx genexus-mcp@latest a menos que você use o instalador de caminho fixo abaixo.
Etapa 2 — Registre o MCP no seu cliente de IA
A Etapa 1 registra automaticamente todos os clientes suportados que detecta, incluindo Claude Desktop, Claude Code, Cursor, Antigravity, Gemini CLI, OpenCode, Codex CLI e VS Code. Se o seu não foi detectado, copie o trecho JSON da Etapa 1 para a configuração do MCP do seu cliente manualmente. Consulte o guia de configuração do cliente se não tiver certeza de onde esse arquivo fica.
Etapa 3 — Reinicie seu cliente de IA e teste
Esta parte pega a maioria das pessoas: feche completamente seu cliente de IA e reabra-o. Não apenas a janela — o processo inteiro.
- Claude Desktop: clique com o botão direito no ícone da bandeja do sistema → Sair. Depois abra novamente. (Fechar a janela não é suficiente.)
- Claude Code: encerre a sessão e inicie uma nova.
- Cursor / Antigravity: feche todas as janelas e reabra.
- OpenCode: saia completamente e reabra para que ele recarregue
opencode.json/opencode.jsonc. - Gemini CLI / Codex CLI: inicie um novo processo ou sessão.
Depois cole este prompt:
"Usando o Genexus MCP, liste os primeiros 5 objetos na minha KB e mostre nome + tipo."
O que deve acontecer:
- A IA invoca a ferramenta
genexus_list_objects(algumas UIs mostram "chamando ferramenta…"). - Alguns segundos depois, você recebe uma lista de objetos da sua KB.
Se você receber uma lista de volta — pronto. Vá para O que posso perguntar à IA? para ideias.
Se a IA disser que não tem uma ferramenta do GeneXus, ou se nada acontecer, vá para Solução de problemas — a maioria dos problemas está coberta lá.
🤖 Deixe sua IA instalar para você
Se preferir não executar nada no terminal, cole isto no chat da sua IA:
Por favor, configure o servidor MCP do GeneXus. Execute
npx genexus-mcp@latest init --kb "<MY_KB_PATH>" --gx "<MY_GENEXUS_PATH>"no terminal. Se eu ainda não informei meu caminho do GeneXus e o caminho da KB, pergunte-me primeiro. Quando for bem-sucedido, leia o bloco JSON que ele imprimiu e adicione-o à configuração do MCP do meu cliente. Avise-me quando eu devo reiniciar o cliente para começar a usar as ferramentas do GeneXus.
Substitua os espaços reservados ou deixe a IA pedir por eles.
Instalação corporativa (caminho fixo, compatível com ASR)
Se sua máquina tiver Microsoft Defender ASR, SmartScreen ou outra política de endpoint bloqueando binários não assinados, o fluxo padrão do npx é problemático — o npx armazena o pacote em cache em %LOCALAPPDATA%\npm-cache\_npx\<hash>\..., e o <hash> muda a cada versão, então a TI não pode incluir um caminho estável na lista de permissões sem um curinga sobre todo o cache do npm (o que é amplo demais).
Use o instalador corporativo. Ele extrai os binários para um diretório estável e registra os clientes de IA para iniciar o gateway diretamente de lá — o npx nunca está no caminho de execução.
# One-liner — installs latest release, registers AI clients
iex (irm https://raw.githubusercontent.com/lennix1337/Genexus18MCP/main/scripts/install.ps1)
# With explicit KB and GeneXus paths
$s = irm https://raw.githubusercontent.com/lennix1337/Genexus18MCP/main/scripts/install.ps1
& ([scriptblock]::Create($s)) -Kb "C:\KBs\MyKB" -Gx "C:\Program Files (x86)\GeneXus\GeneXus18"
Local de instalação:
- Shell de administrador →
C:\Tools\GenexusMCP\ - Shell sem administrador →
%LOCALAPPDATA%\Programs\GenexusMCP\
Caminhos para dar à TI para a lista de exclusão do ASR / Defender:
<InstallDir>\GxMcp.Gateway.exe
<InstallDir>\worker\GxMcp.Worker.exe
Execute o mesmo comando de uma linha novamente mais tarde para atualizar — ele detecta a versão instalada (version.txt no diretório de instalação) e baixa apenas se houver uma versão mais recente disponível. Use -Force para reinstalar a mesma versão, -Version v2.3.0 para fixar uma tag específica, -NoClient para pular o registro do cliente de IA. O Node.js 22+ deve estar instalado para o registro do cliente; sem ele, o script ainda extrai os binários, mas você precisará editar a configuração do cliente (claude_desktop_config.json etc.) manualmente.
O que posso perguntar à IA?
Uma vez instalado, aqui está o que é desbloqueado. Experimente estes como seus primeiros prompts:
Exploração
- "Liste todos os objetos do tipo Procedure na KB."
- "Mostre-me o código-fonte do procedure CalculateInvoiceTotal."
- "Encontre todas as transações que referenciam o atributo CustomerId."
Edição
- "Adicione uma regra à transação Order: error('Total must be positive') se Total < 0."
- "Adicione um novo atributo CreatedAt do tipo DateTime à transação Customer."
- "Renomeie a variável &qty para &quantity no procedure CreateOrder."
Criação de modelo de dados (sem ida e volta ao IDE)
- "Torne CustomerEmail único na transação Customer." (cria um índice único)
- "Transforme CustomerBalance em uma fórmula: sum(InvoiceAmount)."
- "Adicione os valores de enumeração Active/Inactive/Pending ao domínio Status."
- "Adicione uma propriedade apiKey e um método Connect(url) ao objeto externo PaymentGateway."
- "Adicione uma opção de menu 'Customers' ao MainMenu que abra CustomerWW."
Edição de padrão WorkWithPlus (controle estrutural e de tema completo)
- "Adicione uma aba tipada com variáveis, uma ação e tabelas responsivas aninhadas a um WebPanel WorkWithPlus."
- "Em WorkWithPlusOrder, adicione um botão 'Duplicate' à visualização da transação junto com Salvar/Cancelar/Excluir."
- "Agrupe os atributos da transação Customer em uma seção 'Contact Info' com a classe de tema GroupTelaResp."
- "Na lista WorkWithPlusInvoice, adicione uma nova ordenação por InvoiceDate decrescente."
- "Estilize o botão Salvar em WorkWithPlusOrder com buttonClass='btn ButtonGreen' e aplique BigTitle ao cabeçalho do formulário."
- "Remova a ação Export da grade Selection do WorkWithPlusReport."
- "Leia a parte Documentation da transação Customer e reescreva-a em markdown."
Análise
- "Explique o que o procedure ProcessShipment faz." —
genexus_analyze mode=explainé um envelope apenas de compatibilidade e retornaNotImplemented; usemode=summary,mode=contextougenexus_readpara análise e código-fonte suportados. - "Qual SQL a consulta no WebPanel CustomerList gera?"
- "Resuma a estrutura do módulo Sales."
Build e ciclo de vida
- "Faça o build da KB e relate quaisquer erros."
- "Execute os testes de unidade e mostre quais falharam."
O agente escolhe a ferramenta certa entre as 50 ferramentas que o MCP expõe (leitura, edição, refatoração, análise, build, criação de modelo de dados, automação de layout, DB/DDL, versionamento, segurança, pré-visualização de SQL, etc.). A lista completa de ferramentas está em Superfície de Ferramentas abaixo.
Clientes de IA suportados
Detectados e configurados automaticamente pelo instalador:
| Cliente | Configuração automática | Notas |
|---|---|---|
| Claude Desktop | ✅ | Reinicialização necessária após a instalação |
| Claude Code (CLI) | ✅ | Recarregar sessão |
| Cursor | ✅ | Reinicialização necessária |
| Antigravity | ✅ | Gateway empacotado direto; reinicialização necessária; detectado mesmo antes de sua configuração MCP existir |
| Gemini CLI | ✅ | — |
| OpenCode (CLI) | ✅ | Lê layouts MCP diretos e aninhados; reinicialização necessária |
| Codex CLI | ✅ | Escreve ~/.codex/config.toml |
| VS Code / VS Code Insiders | ✅ | MCP nativo (User/mcp.json); reinicialização necessária |
| OpenCode Desktop | ✅ | Compartilha opencode.jsonc com o OpenCode CLI; reinicialização necessária |
| Qualquer cliente MCP | Manual | Use o trecho JSON impresso por init |
Execute npx genexus-mcp clients a qualquer momento para ver quais agentes estão instalados, quais têm genexus registrado e se algum aponta para um executável de gateway desatualizado. Para (re)registrar específicos: npx genexus-mcp clients add --clients antigravity,vscode.
OpenCode Desktop
O OpenCode Desktop compartilha seu arquivo de configuração MCP (opencode.jsonc ou opencode.json)
com o OpenCode CLI. Executar genexus-mcp init --write-clients ou genexus-mcp clients add --clients opencode-desktop
registra automaticamente genexus18mcp na configuração compartilhada. Após o registro,
reinicie completamente o OpenCode Desktop para que ele recarregue sua configuração MCP.
Solução de problemas
Primeiro passo para qualquer problema de "o agente não vê o GeneXus": npx genexus-mcp clients (está registrado? aponta para um executável de gateway que ainda existe?) e npx genexus-mcp doctor --mcp-smoke.
A maioria dos problemas de instalação se enquadra em algumas categorias — veja TROUBLESHOOTING.md para correções:
- O instalador não encontra o GeneXus ou a KB
- O cliente de IA não vê as ferramentas do GeneXus após reiniciar
- Erros de "Worker failed to start" / .NET 4.8
- Erros de build da KB / artefatos bloqueados
- Porta 5000 já em uso
- Permissões em
%LOCALAPPDATA%\GenexusMCP\ - Antigravity mostra apenas
exit status 1/0xffffffffsem stderr útil
Quando um launcher stdio falha antes que o cliente possa reter o stderr, o wrapper escreve
a última falha em %LOCALAPPDATA%\GenexusMCP\logs\last-stdio-error.txt. Ele contém
o timestamp UTC, o código de saída e a cauda limitada do stderr. genexus-mcp doctor relata o
mesmo caminho quando uma falha anterior está presente. Leia-o antes de alterar a instalação ou
usar uma instalação npm global; se o launcher do Antigravity estiver desatualizado, registre-o novamente com
npx genexus-mcp@latest clients add --clients antigravity.
Diagnosticando uma falha compartilhada do Worker
Se shared-host não anexar ou um Worker for reiniciado, execute
genexus_whoami e genexus_doctor no cliente afetado e preserve o
bloco estruturado worker.diagnostics/workerHealth. A evidência útil é o
modo, identidade, PID do host/Worker, geração, estado de anexação, erro de conexão
e diagnóstico de falha — não apenas o resumo final no_worker ou startup_failed.
Não remova um arquivo de registro de worker compartilhado enquanto um host correspondente
ainda estiver em execução; o broker é dono desse ciclo de vida e registros desatualizados são recuperados
após a validação de PID/hora de início.
Ainda travado? Abra um problema com a saída de npx genexus-mcp doctor --mcp-smoke e os campos de diagnóstico limitados acima. Redija credenciais, tokens, strings de conexão e outros valores sensíveis.
Superfície de Ferramentas
O worker expõe 50 ferramentas ao roteador MCP, agrupadas por capacidade abaixo. A maioria são guarda-chuvas com um action (ex.: genexus_db action=sql_ddl); os esquemas detalhados estão em src/GxMcp.Gateway/tool_definitions.json.
Orientação e saúde
genexus_whoami— contexto da KB, versão, saúde do worker/índice/banco de dados, verificação de auto-atualização, dicas de próximos passosgenexus_doctor— verificação de saúde de conexão + instalação + cachegenexus_recipe— playbooks nomeados / macros de auto-extensãogenexus_telemetry— observabilidade (métricas, latência, erros)
Busca e descoberta
genexus_query— busca de objetos (prefixosname:,type:,usedby:,parent:, …)genexus_list_objects— listagem paginada de objetos com agregadosgenexus_read— leia qualquer parte de um objeto (código-fonte, estrutura, regras, eventos, docs, XML de padrão, …)genexus_inspect— instantâneo de objeto em uma única chamada (metadados, variáveis, estrutura, assinatura, chamadores)genexus_search_source— busca regex/semântica no código-fonte de Procedure/DataProvider/WebPanel/Transactiongenexus_navigation— relatório "View Navigation" do IDE Para um Data Selector do GeneXus 18 U16,genexus_read type=DataSelectortambém aceitaparameters,conditions,orders,definedBy,baseTransaction,baseTableestructure. Ele preserva a ordem do SDK e expressões completas, retorna umversionTokene não executa nenhuma operação de ciclo de vida. O SDK público do U16 não expõe uma coleção de atributos projetados nem joins resolvidos para esse tipo de objeto, entãoprojectionejoinssão retornados emunsupportedPartscom o motivo técnico em vez de arrays vazios enganosos. Objetos base e índices declarados são relatados apenas quando podem ser resolvidos sem Specify.structure.expressioné identificado como umsemanticProjection: ele combina os elementos públicos tipados do SDK e nunca expõe os nomes de tipos de coleção internos produzidos porDataSelectorStructurePart.ToString()no U16.
Edição
genexus_edit— edita qualquer parte do objeto; modosfull/patch/opsgenexus_edit_and_build— edição + especificação opcional + reconstrução de chamadores em uma única chamada, com rollback compensatório em caso de falha de validaçãogenexus_edit_form— edições semânticas de WebFormgenexus_variable— CRUD da parte de Variáveisgenexus_create— guarda-chuva de criação (Transaction, Procedure, Domain, SDT, API, Folder, Module,curl_procedure= gerar um Procedure a partir de um comando curl, …);object_atomiccria definition + variáveis + Rules + propriedades + Source com preflight/read-back/rollbackgenexus_data_view— cria/inspeciona/atualiza/exclui atomicamente um Business Component Transaction somente-raiz mapeado por meio de uma Data View nativa para uma tabela física existente; valida atributos/chaves primeiro, suporta versões otimistas e dry-runs verdadeiros sem mutação, exigeconfirm=truepara exclusão destrutiva e relata o estado de commit/verificação separadamentegenexus_delete_object— exclui um objeto pela identidade nativa do SDK; usedryRun=truepara inspecionar referências recebidas antes deconfirm=truegenexus_format— formata um trecho de código com as regras do worker
Modelo de dados e criação de estrutura
genexus_structure— leitura/escrita do modelo de dados:get_visual/get_logic,update_visual(DSL de estrutura),create_index/drop_index(índices únicos/não únicos — a forma GeneXus de impor unicidade),set_attribute(Formula, subtipo, Title/ColumnTitle, IsCollection, basedOnDomain),set_level(atributo de nível Description/Image),set_domain(editar valores de enum / tipo base de um Domain existente). Paracreate_index,dryRun:truevalida e retorna o diff projetado sem salvar; use oversionTokendeget_indexescomobaseVersionpara proteção de concorrência. Uma escrita real é relida e verificada exatamente, com rollback de snapshot em caso de falha. Ela nunca dispara Specify, Generate, Build, Rebuild, compilação, reorganização, execução ou testes.genexus_authoring— membros de tipos de objeto que a DSL de estrutura não cobre:add_external_method/add_external_property(External Objects),add_menu_option(Menus)genexus_properties— leitura/atualização de propriedades no nível do objetogenexus_generator_reference— lista/pré-visualiza/adiciona/remove referências nativas do gerador .NET com validação de assembly gerenciado, concorrência otimista, verificação de salvar/reler e rollback exato de snapshot completo; nunca executa ações de ciclo de vida implicitamente
Refatoração, padrões e comparação
genexus_refactor— renomear, extrair procedure, conjunto de condições WWPgenexus_apply_pattern— aplica um padrão GeneXus (WorkWith, WorkWithPlus, …);mode=actionsgerencia ações de grid tipadas do WorkWithPlus e Action Groupsgenexus_wwp— edição tipada do WorkWithPlus: Action Groups,add_grid_attributenativo atômico, além deadd_tab,move_taberemove_tabpara abas do WebPanel e filhos tipadosgenexus_compare— paridade com "Compare Objects" da IDE (IComparerService)genexus_merge— mesclagem de objetos em 2 ou 3 vias (IMergeService)
Análise, documentação e API
genexus_analyze— análise semântica entre objetos (impacto, dependências, complexidade, nomenclatura, code_metrics, resumo,kb_stats= atividade/atualidade da KB,table_relations= relações tabela↔transação + atributos redundantes, …).mode=explainé somente para compatibilidade: preserva o envelope de resposta legado e retornaNotImplemented; usemode=summary,mode=contextougenexus_readem vez disso.genexus_doc— gera wiki / grafos de dependência / relatórios de saúdegenexus_api— inspeciona endpoints REST expostos por procedures HTTPgenexus_security— audita a segurança da KB:audit_gam(propriedades de env/GAM),scan_secrets(regex sobre o Source),scan_native(o Security Scanner do próprio SDK,ISecurityScannerService)
Ciclo de vida, build, teste e banco de dados
genexus_lifecycle—builddirecionado (incl.compile_check),build_allglobal incremental,rebuildglobal forçado, validate, index, reorg e consulta de statusgenexus_test— executa testes nativos GXtestgenexus_db— guarda-chuva de banco de dados: schema-drift,sql_ddl/sql_navigation, consultor estático de índices,sample_data, consulta/inserção/atualização tipada de registros de Transaction com dry-run, versionamento otimista, releitura e rollback verificado, introspecção de tipos Domain/SDT, importação de tradução,reorg_impactereorg_previewnão mutante com DDL exato somente a partir de um artefato atual de Impact Analysisgenexus_deploy— implanta aplicação (IDeploymentService):list_targets(leitura) /deploy(destrutivo,confirm=true)genexus_run_object/genexus_browser— resolve URL de runtime e verificação com navegador headless
Layout nativo / UI
genexus_layout— operações de layout/WebForm do SDK (get_tree,find_controls,set_property,add_printblock,get_preview,list_controls= catálogo de controles/classes de tema,design_system= tokens/classes/imagens DSO, …)
Pool de KBs, versionamento e desenvolvimento em equipe
genexus_kb— pool de múltiplas KBs (list/open/close/set_default)genexus_module— Module Manager (IModuleManagerService)genexus_kb_version— gerenciamento de versão/ramo do modelo (Create/Activate/Revert)genexus_versioning— guarda-chuva de versionamento (histórico estilo git sobre a KB)genexus_gxserver— sincronização GXserver / Team Development, incl.pipeline_*(pipelines de CI viaIContinuousIntegrationService)genexus_transfer— exportação/importação real de XPZ (IKnowledgeManagerService, ciente de dependências):export/inspect/importgenexus_memory— armazenamento de fatos por KB para o agente
Provisionamento de segurança, IO e meta
genexus_gam— provisionamento de GAM / segurança integrada (IIntegratedSecurityService)genexus_io— assets, troca de texto de partes, screenshots, OCRgenexus_sdk_probe— despeja a superfície do SDK ao vivo (tipos/métodos/propriedades) para descoberta de capacidadesgenexus_worker_reload— troca a quente do worker sem reiniciar o cliente
Multi-KB (v2.3.0+): toda ferramenta não-meta aceita um argumento opcional
kb(alias ou caminho absoluto). O gateway pode manter atéServer.MaxOpenKbs(padrão 3) KBs abertas ao mesmo tempo, cada uma em seu próprio processo Worker — chamadas para KBs diferentes são executadas verdadeiramente em paralelo. Consulte Advanced Configuration para o esquemaKBs[].
WorkWithPlus e temas (via genexus_read / genexus_edit)
- Leitura/escrita completa do XML de
PatternInstance/PatternVirtual: containers (<table>, grupos), controles (<textBlock>,<attribute>,<gridAttribute>,<filterAttribute>,<errorViewer>), ações (<standardAction>,<userAction>), grids, ordens, regras, blocos de eventos. As visões Transaction e Selection são endereçáveis independentemente. Documentation(markdown) eHelp(HTML) são alvos de escrita de primeira classe.- Aplique valores reais de ThemeClass (
themeClass,buttonClass,groupThemeClass, …); descubra-os comgenexus_list_objects --typeFilter ThemeClass.
Modos de edição (genexus_edit): full (substituição de parte inteira, padrão), patch (Replace/Insert_After/Append sobre uma âncora de contexto — funciona em código-fonte E XML de padrão), ops (operações semânticas tipadas como set_attribute, add_rule para partes com source).
Reconciliação automática de XML de padrão: o WorkWithPlus codifica a ordem de renderização da IDE em um atributo childrenOrderedList por pai. O MCP agora reconstrói (e cria se ausente) cada lista a partir da ordem real dos filhos no XML a cada escrita — os chamadores apenas descrevem onde um elemento vai na árvore e o MCP faz a IDE renderizá-lo lá. A resposta inclui um bloco childrenOrderedListReconciliation listando cada pai (re)escrito, além de quaisquer elementos estruturais que não puderam ser inferidos com segurança.
Seguro por padrão: todas as ferramentas de escrita aceitam dryRun: true (retorna uma pré-visualização sem mutar a KB) e idempotencyKey (tentativas seguras; chamadas concorrentes são coalescidas, resultados em cache por 15 min).
Edição de padrão WorkWithPlus — o que você pode realmente fazer
Padrões WorkWithPlus são documentos XML que direcionam telas de Transaction e Selection. O MCP expõe toda a superfície para que um agente possa projetar ou reestruturar uma tela sem abrir a IDE:
| Capacidade | Ferramenta / padrão | Status |
|---|---|---|
Ler XML de PatternInstance / PatternVirtual | genexus_read --part PatternInstance | ✅ |
Substituir padrão inteiro (mode: full) | genexus_edit --mode full --part PatternInstance | ✅ verificado ao vivo |
Localizar/substituir patches estilo texto (mode: patch) | genexus_edit --mode patch --part PatternInstance --operation Replace | ✅ verificado ao vivo |
| Adicionar / remover / reordenar elementos estruturais (textBlock, attribute, standardAction, table-as-group, order, filterAttribute, gridAttribute, eventBlock…) | Edição de XML + reconciliação automática | ✅ verificado ao vivo |
Classes de tema (themeClass, buttonClass, groupThemeClass, cellThemeClass, format="HTML") | Atributo XML no elemento | ✅ verificado ao vivo |
| Reorganizar visão Transaction (layout de formulário, linha de ações) | editar sob /instance/transaction/... | ✅ verificado ao vivo |
| Reorganizar visão Selection (lista/grid, filtros, ordens) | editar sob /instance/level/selection/... | ✅ verificado ao vivo |
Reconstruir automaticamente childrenOrderedList a partir da ordem do XML | feito implicitamente a cada escrita; relatório sob childrenOrderedListReconciliation | ✅ verificado ao vivo |
| Adicionar / mover / remover abas do WebPanel e controles tipados | genexus_wwp add_tab / move_tab / remove_tab | ✅ comandos nativos do Pattern SDK; snapshot + releitura + verificação de projeção do WebForm |
| Adicionar ou reconciliar uma legenda de atributo de grid | genexus_wwp add_grid_attribute | ✅ dry-run isolado, snapshots completos de PatternInstance/WebForm, rollback exato e sem ciclo de vida implícito |
Fluxo de trabalho recomendado para redesenho de tela:
genexus_list_objects --typeFilter ThemeClass --nameFilter Button— descubra as classes de botão reais disponíveis nesta KB (ButtonGreen,ButtonBlue,ButtonRed, etc — os nomes variam por KB).genexus_read --name WorkWithPlus<Object> --part PatternInstance— obtenha o XML atual.- Edite o XML em memória (LLM): envolva atributos em um
<table isGroup="True" title="…" groupThemeClass="GroupTelaResp">, reordene botões, adicione um novo<standardAction>, anexebuttonClass="btn ButtonGreen", etc. genexus_edit --mode full --part PatternInstance --content "<new xml>"— o MCP reescreve a parte, reconciliachildrenOrderedListem cada container e verifica o round-trip.- Leia de volta para confirmar; atualize a IDE do GeneXus para ver o resultado.
Botões personalizados usam <userAction>, não <standardAction>. Trn_Enter / Trn_Cancel / Trn_Delete são as únicas ações padrão registradas em uma transação WorkWithPlus; qualquer botão personalizado (Duplicate, Audit, Export, etc.) deve ser um <userAction caption="…" name="…" buttonClass="btn ButtonGreen" confirm="False" />. O reconciliador do MCP trata <userAction> como um par de <standardAction> (mesmo typeCode 17/18 por contexto), então eles coexistem na mesma linha de TableActions e a IDE os renderiza lado a lado.
Para abas do WebPanel, prefira a operação tipada nativa em vez da substituição de XML inteiro:
{
"action": "add_tab",
"name": "SamplePanel",
"controlName": "IntegrationV3",
"title": "Integration API V3",
"position": 5,
"children": [
{ "type": "variable", "name": "Operation", "basicType": "VarChar", "length": 40 },
{ "type": "userAction", "name": "SendIntegration", "caption": "Send" }
],
"dryRun": true
}
O dry-run retorna um diff tipado e versionToken. Passe-o como baseVersion na chamada persistida. A escrita usa comandos de elementos do Pattern SDK, exige snapshots exatos de PatternInstance/WebForm, preserva Apply-on-save, relê o PatternInstance, projeta e relê o WebForm pai, e reverte ambas as partes em qualquer confirmação falha. Ela nunca invoca operações de ciclo de vida.
Coisas para saber (orientação, não pegadinhas):
- WorkWithPlus normaliza alguns atributos após cada salvamento. Certos campos estão vinculados à transação subjacente (por exemplo,
titleem grupos de nível superior deriva do nome amigável da transação). Quando"Apply this pattern on save"está habilitado no objeto WorkWithPlus, o mecanismo recalcula esses campos — mesmo comportamento se você editar no IDE ou via MCP. Para fazer uma substituição forçada persistir, alterne esse flag via MCP:
Aceita{ "tool": "genexus_properties", "arguments": { "action": "set", "name": "WorkWithPlus<Object>", "propertyName": "SDPlus_Editor_Apply_On_Save", "value": "False" } }"True" | "False" | "Default"(Default herda a configuração de nível de KB). Volte para"Default"para reabilitar o recálculo do mecanismo. Validado ao vivo neste repositório. - A segurança estrutural é imposta pelo SDK. Se você enviar XML que viole invariantes do padrão (por exemplo, um
<transaction>sem um<level>, ou um<standardAction>cujonamenão é uma ação registrada), o SDK rejeita o salvamento e o MCP retorna o erro exato para que você possa corrigir a entrada. A KB nunca fica pela metade. - A pré-visualização do padrão no IDE é um mockup estrutural, não uma renderização estilizada. O CSS do tema (
buttonClass,themeClass, fontes, cores) é resolvido em tempo de execução, não no canvas de pré-visualização — então mesmo após uma escrita MCP bem-sucedida, o painel de pré-visualização parecerá genérico. Para verificar a estilização: abra o elemento na árvore do IDE e verifique o painel Properties à direita (as classes aplicadas aparecem lá), ou use Run / Live Editing para ver o CSS real. Isso é comportamento do IDE GeneXus, independente de como o padrão foi editado.
AXI CLI (para agentes e automação)
O comando genexus-mcp em si também é uma CLI voltada para agentes com saída otimizada para tokens:
genexus-mcp status # gateway/worker state
genexus-mcp doctor --mcp-smoke # health check + protocol probe
genexus-mcp tools list # list available tools
genexus-mcp config show # current resolved config
genexus-mcp layout status # native layout automation state
Flags globais: --format toon|json|text · --fields f1,f2,... · --limit N · --query <text> · --quiet · --no-color.
Contrato completo: docs/axi_cli_contract.md. Manual de boas práticas: docs/llm_cli_mcp_playbook.md.
Configuração avançada
O instalador grava um config.json para você. Para personalizar rede, timeouts ou caminhos de sombra:
{
"Server": {
"HttpPort": 5000,
"BindAddress": "127.0.0.1",
"SessionIdleTimeoutMinutes": 10,
"WorkerIdleTimeoutMinutes": 60,
"MaxOpenKbs": 3,
"ArtifactOutputDirectory": "C:\\GenexusMCP\\Artifacts"
},
"GeneXus": {
"InstallationPath": "C:\\Program Files (x86)\\GeneXus\\GeneXus18",
"WorkerExecutable": "worker\\GxMcp.Worker.exe"
},
"Environment": {
"DefaultKb": "main",
"KBs": [
{ "alias": "main", "path": "C:\\KBs\\YourKB" },
{ "alias": "legacy", "path": "C:\\KBs\\OtherKB" }
]
}
}
Compatibilidade reversa: configurações antigas com um único
Environment.KBPathcontinuam funcionando — o gateway as migra automaticamente paraKBs[]+DefaultKbno momento do carregamento.
Artefatos de documentação gerados
genexus_doc mantém os arquivos gerados fora da instalação do Worker para que uma atualização não os deixe presos no backup de instalação. Por padrão, a raiz é %LOCALAPPDATA%\GxMcp\Artifacts; cada KB recebe um diretório kb-<identity> estável com filhos docs e html. Defina Server.ArtifactOutputDirectory para escolher outra raiz; o filho por KB ainda é adicionado. GXMCP_ARTIFACT_OUTPUT_DIR é a substituição equivalente para um Worker iniciado diretamente. Respostas do Wiki relatam result.file; respostas do visualizador relatam result.url; ambos também relatam result.outputDirectory. Visualizador e health consomem o snapshot canônico IndexCacheService da KB ativa, não um cache compartilhado relativo à instalação.
Trabalhando com múltiplas KBs
Depois que você declarar mais de uma KB em Environment.KBs[], toda ferramenta aceita um argumento opcional kb:
// LLM example: list procedures in two KBs in parallel
{ "tool": "genexus_list_objects", "arguments": { "kb": "main", "type": "Procedure" } }
{ "tool": "genexus_list_objects", "arguments": { "kb": "legacy", "type": "Transaction" } }
Regras de resolução quando kb é omitido:
- um
kbexplícito sempre vence; use-o para trabalho paralelo ou quando um prompt tocar mais de uma KB - cada sessão MCP captura o
DefaultKbconfigurado eminitialize;set_defaultaltera a sessão atual e persiste o fallback de inicialização para sessões futuras openapenas inicia/registra um Worker; ele não altera silenciosamente o alvo de outra sessão. Selecione-o comset_default, ou passekbexplicitamente- exatamente 1 KB aberta → usa essa KB quando a sessão não tem seleção
- 2+ KBs abertas sem seleção de sessão → o servidor retorna
KB_AMBIGUOUS; escolha uma comset_defaultou passekbexplicitamente
Gerencie o pool em tempo de execução:
{ "tool": "genexus_kb", "arguments": { "action": "list" } }
// → { selectedKb, activeKb, openKbs: [{alias, path, pid, workingSetMB, idleSeconds}], knownKbs, maxOpenKbs, defaultKb, declaredKbs }
{ "tool": "genexus_kb", "arguments": { "action": "open", "alias": "adhoc", "path": "C:/KBs/ScratchKB" } }
{ "tool": "genexus_kb", "arguments": { "action": "close", "alias": "legacy" } }
{ "tool": "genexus_kb", "arguments": { "action": "set_default", "alias": "main" } } // persists to config.json
Para OpenCode, chame genexus_whoami uma vez no início de uma sessão. Use
kb.selected, kb.default, kb.openKbs, kb.knownKbs e kb.declaredKbs
para entender o alvo, então selecione a KB normal de trabalho com
genexus_kb action=set_default. Toda resposta vinculada a uma KB também inclui kbAlias
em seu payload JSON, o que permite ao OpenCode correlacionar respostas somente de texto. Mantenha
kb=<alias> em chamadas que intencionalmente comparam ou atualizam outra KB.
O instalador registra ambos os layouts de configuração do OpenCode: a entrada direta legada
mcp.genexus usada pelo OpenCode 1.x e o layout atual mcp.servers.genexus.
clients add --clients opencode só é necessário para reparar ou re-registrar explicitamente
um cliente após a instalação; o init normal lida com clientes detectados
automaticamente. Reinicie o OpenCode após um registro para que ele recarregue a configuração MCP.
Quando o pool está cheio e nenhum Worker está ocioso, o servidor retorna KB_POOL_FULL — feche um explicitamente ou aumente Server.MaxOpenKbs. Cada Worker carrega o SDK em seu próprio processo (~200–400 MB ocioso, até 1–2 GB em KBs pesadas), então dimensione o pool contra a RAM disponível.
Arquitetura
graph LR
A[AI Client / Nexus-IDE] -->|MCP stdio or HTTP /mcp| B[Independent Gateway .NET 10]
B -->|isolated stdio: direct child| C[Worker .NET Framework 4.8]
B -->|shared-host: named-pipe attachment| H[Per-KB WorkerHost broker]
H -->|one compatible child| C
C -->|Native SDK| D[GeneXus KB]
- Worker pool (v2.3.0+): em modo isolado, um processo Worker .NET 4.8 por KB aberta em cada Gateway, limitado por
MaxOpenKbs(padrão 3). Comshared-host, Gateways compatíveis se conectam a um Worker de propriedade do broker por KB física em vez de iniciar processos SDK duplicados. Workers são iniciados preguiçosamente, reciclados porWorkerIdleTimeoutMinutese removidos por LRU quando o pool está cheio. - Paralelismo entre KBs: chamadas de ferramenta para KBs diferentes rodam em processos Worker diferentes e nunca bloqueiam umas às outras. Chamadas para a mesma KB ainda são serializadas pelo requisito STA do SDK GeneXus.
- Isolamento de Gateway:
shared-hostnão transforma um Gateway em mestre ou proxy para outro; cada cliente mantém seu próprio estado MCP e apenas o Worker SDK é compartilhado. - Reuso de Gateway: múltiplas instâncias do IDE compartilham um gateway via arquivos de lease em
%LOCALAPPDATA%\GenexusMCP\gateway-leases. - Modo HTTP: também disponível em
http://127.0.0.1:5000/mcpcom SSE. Cabeçalho:MCP-Protocol-Version: 2025-11-25.
Desenvolvimento e build a partir do código-fonte
Quer contribuir ou rodar um build de desenvolvimento local?
- Clone este repositório no Windows.
- Execute
.\build.ps1para restaurar e compilar os componentes C# e empacotar os artefatos locais. O script verifica o .NET SDK e a instalação do GeneXus 18 necessários. - Se o GeneXus estiver instalado fora do caminho padrão, defina
$env:GX_PATHpara sua pasta de instalação antes de executar o build. Uma Knowledge Base só é necessária para testes em tempo de execução.
Habilidades de IA empacotadas (.gemini/skills/)
Este repositório inclui um conjunto de habilidades de agente em .gemini/skills/ que qualquer cliente compatível com MCP com suporte a habilidades (Gemini CLI, Claude Code via plugin, etc.) pode carregar para fundamentar seu raciocínio sobre GeneXus:
| Habilidade | O que dá ao agente |
|---|---|
genexus-mastery | O fluxo de trabalho MCP preferido deste repositório + uso multi-KB |
genexus18-guidelines | Regras de engenharia locais em camadas sobre Nexa |
nexa | Conjunto de referência completo para o SDK primário do GeneXus: cada tipo de objeto, comando, tipo, propriedade — importado do oficial genexuslabs/genexus-skills |
frontend/chameleon-controls-library | 58 especificações de componentes de UI Chameleon |
frontend/mercury-design-system | Tokens Mercury, bundles, theming |
frontend/design-system-builder | Criação de design systems personalizados |
frontend/ui-creator | Modelos de geração de painéis/telas |
Habilidades de terceiros são Apache 2.0 (veja .gemini/skills/NOTICE.md). Para atualizar contra o upstream, siga os passos em NOTICE.md.
Nexus-IDE (extensão VS Code — opcional, não instalada automaticamente)
src/nexus-ide é uma extensão VS Code leve e experimental no repositório. O instalador não empacota nem instala mais — o VS Code é configurado como cliente MCP nativo (veja Clientes de IA suportados). Se você quiser a extensão, compile e instale manualmente:
cd src/nexus-ide; npm ci; npm run compile
npx --yes @vscode/vsce package --out nexus-ide.vsix
code --install-extension nexus-ide.vsix --force
Ela fornece um sistema de arquivos virtual (esquema genexus://), um explorador de KB com edição de múltiplas partes e comandos de descoberta MCP.
Lançamento automatizado
- Workflow:
.github/workflows/release.yml - Gatilho: push para
maincom um bump de versãopackage.json - Comportamento: publica no npm se a versão for nova + cria um GitHub Release com tag
v<version> - Segredo necessário:
NPM_TOKEN
Licença
MIT — veja LICENSE.
Palavras-chave de busca: GeneXus MCP · GeneXus 18 MCP · GeneXus AI · GeneXus Claude · Model Context Protocol GeneXus · GeneXus low-code AI agent · GeneXus Cursor · GeneXus Antigravity