genexus-mcp 2.41.0 → 2.41.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/cli/commands/axi.js +1 -1
- package/cli/lib/update-check.js +1 -1
- package/package.json +1 -1
- package/publish/GxMcp.Gateway.deps.json +2 -2
- package/publish/GxMcp.Gateway.dll +0 -0
- package/publish/GxMcp.Gateway.exe +0 -0
- package/publish/config.json +6 -6
- package/publish/tool_definitions.json +1 -1
- package/publish/worker/GxMcp.Worker.exe +0 -0
package/cli/commands/axi.js
CHANGED
|
@@ -1010,7 +1010,7 @@ async function runLayoutAutomation(payload, cwd) {
|
|
|
1010
1010
|
timer = setTimeout(() => {
|
|
1011
1011
|
try {
|
|
1012
1012
|
child.kill();
|
|
1013
|
-
} catch
|
|
1013
|
+
} catch {}
|
|
1014
1014
|
finish({ ok: false, error: `Layout automation timed out after ${timeoutMs}ms` });
|
|
1015
1015
|
}, timeoutMs);
|
|
1016
1016
|
|
package/cli/lib/update-check.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "genexus-mcp",
|
|
3
|
-
"version": "2.41.
|
|
3
|
+
"version": "2.41.2",
|
|
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": [
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"targets": {
|
|
8
8
|
".NETCoreApp,Version=v8.0": {},
|
|
9
9
|
".NETCoreApp,Version=v8.0/win-x64": {
|
|
10
|
-
"GxMcp.Gateway/2.41.
|
|
10
|
+
"GxMcp.Gateway/2.41.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/2.41.
|
|
69
|
+
"GxMcp.Gateway/2.41.2": {
|
|
70
70
|
"type": "project",
|
|
71
71
|
"serviceable": false,
|
|
72
72
|
"sha512": ""
|
|
Binary file
|
|
Binary file
|
package/publish/config.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
|
+
"Logging": {
|
|
3
|
+
"Path": "logs",
|
|
4
|
+
"Level": "Debug"
|
|
5
|
+
},
|
|
2
6
|
"GeneXus": {
|
|
3
|
-
"
|
|
4
|
-
"
|
|
7
|
+
"WorkerExecutable": "C:\\Projetos\\Genexus18MCP\\publish\\\\worker\\\\GxMcp.Worker.exe",
|
|
8
|
+
"InstallationPath": "C:\\\\Program Files (x86)\\\\GeneXus\\\\GeneXus18"
|
|
5
9
|
},
|
|
6
10
|
"Server": {
|
|
7
11
|
"McpStdio": true,
|
|
8
12
|
"HttpPort": 5000
|
|
9
13
|
},
|
|
10
|
-
"Logging": {
|
|
11
|
-
"Path": "logs",
|
|
12
|
-
"Level": "Debug"
|
|
13
|
-
},
|
|
14
14
|
"Environment": {
|
|
15
15
|
"KBPath": "C:\\\\KBs\\\\YourKB"
|
|
16
16
|
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
{"name":"genexus_run_object","description":"Resolve runtime URL for an object (webRoot + aspx + encoded args). gamSession='auto'|{user,pass,...} captures GAM cookies. Does NOT open a browser. dryRun=true returns the resolved URL without performing GAM login.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"args":{"type":"array","items":{"type":"string"},"description":"Positional parameter values."},"gamSession":{"description":"'auto' (use GXMCP_GAM_USER/PASS env) or {user, pass, repository?, loginUrl?}."},"dryRun":{"type":"boolean","default":false,"description":"When true, returns the resolved URL without performing the GAM login step."},"kb":{"type":"string","description":"KB alias."}},"required":["name"],"examples":[{"name":"WPMain"},{"name":"WPCustomer","args":["42"]}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}},
|
|
17
17
|
{"name":"genexus_format","description":"Format a GeneXus code snippet using worker rules.","inputSchema":{"type":"object","properties":{"code":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["code"],"examples":[{"code":"for each Customer where CustomerId = &Id\n &Name = CustomerName\nendfor"}]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}},
|
|
18
18
|
{"name":"genexus_gam","description":"GAM / integrated-security provisioning via the SDK's IIntegratedSecurityService — distinct from genexus_security (env-scan/regex audit). action=status (default) is read-only: IsEnabledIntegratedSecurity + GAM-DB-reorganize flag. action=define_api / action=deploy are DESTRUCTIVE — they create/alter GAM security tables in the KB's datastore; no default reaches them, action must be set explicitly.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["status","define_api","deploy"],"description":"status (default, read-only) | define_api | deploy."},"force":{"type":"boolean","description":"define_api only: force flag passed to DefineAPI."},"forceTableCreation":{"type":"boolean","description":"deploy only: force GAM table creation."},"rebuild":{"type":"boolean","description":"deploy only: rebuild flag."},"kb":{"type":"string","description":"KB alias."}},"examples":[{"action":"status"},{"action":"deploy","forceTableCreation":true}]},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false,"openWorldHint":false}},
|
|
19
|
-
{"name":"genexus_properties","description":"Read
|
|
19
|
+
{"name":"genexus_properties","description":"Read/update object properties. action=get|set|move. move snapshots every persisted part, checks baseVersion, verifies inside the SDK transaction and after commit, and rolls back divergence. Use destination for a Folder/Module or targetModule for a Module; destKind disambiguates equal names. dryRun does not save or change the token. Move never runs lifecycle, compilation, execution, or tests. Description is the WebPanel/Popup title-bar text. Use genexus_layout set_property for layout controls.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["get","set","move"]},"name":{"type":"string"},"type":{"type":"string","description":"Optional object type disambiguator."},"control":{"type":"string","description":"Optional. Layout control name (e.g. BtnConfirmar), variable name with & prefix (e.g. &Alu2RegProf), or attribute name."},"propertyName":{"type":"string"},"value":{"type":"string"},"destination":{"type":"string","description":"move: target Folder/Module name (auto-detects kind)."},"targetModule":{"type":"string","description":"move: typed alias for a Module destination."},"destKind":{"type":"string","enum":["Folder","Module"],"description":"move: disambiguate when a Folder and Module share a name."},"dryRun":{"type":"boolean","description":"move: preview from/to and preserved parts without persisting."},"baseVersion":{"type":"string","description":"move: opaque optimistic concurrency token returned by a prior read."},"validationMode":{"type":"string","enum":["specify"],"description":"Issue #60: with action=set, run the inline Specify pass (Spec+Gen, no Compile) after the property write, returning structured spc*/gen* diagnostics in the same call. Combines with rollbackOnFailure."},"rollbackOnFailure":{"type":"boolean","description":"move: attempt compensating snapshot restoration if the SDK transaction rollback is insufficient (default true). set+validationMode=specify: request rollback after validation failure."},"kb":{"type":"string","description":"KB alias."}},"required":["action","name"],"examples":[{"action":"get","name":"MyPanel"},{"action":"move","name":"InvoiceHelper","type":"Procedure","targetModule":"operacional","baseVersion":"<versionToken from genexus_read>","dryRun":true,"rollbackOnFailure":true}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
20
20
|
{"name":"genexus_structure","description":"Read or write the structure/data-model of GeneXus objects. Read: get_visual, get_logic, get_indexes (source=User indexes are droppable; response includes versionToken). Write: move_attribute reorders the existing native TransactionAttribute; update_visual authors a Transaction/SDT structure; update_group edits SubType Group membership; create_index plans or creates an index with optimistic concurrency, exact post-save verification and rollback; drop_index removes an index; set_attribute, set_level, and set_domain edit SDK properties. move_attribute and create_index never run Specify, Generate, Build, Rebuild, compilation, reorganization, execution, tests, or Pattern application. Run genexus_lifecycle action=reorg separately after persisted index/type changes. For layout control trees use genexus_layout.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["get_visual","update_visual","get_indexes","create_index","drop_index","set_attribute","set_level","set_domain","get_logic","update_group","move_attribute"]},"name":{"type":"string","description":"Object name. move_attribute: Transaction name; create_index/get_indexes: Transaction or Table name; set_attribute: attribute name; set_domain: domain name."},"module":{"type":"string","description":"move_attribute optional: Transaction module."},"attribute":{"type":"string","description":"move_attribute: existing attribute to reorder by native SDK identity."},"before":{"type":"string","description":"move_attribute: place attribute before this attribute in the same level. Mutually exclusive with after/position."},"after":{"type":"string","description":"move_attribute: place attribute after this attribute in the same level. Mutually exclusive with before/position."},"position":{"type":"integer","minimum":0,"description":"move_attribute: zero-based final attribute position in the level. Mutually exclusive with before/after."},"level":{"type":"string","description":"move_attribute: root (default) or an unambiguous subordinate level name."},"levelPath":{"type":"array","items":{"type":"string"},"description":"move_attribute: nested level path, e.g. [\"Item\",\"Operation\"]."},"dryRun":{"type":"boolean","default":false,"description":"move_attribute/create_index: validate and return the projected diff without saving. create_index re-reads the SDK state and reports DryRunMutationDetected if persistence changed."},"baseVersion":{"type":"string","description":"move_attribute/create_index optimistic-concurrency token. For create_index, use versionToken returned by get_indexes; stale state returns VersionConflict before mutation."},"payload":{"type":"object","description":"update_visual (Transaction):{children:[...]}; update_visual (SDT):{isCollection?,collectionItemName?,children:[{name,type?,length?,decimals?,basedOnDomain?,isCollection?,isLevel?,children?}]}. update_group:{members:[{name,subtypeOf}],remove?:[name]}. create_index:{attributes:[\"Attr\"],unique?:true,name?,order?:\"Ascending\"|\"Descending\"}; requested attribute order is preserved. drop_index:{indexName}. set_attribute:{formula?,subtypeOf?,title?,columnTitle?,contextualTitle?,isCollection?,basedOnDomain?}. set_level:{level?,descriptionAttribute?,imageAttribute?}. set_domain:{enumValues:[{name,value,description?}],dataType?,length?,decimals?,signed?}."},"validationMode":{"type":"string","enum":["specify"],"description":"Issue #60: run the inline Specify pass (Spec+Gen, no Compile) after update_visual/set_domain/set_attribute/set_level/update_group. Not accepted by move_attribute/create_index."},"rollbackOnFailure":{"type":"boolean","default":true,"description":"create_index: restore the captured index snapshot if save or exact post-save verification fails. move_attribute always snapshots and rolls back automatically on failed integrity checks."},"kb":{"type":"string","description":"KB alias."}},"required":["action","name"],"examples":[{"action":"move_attribute","name":"SampleTransaction","attribute":"SampleSubtypeId","after":"SampleReferenceId","level":"root","dryRun":true},{"action":"move_attribute","name":"SampleTransaction","attribute":"NestedDescription","after":"NestedId","levelPath":["Item","Operation"]},{"action":"get_indexes","name":"Customer"},{"action":"create_index","name":"Country","dryRun":true,"baseVersion":"<get_indexes versionToken>","payload":{"name":"UCountryName","attributes":["CountryName"],"unique":true},"rollbackOnFailure":true},{"action":"set_attribute","name":"CustomerBalance","payload":{"formula":"sum(SampleTransactionAmount)"}},{"action":"set_level","name":"Customer","payload":{"descriptionAttribute":"CustomerName"}},{"action":"update_visual","name":"MySdt","payload":{"isCollection":true,"collectionItemName":"MySdtItem","children":[{"name":"Title","type":"VarChar","length":100},{"name":"Kind","basedOnDomain":"MyDomain"}]}},{"action":"update_group","name":"gst_orgao_exercicio","payload":{"members":[{"name":"orgao_exercicio_id","subtypeOf":"exercicio_id"},{"name":"orgao_exercicio","subtypeOf":"exercicio"}]}}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
21
21
|
{"name":"genexus_authoring","description":"Author members of object types the structure DSL doesn't cover. add_external_method / add_external_property add a method (with parameters) or property to an External Object; add_menu_option adds an option to a Menu (target = a KB object to call); add_condition adds a filter expression to a Data Selector. name = the target object.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["add_external_method","add_external_property","add_menu_option","add_condition"]},"name":{"type":"string","description":"ExternalObject / Menu / DataSelector name."},"payload":{"type":"object","description":"add_external_method:{name,returnType?,parameters?:[{name,type?,inout?}]}. add_external_property:{name,type?}. add_menu_option:{description,target?,optionCode?}. add_condition:{source}."},"kb":{"type":"string","description":"KB alias."}},"required":["action","name"],"examples":[{"action":"add_external_property","name":"MyExternalObject","payload":{"name":"apiKey","type":"Character"}},{"action":"add_menu_option","name":"MainMenu","payload":{"description":"Customers","target":"CustomerWW"}},{"action":"add_condition","name":"ActiveCustomers","payload":{"source":"CustomerActive = True"}}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
22
22
|
{"name":"genexus_layout","description":"SDK layout/WebForm ops: get_tree, set_property, find_controls, inspect_surface, scan_mutators. For object-level properties use genexus_properties; for object-level visual structure use genexus_structure get_visual.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["get_tree","set_property","find_controls","set_properties","inspect_surface","get_preview","scan_mutators","rename_printblock","add_printblock","list_controls","design_system"]},"name":{"type":"string"},"control":{"type":"string"},"propertyName":{"type":"string"},"value":{"type":"string"},"query":{"type":"string"},"changes":{"type":"array","items":{"type":"object","properties":{"control":{"type":"string"},"propertyName":{"type":"string"},"value":{"type":"string"}},"required":["control","propertyName","value"]}},"limit":{"type":"integer"},"currentName":{"type":"string"},"newName":{"type":"string"},"printBlockName":{"type":"string"},"height":{"type":"integer"},"kb":{"type":"string","description":"KB alias."}},"required":["action"],"examples":[{"action":"get_tree","name":"WPMain"},{"action":"find_controls","name":"WPMain","query":"Button"}]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}},
|
|
Binary file
|