genexus-mcp 2.3.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,8 +2,9 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/genexus-mcp.svg)](https://www.npmjs.com/package/genexus-mcp)
4
4
  [![npm downloads](https://img.shields.io/npm/dm/genexus-mcp.svg)](https://www.npmjs.com/package/genexus-mcp)
5
- [![MCP Badge](https://lobehub.com/badge/mcp/lennix1337-genexus18mcp?style=for-the-badge)](https://lobehub.com/mcp/lennix1337-genexus18mcp)
6
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+ [![SafeSkill 85/100](https://img.shields.io/badge/SafeSkill-85%2F100_Passes%20with%20Notes-yellow)](https://safeskill.dev/scan/lennix1337-genexus18mcp)
7
+ [![MCP Badge](https://lobehub.com/badge/mcp/lennix1337-genexus18mcp)](https://lobehub.com/mcp/lennix1337-genexus18mcp)
7
8
 
8
9
  > **¿Hablás español?** → [Guía de inicio en español](docs/GETTING_STARTED.es.md)
9
10
  > **Stuck?** → [Troubleshooting guide](TROUBLESHOOTING.md)
@@ -70,6 +71,37 @@ Replace the placeholders or let the AI ask you for them.
70
71
 
71
72
  ---
72
73
 
74
+ ## Corporate install (fixed path, ASR-friendly)
75
+
76
+ If your machine has **Microsoft Defender ASR**, **SmartScreen**, or another endpoint policy blocking unsigned binaries, the default `npx` flow is painful — `npx` caches the package under `%LOCALAPPDATA%\npm-cache\_npx\<hash>\...`, and the `<hash>` changes per version, so IT can't whitelist a stable path without a wildcard over the whole npm cache (which is too broad).
77
+
78
+ Use the corporate installer instead. It extracts the binaries to a stable directory and registers the AI clients to launch the gateway directly from there — `npx` is never on the runtime path.
79
+
80
+ ```pwsh
81
+ # One-liner — installs latest release, registers AI clients
82
+ iex (irm https://raw.githubusercontent.com/lennix1337/Genexus18MCP/main/scripts/install.ps1)
83
+
84
+ # With explicit KB and GeneXus paths
85
+ $s = irm https://raw.githubusercontent.com/lennix1337/Genexus18MCP/main/scripts/install.ps1
86
+ & ([scriptblock]::Create($s)) -Kb "C:\KBs\MyKB" -Gx "C:\Program Files (x86)\GeneXus\GeneXus18"
87
+ ```
88
+
89
+ Install location:
90
+
91
+ - **Admin shell** → `C:\Tools\GenexusMCP\`
92
+ - **Non-admin shell** → `%LOCALAPPDATA%\Programs\GenexusMCP\`
93
+
94
+ Paths to give to IT for the ASR / Defender exclusion list:
95
+
96
+ ```
97
+ <InstallDir>\GxMcp.Gateway.exe
98
+ <InstallDir>\worker\GxMcp.Worker.exe
99
+ ```
100
+
101
+ Re-run the same one-liner later to **upgrade** — it detects the installed version (`version.txt` in the install dir) and downloads only if a newer release is available. Use `-Force` to reinstall the same version, `-Version v2.3.0` to pin a specific tag, `-NoClient` to skip AI client registration. Node.js 18+ must be installed for client registration; without it the script still extracts the binaries but you'll need to edit the client config (`claude_desktop_config.json` etc.) manually.
102
+
103
+ ---
104
+
73
105
  ## What can I ask the AI?
74
106
 
75
107
  Once installed, here's what unlocks. Try these as your first prompts:
package/cli/lib/config.js CHANGED
@@ -148,6 +148,13 @@ function createConfigFile(kbPath, gxPath) {
148
148
  function patchClientConfig(targetConfigPath) {
149
149
  const clients = getClientConfigTargets();
150
150
 
151
+ // Set by scripts/install.ps1 for fixed-path corporate installs — clients
152
+ // launch the gateway exe directly instead of resolving via the npx cache.
153
+ const directExe = process.env.GENEXUS_MCP_GATEWAY_EXE;
154
+ const launcher = directExe
155
+ ? { command: directExe, args: [] }
156
+ : { command: process.platform === 'win32' ? 'npx.cmd' : 'npx', args: ['-y', 'genexus-mcp@latest'] };
157
+
151
158
  const patched = [];
152
159
  const failed = [];
153
160
 
@@ -163,11 +170,7 @@ function patchClientConfig(targetConfigPath) {
163
170
 
164
171
  const cfgObj = parsed || {};
165
172
  cfgObj.mcpServers = cfgObj.mcpServers || {};
166
- cfgObj.mcpServers.genexus = {
167
- command: process.platform === 'win32' ? 'npx.cmd' : 'npx',
168
- args: ['-y', 'genexus-mcp@latest'],
169
- env: { GX_CONFIG_PATH: targetConfigPath }
170
- };
173
+ cfgObj.mcpServers.genexus = { ...launcher, env: { GX_CONFIG_PATH: targetConfigPath } };
171
174
 
172
175
  fs.writeFileSync(client.path, JSON.stringify(cfgObj, null, 2));
173
176
  patched.push(client.name);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genexus-mcp",
3
- "version": "2.3.0",
3
+ "version": "2.3.1",
4
4
  "mcpName": "io.github.lennix1337/genexus",
5
5
  "description": "GeneXus 18 MCP server — read, edit, and analyze GeneXus knowledge base objects (transactions, web panels, procedures, SDTs) directly from Claude, Cursor, and other AI agents over the Model Context Protocol.",
6
6
  "keywords": [
@@ -6,7 +6,7 @@
6
6
  "compilationOptions": {},
7
7
  "targets": {
8
8
  ".NETCoreApp,Version=v8.0": {
9
- "GxMcp.Gateway/2.3.0": {
9
+ "GxMcp.Gateway/2.3.1": {
10
10
  "dependencies": {
11
11
  "Newtonsoft.Json": "13.0.3",
12
12
  "System.Management": "10.0.5",
@@ -81,7 +81,7 @@
81
81
  }
82
82
  },
83
83
  "libraries": {
84
- "GxMcp.Gateway/2.3.0": {
84
+ "GxMcp.Gateway/2.3.1": {
85
85
  "type": "project",
86
86
  "serviceable": false,
87
87
  "sha512": ""
Binary file
Binary file
Binary file
Binary file
Binary file