genexus-mcp 1.1.1 → 1.1.2
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 +4 -16
- package/cli/run.js +33 -4
- package/package.json +1 -1
- package/publish/gateway_debug.log +9 -0
package/README.md
CHANGED
|
@@ -10,19 +10,10 @@ A high-performance Model Context Protocol (MCP) server for GeneXus 18. It integr
|
|
|
10
10
|
|
|
11
11
|
You **do not** need to clone this repository or install anything globally if you have Node.js installed. You can configure your AI Assistant (Claude Desktop, Cursor, RooCode, etc.) to fetch and run the server dynamically!
|
|
12
12
|
|
|
13
|
-
### 1.
|
|
14
|
-
|
|
13
|
+
### 1. Go to your Knowledge Base folder
|
|
14
|
+
You don't need to configure anything. By default, the `genexus-mcp` automatically discovers where GeneXus 18/17 is installed on your `C:\` drive and dynamically maps the Knowledge Base to your Current Working Directory!
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
{
|
|
18
|
-
"GeneXus": {
|
|
19
|
-
"InstallationPath": "C:\\Program Files (x86)\\GeneXus\\GeneXus18"
|
|
20
|
-
},
|
|
21
|
-
"Environment": {
|
|
22
|
-
"KBPath": "C:\\KBs\\YourKB"
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
```
|
|
16
|
+
*(If you are running the AI tool outside your KB directory, you can manually create a `config.json` with `Environment.KBPath` and `GeneXus.InstallationPath` to override the auto-discovery).*
|
|
26
17
|
|
|
27
18
|
### 2. Configure your AI Assistant
|
|
28
19
|
Add the `mcpServers` configuration block into your AI tool (e.g. `claude_desktop_config.json`):
|
|
@@ -31,10 +22,7 @@ Add the `mcpServers` configuration block into your AI tool (e.g. `claude_desktop
|
|
|
31
22
|
"mcpServers": {
|
|
32
23
|
"genexus": {
|
|
33
24
|
"command": "npx",
|
|
34
|
-
"args": ["-y", "genexus-mcp"]
|
|
35
|
-
"env": {
|
|
36
|
-
"GX_CONFIG_PATH": "C:\\path\\to\\your\\config.json"
|
|
37
|
-
}
|
|
25
|
+
"args": ["-y", "genexus-mcp@latest"]
|
|
38
26
|
}
|
|
39
27
|
}
|
|
40
28
|
```
|
package/cli/run.js
CHANGED
|
@@ -9,10 +9,39 @@ const cwdConfigPath = path.join(process.cwd(), 'config.json');
|
|
|
9
9
|
if (fs.existsSync(cwdConfigPath)) {
|
|
10
10
|
process.env.GX_CONFIG_PATH = cwdConfigPath;
|
|
11
11
|
} else if (!process.env.GX_CONFIG_PATH) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
const possibleGxPaths = [
|
|
13
|
+
"C:\\Program Files (x86)\\GeneXus\\GeneXus18",
|
|
14
|
+
"C:\\Program Files (x86)\\GeneXus\\GeneXus17",
|
|
15
|
+
"C:\\Program Files (x86)\\GeneXus\\GeneXus16",
|
|
16
|
+
"C:\\Program Files\\GeneXus\\GeneXus18",
|
|
17
|
+
"C:\\Program Files\\GeneXus\\GeneXus17"
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
let foundGxPath = null;
|
|
21
|
+
for (const p of possibleGxPaths) {
|
|
22
|
+
if (fs.existsSync(path.join(p, 'genexus.exe'))) {
|
|
23
|
+
foundGxPath = p;
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (foundGxPath) {
|
|
29
|
+
console.error(`[genexus-mcp] Auto-discovered GeneXus at: ${foundGxPath}`);
|
|
30
|
+
console.error(`[genexus-mcp] Generating default config.json for KB at: ${process.cwd()}`);
|
|
31
|
+
|
|
32
|
+
const defaultConfig = {
|
|
33
|
+
GeneXus: { InstallationPath: foundGxPath },
|
|
34
|
+
Environment: { KBPath: process.cwd() }
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
fs.writeFileSync(cwdConfigPath, JSON.stringify(defaultConfig, null, 2));
|
|
38
|
+
process.env.GX_CONFIG_PATH = cwdConfigPath;
|
|
39
|
+
} else {
|
|
40
|
+
console.error('[genexus-mcp] ERROR: No config.json found in the current directory!');
|
|
41
|
+
console.error('[genexus-mcp] Auto-discovery for GeneXus installation failed.');
|
|
42
|
+
console.error('[genexus-mcp] Please create a config.json file manually with at least the KBPath and GeneXus InstallationPath.');
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
16
45
|
}
|
|
17
46
|
|
|
18
47
|
// Locate the bundled .NET executable inside the publish folder
|
package/package.json
CHANGED
|
@@ -5936,3 +5936,12 @@
|
|
|
5936
5936
|
[2026-04-01 15:07:49.469] [HTTP] Received tools/list (ID: 1) - Body: {"jsonrpc":"2.0","id":1,"method":"tools/list","params":{"_meta":{"progressToken":0}}}
|
|
5937
5937
|
[2026-04-01 15:07:49.470] [HTTP] Serializing response for 1...
|
|
5938
5938
|
[2026-04-01 15:07:49.470] [HTTP] Sending 14100 bytes to 1
|
|
5939
|
+
[2026-04-09 15:48:11.283] === Gateway starting (Stdio Mode) ===
|
|
5940
|
+
[2026-04-09 15:48:11.300] [Gateway] Loading config from: C:\Users\2635801\.gemini\antigravity\brain\7365ac0f-28d5-4326-a546-3e37e2ba58e9\scratch_test\config.json
|
|
5941
|
+
[2026-04-09 15:48:11.362] [Gateway] KB Path configured: C:\Users\2635801\.gemini\antigravity\brain\7365ac0f-28d5-4326-a546-3e37e2ba58e9\scratch_test
|
|
5942
|
+
[2026-04-09 15:48:11.365] [Gateway] Startup orphan-kill disabled. Existing gateway reuse is handled by the extension client.
|
|
5943
|
+
[2026-04-09 15:48:11.387] === Gateway starting (Stdio Mode) ===
|
|
5944
|
+
[2026-04-09 15:48:11.388] [Gateway] Initializing Worker lifecycle...
|
|
5945
|
+
[2026-04-09 15:48:11.391] [Gateway] Worker lifecycle ready.
|
|
5946
|
+
[2026-04-09 15:48:11.391] [Gateway] Setting up .gx_mirror watcher...
|
|
5947
|
+
[2026-04-09 15:48:11.392] [Gateway] .gx_mirror watcher active.
|