genexus-mcp 3.9.1 → 3.9.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "genexus-mcp",
3
- "version": "3.9.1",
3
+ "version": "3.9.2",
4
4
  "mcpName": "io.github.lennix1337/genexus",
5
5
  "description": "GeneXus 16, GeneXus 17, GeneXus 18 MCP server with native SDK support; basic legacy compatibility for GeneXus Evolution 3, GeneXus Evolution 2, GeneXus Evolution 1, GeneXus 15, GeneXus 9.0, GeneXus 8.0 via com-gxpublic and dotnet-reflection drivers — read, edit, and analyze Knowledge Base objects directly from Claude, Cursor, and other AI agents over the Model Context Protocol.",
6
6
  "keywords": [
@@ -7,7 +7,7 @@
7
7
  "targets": {
8
8
  ".NETCoreApp,Version=v10.0": {},
9
9
  ".NETCoreApp,Version=v10.0/win-x64": {
10
- "GxMcp.Gateway/3.9.1": {
10
+ "GxMcp.Gateway/3.9.2": {
11
11
  "dependencies": {
12
12
  "Newtonsoft.Json": "13.0.3",
13
13
  "System.Management": "10.0.5",
@@ -66,7 +66,7 @@
66
66
  }
67
67
  },
68
68
  "libraries": {
69
- "GxMcp.Gateway/3.9.1": {
69
+ "GxMcp.Gateway/3.9.2": {
70
70
  "type": "project",
71
71
  "serviceable": false,
72
72
  "sha512": ""
Binary file
Binary file
@@ -1,14 +1,14 @@
1
1
  {
2
+ "Environment": {
3
+ "ResolutionPolicy": "strict"
4
+ },
2
5
  "Server": {
3
- "SessionIdleTimeoutMinutes": 10,
4
- "WorkerIdleTimeoutMinutes": 5,
5
- "EmitStructuredContent": false,
6
6
  "TerseResponses": true,
7
7
  "McpStdio": true,
8
- "HttpPort": 0
9
- },
10
- "Environment": {
11
- "ResolutionPolicy": "strict"
8
+ "HttpPort": 0,
9
+ "SessionIdleTimeoutMinutes": 10,
10
+ "EmitStructuredContent": false,
11
+ "WorkerIdleTimeoutMinutes": 5
12
12
  },
13
13
  "ConfigSchemaVersion": 2,
14
14
  "GeneXus": {
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "schemaVersion": "gxmcp-release-manifest/1",
3
- "version": "3.9.1",
4
- "sourceCommit": "631a192f0998ce3db2883d2bae4416cc59c71212",
3
+ "version": "3.9.2",
4
+ "sourceCommit": "a198d035ce7c54a8563382a9bc814fc241287e85",
5
5
  "sourceCommitPolicy": "exact-tag",
6
- "generatedAtUtc": "2026-09-25T20:30:42.0932718Z",
6
+ "generatedAtUtc": "2026-09-27T23:21:16.1079775Z",
7
7
  "runtime": {
8
8
  "gateway": "net10.0-windows",
9
9
  "worker": "net48-x86",
@@ -15,33 +15,33 @@
15
15
  "2026-07-28"
16
16
  ],
17
17
  "schema": "tool_definitions.json",
18
- "schemaSha256": "b318da3d232132761b64ebab9b61f67ea5fe41d76d3b9fdcf735eebb204e927d",
18
+ "schemaSha256": "3868e10738a997877b6350bf38e9748ddeffd2a194af77dc6fd89e1af0a32fe9",
19
19
  "provenance": "gxmcp-sbom.json",
20
20
  "artifacts": [
21
21
  {
22
22
  "path": "gxmcp-sbom.json",
23
23
  "size": 590,
24
- "sha256": "353ceba02f63b15f5442af42bbf27996161f118705e86155bae9d301d850ce89"
24
+ "sha256": "657932e329aef821997783720744484e68d35e2b9227c0e13610010411f32155"
25
25
  },
26
26
  {
27
27
  "path": "GxMcp.Gateway.exe",
28
28
  "size": 162304,
29
- "sha256": "25e08779feb39a308e5d2b6217f7237aa45ba628d271081264dcb5735f6cdcd5"
29
+ "sha256": "2309948ca38d9e8f5687b6172663c4aa83eb4b8d45eb6b4b46a1fd0ee345da21"
30
30
  },
31
31
  {
32
32
  "path": "nexus-ide.vsix",
33
- "size": 1318657,
34
- "sha256": "ce4f343f300a1fdfffaaef90da6e5afcf6ddb39cb45d19f31fbd8373d041999b"
33
+ "size": 1319958,
34
+ "sha256": "de680984e7caaac86ca017cb2389138642a72c0f4a6879317e777b393c595750"
35
35
  },
36
36
  {
37
37
  "path": "tool_definitions.json",
38
- "size": 132237,
39
- "sha256": "b318da3d232132761b64ebab9b61f67ea5fe41d76d3b9fdcf735eebb204e927d"
38
+ "size": 132679,
39
+ "sha256": "3868e10738a997877b6350bf38e9748ddeffd2a194af77dc6fd89e1af0a32fe9"
40
40
  },
41
41
  {
42
42
  "path": "worker/GxMcp.Worker.exe",
43
- "size": 3842048,
44
- "sha256": "c35065ba03491a89f3769e9ddb884aec5d84a17138c265b2c82320ea9d121f11"
43
+ "size": 3846144,
44
+ "sha256": "3d19cfc9e8e40d830303fcfd7414f885331fcce4f43b5429686435a82cdfe614"
45
45
  }
46
46
  ]
47
47
  }
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "schemaVersion": "gxmcp-provenance/1",
3
- "version": "3.9.1",
4
- "sourceCommit": "631a192f0998ce3db2883d2bae4416cc59c71212",
3
+ "version": "3.9.2",
4
+ "sourceCommit": "a198d035ce7c54a8563382a9bc814fc241287e85",
5
5
  "sourceCommitPolicy": "exact-tag",
6
6
  "components": [
7
7
  {
8
8
  "name": "genexus-mcp",
9
9
  "lockfile": "package-lock.json",
10
10
  "size": 38804,
11
- "sha256": "3acbab7289fb27e333d9462a724279bb41f455522f1baffdde9fd04c91360429"
11
+ "sha256": "02dde3331f502f0856ecdf807cde097d2db71b83128f3ecfc6561430b09de33c"
12
12
  },
13
13
  {
14
14
  "name": "nexus-ide",
15
15
  "lockfile": "src/nexus-ide/package-lock.json",
16
16
  "size": 267536,
17
- "sha256": "727dbfe686d84ac146f48a33713026b512e6c9501b988604d3d4b843b0cd1b6f"
17
+ "sha256": "64db440edd7ea7c9f51b6ab4f087b8265c03a722e5f9146f12efec7c8138a082"
18
18
  }
19
19
  ]
20
20
  }
Binary file
@@ -33,7 +33,7 @@
33
33
  {"name":"genexus_doctor","description":"Health check: GX install, KB state, worker, cache age, recent telemetry. Paste output for triage when something feels off. When more than one KB is open, pass kb=<alias> to pick which one to diagnose.","inputSchema":{"type":"object","properties":{"kb":{"type":"string","description":"Alias of the KB to diagnose. Optional; required only when multiple KBs are open (otherwise the single open / default KB is used)."}},"additionalProperties":false,"examples":[{},{"kb":"mykb"}]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},
34
34
  {"name":"genexus_edit_form","description":"Semantic WebForm edits. Actions: add_textblock, add_button, set_visibility, remove_control, wrap_in_fieldset.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["add_textblock","add_button","set_visibility","remove_control","wrap_in_fieldset"],"description":"Semantic WebForm control operation to execute."},"name":{"type":"string","description":"Target WebPanel or Transaction name."},"parent":{"type":"string","description":"Parent control ID to insert the new control into."},"position":{"type":"string","description":"first|last|after:<id>"},"caption":{"type":"string","description":"add_textblock/add_button: caption text."},"format":{"type":"string","enum":["Text","HTML"],"description":"add_textblock: format (Text or HTML)."},"event":{"type":"string","description":"add_button: event name; accepts EventA or 'EventA'; the writer normalizes quoting."},"controlId":{"type":"string","description":"add_textblock/add_button: explicit control ID (recommended for stable re-reads); set_visibility/remove_control: control ID to target."},"controlIds":{"type":"array","items":{"type":"string"},"description":"wrap_in_fieldset: list of control IDs to wrap inside the fieldset."},"legend":{"type":"string","description":"wrap_in_fieldset: legend text for the fieldset container."},"visible":{"type":"boolean","description":"set_visibility: visibility state (true or false)."},"dryRun":{"type":"boolean","description":"Preview form modifications without persisting."},"baseVersion":{"type":"string","description":"Version token from the preceding WebForm read; required for persistence when supplied by the generic edit path."},"rollbackOnFailure":{"type":"boolean","default":true,"description":"Request a guarded pre-write snapshot restore when independent read-back fails."},"kb":{"type":"string","description":"KB alias."}},"required":["action","name"],"examples":[{"action":"add_button","name":"WPMain","caption":"Confirmar","event":"OnConfirm"},{"action":"set_visibility","name":"WPMain","controlId":"GrpDetail","visible":false}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
35
35
  {"name":"genexus_compare","description":"Read-only SDK comparison. content adds diffs (part=read alias, partType, unified/omittedReason), preserving equal/differences. CRLF/CR to LF. Limits: input 1M UTF-16 units, diff 16K/part, JSON evidence 128KiB total; excess omitted. properties unchanged. See genexus_help.","inputSchema":{"type":"object","required":["objectA","objectB"],"properties":{"objectA":{"type":"string"},"objectB":{"type":"string"},"type":{"type":"string","description":"Object type filter applied to both lookups, e.g. 'Transaction'."},"mode":{"type":"string","enum":["content","properties"],"description":"content (default) or properties."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"objectA":"Customer","objectB":"CustomerV2"},{"objectA":"Customer","objectB":"CustomerV2","mode":"properties"}]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},
36
- {"name":"genexus_module","description":"GeneXus Module Manager over the SDK's IModuleManagerService. action=list (read-only: installed Module KB objects) | install (opcFile=<path to .opc file>, or name[+version] to install a named module) | install_builtin (name=<built-in module>) | update (name+version) | package/publish/restore (module lifecycle) | add_modules_server/search_modules_in_servers (configured module servers). install/install_builtin/update accept dryRun=true for a read-only preview (package identity, dependencies, affected modules) without calling the SDK install.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["install","install_builtin","update","list","package","publish","restore","list_modules_servers","add_modules_server","search_modules_in_servers"],"description":"Module Manager operation to inspect, install, or update a module."},"opcFile":{"type":"string","description":"install: absolute path to a .opc module package file."},"name":{"type":"string","description":"install (by name)/install_builtin/update: module name."},"version":{"type":"string","description":"install (by name)/update: target module version."},"outputPath":{"type":"string","description":"package: output directory; publish: output .opc file."},"outputDirectory":{"type":"string","description":"Alias of outputPath for package."},"rebuild":{"type":"boolean","description":"package: include a rebuild before packaging."},"confirm":{"type":"boolean","description":"Required for restore/publish/package when the operation changes KB or publishes externally."},"server":{"type":"string","description":"restore/search_modules_in_servers: configured module server name."},"serverType":{"type":"string","enum":["Directory","Nexus","NexusNuGet","ModuleServer"],"description":"add_modules_server: native ServerType."},"source":{"type":"string","description":"add_modules_server: server URL or directory source."},"filter":{"type":"string","description":"search_modules_in_servers: module name/version filter."},"preserveConfiguration":{"type":"boolean","description":"add_modules_server: preserve the existing server configuration when supported."},"dryRun":{"type":"boolean","description":"install/install_builtin/update: when true, returns a read-only preview (package identity, dependencies, affected modules) without calling the SDK install."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"list"},{"action":"install_builtin","name":"GeneXusGAM"}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
36
+ {"name":"genexus_module","description":"GeneXus Module Manager over the SDK's IModuleManagerService. action=list (read-only: installed Module KB objects) | install (opcFile=<path to .opc file>, or name[+version] to install a named module) | install_builtin (name=<built-in module>) | update (name+version) | package/publish/restore (module lifecycle) | add_modules_server/search_modules_in_servers (configured module servers). install/install_builtin/update accept dryRun=true for a read-only preview (package identity, dependencies, affected modules) without calling the SDK install. A name/built-in preview reports dependencies only when the installed SDK can read them (GeneXus 18 IModuleManagerService.GetReferencesFromPackagableObjects); check dependencySource=sdk before treating an empty list as authoritative. install_builtin refuses with ModuleBuiltinCheckUnsupported / ModuleBuiltinVersionUnsupported when the SDK cannot verify the built-in registration and exact version - an unverifiable module is never installed.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["install","install_builtin","update","list","package","publish","restore","list_modules_servers","add_modules_server","search_modules_in_servers"],"description":"Module Manager operation to inspect, install, or update a module."},"opcFile":{"type":"string","description":"install: absolute path to a .opc module package file."},"name":{"type":"string","description":"install (by name)/install_builtin/update: module name."},"version":{"type":"string","description":"install (by name)/update: target module version."},"outputPath":{"type":"string","description":"package: output directory; publish: output .opc file."},"outputDirectory":{"type":"string","description":"Alias of outputPath for package."},"rebuild":{"type":"boolean","description":"package: include a rebuild before packaging."},"confirm":{"type":"boolean","description":"Required for restore/publish/package when the operation changes KB or publishes externally."},"server":{"type":"string","description":"restore/search_modules_in_servers: configured module server name."},"serverType":{"type":"string","enum":["Directory","Nexus","NexusNuGet","ModuleServer"],"description":"add_modules_server: native ServerType."},"source":{"type":"string","description":"add_modules_server: server URL or directory source."},"filter":{"type":"string","description":"search_modules_in_servers: module name/version filter."},"preserveConfiguration":{"type":"boolean","description":"add_modules_server: preserve the existing server configuration when supported."},"dryRun":{"type":"boolean","description":"install/install_builtin/update: when true, returns a read-only preview (package identity, dependencies, affected modules) without calling the SDK install."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"list"},{"action":"install_builtin","name":"GeneXusGAM"}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
37
37
  {"name":"genexus_merge","description":"Merge two (or three, with an ancestor) KB objects via the SDK's IMergeService. mode=objects only (mode=models is unsupported — needs multiple KBModel instances not available in this worker). Omit objectBase for a 2-way merge (ignoreConflicts applies); pass objectBase for a 3-way merge. dryRun (default true) reports what would merge via IComparerService WITHOUT writing; dryRun=false performs the merge and saves it. WRITE + destructive.","inputSchema":{"type":"object","required":["objectLeft","objectRight"],"properties":{"mode":{"type":"string","enum":["objects"],"description":"Only 'objects' is supported."},"objectLeft":{"type":"string"},"objectRight":{"type":"string"},"objectBase":{"type":"string","description":"Optional common ancestor. Omit for a 2-way merge; pass for a 3-way merge."},"type":{"type":"string","description":"Object type filter applied to all lookups, e.g. 'Transaction'."},"ignoreConflicts":{"type":"boolean","description":"2-way merge only: let the SDK auto-resolve conflicting parts instead of failing. Default false."},"dryRun":{"type":"boolean","default":true,"description":"true (default): report-only, no SDK MergeObjects call, nothing written. false: perform the merge and save it."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"objectLeft":"Customer","objectRight":"CustomerV2"},{"objectBase":"CustomerBase","objectLeft":"Customer","objectRight":"CustomerV2","dryRun":false}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
38
38
  {"name":"genexus_gxserver","description":"GxServer (Team Development) sync. Read: status|pending|ignored|conflicts|history. pending lists locally-changed objects, each flagged ignoredForCommit (true = in the IDE 'Ignored Objects' tab, skipped by a full commit). ignored lists ONLY the excluded objects: commitIgnored (IDE Commit > Ignored Objects) + updateIgnored (IDE Update > Ignored Objects). Write (destructive; requires a GXserver-linked KB): commit (message; optional targets[] = commit ONLY those pending objects; reports committedObjects + remoteVersion) | update (applies changes into local KB; apply=false = download only; leaves conflicts flagged) | lock (target) | resolve (targets[] + strategy). theirs/automerge/update talk to the server and need creds via GXMCP_TEAMDEV_USER/PASSWORD env (url auto-resolves). Returns {connected:false} when KB is not linked.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["status","pending","ignored","conflicts","history","commit","update","lock","resolve","pipeline_list","pipeline_runs","pipeline_output","pipeline_run","pipeline_abort"],"description":"GXserver/Team Development or CI pipeline operation to perform."},"project":{"type":"string","description":"pipeline_*: CI pipeline/project name (from pipeline_list)."},"buildId":{"type":"integer","description":"pipeline_output: build id to fetch output for."},"rebuild":{"type":"boolean","description":"pipeline_run: full rebuild instead of incremental."},"runTests":{"type":"boolean","description":"pipeline_run: run tests as part of the pipeline."},"confirm":{"type":"boolean","description":"pipeline_run/pipeline_abort: required (these trigger/cancel a build)."},"limit":{"type":"integer","description":"history only; default 10, max 200."},"message":{"type":"string","description":"commit: commit comment."},"force":{"type":"boolean","description":"commit: force commit despite pending server-side changes."},"apply":{"type":"boolean","description":"update: apply changes into local KB (default true); false = download package only."},"async":{"type":"boolean","description":"update/commit: run as a background job — returns an operationId immediately; poll genexus_lifecycle(action=status|result, target=op:<id>). Use for a large update that would exceed the sync window."},"strategy":{"type":"string","enum":["mine","theirs","automerge"],"description":"resolve: which version wins — mine (keep local, default, creds-free), theirs (take server), automerge (3-way merge). theirs/automerge need server creds."},"target":{"type":"string","description":"lock: object name to lock."},"targets":{"type":"array","items":{"type":"string"},"description":"commit: partial commit — object names to commit (all other pending objects are excluded). resolve: conflicted object names to resolve. Names must appear in action=pending/conflicts."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"status"},{"action":"commit","message":"Fix Customer validation"},{"action":"commit","message":"Ship my proc only","targets":["ApiCtlObjTransicionar"]},{"action":"update"},{"action":"resolve","targets":["Customer"],"strategy":"automerge"}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
39
39
  {"name":"genexus_kb_version","description":"SDK KB version tree via KBVersionHelper. list and changed_objects are read-only; changed_objects compares active Design with a frozen version and returns paged NEW/CHANGED items without SQL. Other actions mutate. createdAt may be unavailable; lastUpdate is separate.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["list","changed_objects","freeze","branch","set_active","revert"],"description":"Version delta or tree operation."},"name":{"type":"string","description":"New version/branch name (freeze/branch)."},"description":{"type":"string","description":"New version/branch description (freeze/branch)."},"parentVersion":{"type":"string","description":"Parent version name (freeze/branch). Defaults to the active version."},"targetVersion":{"type":"string","description":"Version to activate (set_active) or revert to (revert)."},"fromVersion":{"type":"string","description":"changed_objects frozen baseline; revert source; omit for latest frozen."},"offset":{"type":"integer","minimum":0,"description":"offset."},"limit":{"type":"integer","minimum":1,"maximum":200,"description":"limit."},"backupModel":{"type":"boolean","description":"freeze."},"includeEnvironments":{"type":"boolean","description":"branch."},"autoUpdate":{"type":"boolean","description":"set_active."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"list"},{"action":"changed_objects","fromVersion":"v1.0"},{"action":"freeze","name":"v1.0","description":"Release 1.0"},{"action":"set_active","targetVersion":"Trunk"}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
Binary file