genexus-mcp 2.6.10 → 2.7.0

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": "2.6.10",
3
+ "version": "2.7.0",
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": [
Binary file
Binary file
Binary file
@@ -1,93 +1,44 @@
1
- [
2
- {"name":"genexus_whoami","description":"KB context + version + playbooks. Call FIRST every session — playbooks block routes you to the right tool.","inputSchema":{"type":"object","properties":{}}},
3
- {"name":"genexus_recipe","description":"Named playbooks + self-extending macros. action=list|describe|run|suggest_macro|crystallize.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Recipe key (latest version), 'name@v1' (pinned), or 'list'."},"action":{"type":"string","enum":["list","describe","run","suggest_macro","crystallize"],"description":"suggest_macro: detect repeated sequences; crystallize: save one as a recipe."},"windowMinutes":{"type":"integer","description":"suggest_macro: history window (default 30)."},"minRepetitions":{"type":"integer","description":"suggest_macro: threshold (default 3)."},"macroName":{"type":"string","description":"crystallize: proposed name from suggest_macro."},"description":{"type":"string","description":"crystallize: human-readable description."}},"examples":[{"name":"list"},{"name":"wwp_on_transaction"},{"action":"suggest_macro"}]}},
4
- {"name":"genexus_query","description":"Search objects in active KB. Prefixes: type:, usedby:, parent:, parentPath:, description:. Compact by default. See genexus://kb/tool-help/genexus_query.","inputSchema":{"type":"object","properties":{"query":{"type":"string"},"typeFilter":{"type":"string"},"domainFilter":{"type":"string"},"limit":{"type":"integer"},"inline_read_top":{"type":"integer","description":"0-3. Inline reads of top N."},"sort":{"type":"string","enum":["relevance","lastUpdate"],"description":"relevance (default) or lastUpdate (newest first; bypasses score ranking)."},"since":{"type":"string","description":"ISO-8601 UTC. Only items with lastUpdate >= since."},"modifiedBefore":{"type":"string","description":"ISO-8601 UTC. Only items with lastUpdate < modifiedBefore."},"cursor":{"type":"string","description":"Opaque token from prior nextCursor. Use with sort=lastUpdate for stable paging."},"kb":{"type":"string","description":"KB alias."},"axiCompact":{"type":"boolean","description":"Compact projection (default true).","default":true}},"required":["query"]}},
5
- {"name":"genexus_list_objects","description":"List objects with pagination. Feed nextOffset until hasMore=false. Returns minimal shape by default (name, type, path, parent); verbose=true for full shape.","inputSchema":{"type":"object","properties":{"filter":{"type":"string","description":"Legacy: name OR description. Prefer nameFilter/descriptionFilter."},"nameFilter":{"type":"string","description":"Substring on name."},"descriptionFilter":{"type":"string","description":"Substring on description."},"pathPrefix":{"type":"string","description":"Folder prefix, e.g. 'Root Module/X/'."},"limit":{"type":"integer"},"offset":{"type":"integer"},"parent":{"type":"string"},"parentPath":{"type":"string"},"typeFilter":{"type":"string"},"verbose":{"type":"boolean","description":"Full item shape."},"sort":{"type":"string","enum":["name","lastUpdate"],"description":"name (default, type-bucketed) or lastUpdate (newest first)."},"since":{"type":"string","description":"ISO-8601 UTC. Only items with lastUpdate >= since."},"modifiedBefore":{"type":"string","description":"ISO-8601 UTC. Only items with lastUpdate < modifiedBefore."},"cursor":{"type":"string","description":"Opaque token from prior nextCursor. Use with sort=lastUpdate for stable paging."},"inline_read_top":{"type":"integer","description":"0-3. Inline reads of top N."},"kb":{"type":"string","description":"KB alias."},"axiCompact":{"type":"boolean","description":"Compact projection (default true).","default":true},"projection":{"type":"string","enum":["minimal","standard","verbose"],"description":"minimal=name+type+lastUpdate; standard=default compact; verbose=all fields. Overrides axiCompact when set."}}}},
6
- {"name":"genexus_read","description":"Read parts of objects. name or targets + parts=[...]. Paginate via offset/limit. See genexus://kb/tool-help/genexus_read.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"targets":{"type":"array","items":{"type":"string"}},"part":{"type":"string"},"parts":{"type":"array","items":{"type":"string"},"description":"When set, only the listed parts are returned in a combined response. Mutually exclusive with part/offset/limit."},"offset":{"type":"integer"},"limit":{"type":"integer"},"type":{"type":"string"},"kb":{"type":"string","description":"KB alias."}}}},
7
- {"name":"genexus_edit","description":"Edit object part. name or targets (exclusive). mode: full|patch|ops. dryRun first. For WWP edit host's PatternInstance NOT the parent WebForm (gets overwritten on reapply).","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"part":{"type":"string"},"mode":{"type":"string","enum":["full","patch","ops"]},"content":{"type":"string"},"ops":{"type":"array","description":"RFC 6902 JSON-Patch ops. Supported: add, remove, replace, test.","items":{"type":"object","properties":{"op":{"type":"string","enum":["add","remove","replace","test"]},"path":{"type":"string"},"value":{}},"required":["op","path"]}},"patch":{"description":"String or {find,replace} object. Prefer operation+context+content.","anyOf":[{"type":"string"},{"type":"object","properties":{"find":{"type":"string"},"replace":{"type":"string"}},"required":["find","replace"]}]},"context":{"type":"string"},"operation":{"type":"string","enum":["Replace","Insert_After","Append"]},"expectedCount":{"type":"integer"},"replaceAll":{"type":"boolean","description":"patch mode only. Apply to ALL occurrences instead of requiring expectedCount to match exactly."},"dryRun":{"type":"boolean"},"verifyRollback":{"type":"boolean"},"targets":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"content":{"type":"string"}},"required":["name","content"]}},"type":{"type":"string"},"return_post_state":{"type":"boolean","description":"Omit post_state.diff (default true)."},"verbose":{"type":"boolean","description":"Add ±15-line slices to post_state."},"validate":{"type":"string","enum":["strict","best-effort","only"],"description":"strict (default) aborts on first error. best-effort applies what compiles. only runs in-memory, no persist."},"visualVerify":{"type":"boolean","default":false,"description":"Post-edit headless screenshot + pixel-diff vs baseline. See tool-help."},"kb":{"type":"string","description":"KB alias."}}}},
8
- {"name":"genexus_inspect","description":"Use to snapshot an object: metadata, variables, structure, signature. Raw shape, no source text — use genexus_read for code. runtimeIds requires a prior build.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"include":{"type":"array","items":{"type":"string","enum":["metadata","variables","signature","structure","parts","controls","events_repertoire","callers","runtimeIds"]}},"projection":{"type":"string","enum":["minimal","standard","verbose"],"description":"minimal=name+type+lastUpdate; standard=default; verbose=all fields."},"type":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["name"]}},
9
- {"name":"genexus_analyze","description":"Use this for cross-object semantic analysis: impact, dependencies, complexity, naming, summary. See tool-help for mode selection.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"mode":{"type":"string","enum":["linter","navigation","hierarchy","impact","cross_platform_impact","callers","event_flow","data_context","ui_context","pattern_metadata","summary","dependency_heatmap"]},"format":{"type":"string","enum":["json","ascii"],"description":"mode=dependency_heatmap: ascii adds rendered bar chart."},"kb":{"type":"string","description":"KB alias."},"waitForIndex":{"type":"boolean","description":"mode=impact: block up to 30s for Ready index (default true).","default":true}},"required":["name","mode"]}},
10
- {"name":"genexus_inject_context","description":"Inject SDT structures and Procedure signatures of called objects.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"recursive":{"type":"boolean"},"kb":{"type":"string","description":"KB alias."}},"required":["name"]}},
11
- {"name":"genexus_lifecycle","description":"Build, validate, index, or poll the KB. Long ops are async with operationId. See genexus://kb/tool-help/genexus_lifecycle for actions and target formats.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["build","cancel","rebuild","reorg","reorg_preview","validate","validate-kb","sync","index","status","result","snapshots-list","snapshots-restore"]},"target":{"type":"string","description":"Object name(s), taskId, job_id, or op:<id>. Build accepts CSV ('Foo,Bar')."},"code":{"type":"string"},"limit":{"type":"integer"},"snapshotPath":{"type":"string"},"estimated_seconds":{"type":"integer","description":"Build: <20 sync, >=20 async (default 60)."},"wait_seconds":{"type":"integer","description":"Status/build long-poll cap, 0-600s."},"wait_until_done":{"type":"boolean","description":"Build/rebuild: block in one turn until terminal (up to wait_seconds, default 600)."},"wait":{"type":"integer","description":"Status taskId event-driven block, 0-600s."},"since":{"type":"string","description":"Status: prior _meta.snapshot for chained waits."},"compact":{"type":"boolean","description":"Status: counts + top-10 errors (default true)."},"force":{"type":"boolean","description":"Index: full SDK rescan (clears snapshot)."},"includeCallees":{"type":"string","enum":["none","direct","transitive"],"description":"Build: expand call graph so callees compile first (default transitive)."},"buildPlanCap":{"type":"integer","description":"Build: max nodes before BuildPlanTooLarge (default 200)."},"skipFullDeploy":{"type":"boolean","description":"EXPERIMENTAL. Skip deploy step (single-target, includeCallees=none). See tool-help."},"fastIncremental":{"type":"boolean","description":"EXPERIMENTAL. Skip clean targets via dirty-tracker; falls back to legacy build on miss. See tool-help."},"notifyOnFailure":{"type":"string","description":"Build: Slack/Discord webhook posted on terminal=Failed. See tool-help."},"kb":{"type":"string","description":"KB alias."}},"required":["action"]}},
12
- {"name":"genexus_forge","description":"Generate new code or structures from templates or translations.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["scaffold","translate","sample"]},"type":{"type":"string"},"name":{"type":"string"},"content":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["action"]}},
13
- {"name":"genexus_test","description":"Execute native GeneXus tests (GXtest).","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["name"]}},
14
- {"name":"genexus_undo","description":"Revert the last N edits from EditSnapshotStore (.gx/snapshots). Best-effort: reports which succeeded when any fail.","inputSchema":{"type":"object","properties":{"last":{"type":"integer","description":"Number of snapshots to revert (default 1, max 20).","default":1},"kb":{"type":"string","description":"KB alias."}}}},
15
- {"name":"genexus_create_object","description":"Create any IDE-creatable object (Transaction, Procedure, WebPanel, SDT, Domain, Dashboard, ...). Domain takes dataType+length or enumValues. NOT for WorkWithPlus (use genexus_apply_pattern) or input-bearing popups (use genexus_create_popup).","inputSchema":{"type":"object","properties":{"type":{"type":"string"},"name":{"type":"string"},"dataType":{"type":"string"},"length":{"type":"integer"},"decimals":{"type":"integer"},"signed":{"type":"boolean"},"description":{"type":"string"},"basedOn":{"type":"string"},"enumValues":{"type":"array","items":{"type":"object"}},"kb":{"type":"string","description":"KB alias."}},"required":["type","name"]}},
16
- {"name":"genexus_logs","description":"Read worker_debug.log tail. target filters by object; tail=N (default 100); since=<ISO|'crash'>. Response includes logPath.","inputSchema":{"type":"object","properties":{"target":{"type":"string","description":"Only return lines mentioning this object name."},"tail":{"type":"integer","description":"Last N lines (default 100)."},"since":{"type":"string","description":"ISO-8601 UTC timestamp to filter lines after, or 'crash' to slice from the last ERROR/CRITICAL marker."},"filterCorrelation":{"type":"string"},"grep":{"type":"string"}}}},
17
- {"name":"genexus_sdk_probe","description":"Dump SDK surface (types/methods/props) to docs/sdk-probe/. Use when hunting for entry points.","inputSchema":{"type":"object","properties":{"outputDir":{"type":"string","description":"Absolute path. Default <repo>/docs/sdk-probe/."}}}},
18
- {"name":"genexus_worker_reload","description":"Reload worker. modes: soft (drain+respawn), hard (copy sourceDir+respawn), warm (EXPERIMENTAL; persist index snapshot). force=true: gateway kills directly. See tool-help.","inputSchema":{"type":"object","properties":{"mode":{"type":"string","enum":["soft","hard","warm"]},"force":{"type":"boolean","description":"Bypass drain; gateway kills + respawns. Use when worker is wedged."},"sourceDir":{"type":"string","description":"Required for mode=hard."},"drainTimeoutMs":{"type":"integer","description":"Soft/warm only; default 30000."}}}},
19
- {"name":"genexus_delete_object","description":"Delete an object from the KB. Irreversible confirm=true required.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"confirm":{"type":"boolean"},"kb":{"type":"string","description":"KB alias."}},"required":["name","confirm"]}},
20
- {"name":"genexus_export_object","description":"Export a GeneXus object part to a text file on disk.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"outputPath":{"type":"string"},"part":{"type":"string"},"type":{"type":"string"},"overwrite":{"type":"boolean"},"kb":{"type":"string","description":"KB alias."}},"required":["name","outputPath"]}},
21
- {"name":"genexus_import_object","description":"Import a text file from disk into a GeneXus object part.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"inputPath":{"type":"string"},"part":{"type":"string"},"type":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["name","inputPath"]}},
22
- {"name":"genexus_refactor","description":"Run GeneXus refactor: rename, extract procedure, or WWP condition set.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["RenameAttribute","RenameVariable","RenameObject","ExtractProcedure","WWPSetCondition"]},"target":{"type":"string","description":"Primary object or symbol to refactor."},"newName":{"type":"string"},"objectName":{"type":"string"},"code":{"type":"string"},"procedureName":{"type":"string"},"controlAttribute":{"type":"string"},"value":{"type":"string"},"type":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["action"]}},
23
- {"name":"genexus_add_variable","description":"Add a variable to the Variables part of a GeneXus object.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"varName":{"type":"string"},"typeName":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["name","varName"]}},
24
- {"name":"genexus_delete_variable","description":"Remove a variable. Idempotent. Refuses GAM/WWP+ framework-managed vars.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"varName":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["name","varName"]}},
25
- {"name":"genexus_modify_variable","description":"Change variable type atomically. Preserves name + description.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"varName":{"type":"string"},"typeName":{"type":"string"},"basedOn":{"type":"string","description":"Domain (optional)."},"kb":{"type":"string","description":"KB alias."}},"required":["name","varName","typeName"]}},
26
- {"name":"genexus_validate_payload","description":"Pre-flight: parse + SDK schema scan + would-be diff vs current state. No save.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"part":{"type":"string"},"content":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["name","content"]}},
27
- {"name":"genexus_bulk_edit","description":"Apply N independent edits. Item: {name,part?,content,type?,dryRun?}. stopOnError halts at first fail. transactional=true rolls back on first Error.","inputSchema":{"type":"object","properties":{"targets":{"type":"array","items":{"type":"object"}},"stopOnError":{"type":"boolean"},"dryRun":{"type":"boolean"},"transactional":{"type":"boolean","description":"Atomic batch: rollback prior successes on first Error."},"kb":{"type":"string","description":"KB alias."}},"required":["targets"]}},
28
- {"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.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"args":{"type":"array","description":"Positional parameter values."},"gamSession":{"description":"'auto' (use GXMCP_GAM_USER/PASS env) or {user, pass, repository?, loginUrl?}.","anyOf":[{"type":"string"},{"type":"object"}]},"kb":{"type":"string","description":"KB alias."}},"required":["name"]}},
29
- {"name":"genexus_apply_template","description":"Apply visual template: kpi_header | empty_state | confirm_dialog. See tool-help for args per template.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"template":{"type":"string","enum":["kpi_header","empty_state","confirm_dialog"]},"part":{"type":"string"},"args":{"type":"object"},"dryRun":{"type":"boolean"},"kb":{"type":"string","description":"KB alias."}},"required":["name","template"]}},
30
- {"name":"genexus_diff","description":"Unified text diff. mode=textVsText|currentVsText.","inputSchema":{"type":"object","properties":{"mode":{"type":"string","enum":["textVsText","currentVsText"]},"name":{"type":"string"},"part":{"type":"string"},"left":{"type":"string"},"right":{"type":"string"},"context":{"type":"integer"},"kb":{"type":"string","description":"KB alias."}}}},
31
- {"name":"genexus_export_unified","description":"Export an object's full state (all parts) as a single JSON envelope.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["name"]}},
32
- {"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"]}},
33
- {"name":"genexus_properties","description":"Read or update GeneXus object properties. Note: Description is the title-bar text shown when a WebPanel/Popup is opened via .Popup().","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["get","set"]},"name":{"type":"string"},"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"},"kb":{"type":"string","description":"KB alias."}},"required":["action","name"]}},
34
- {"name":"genexus_asset","description":"Find, read, or write binary assets inside the active KB.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["find","read","write"]},"path":{"type":"string"},"includeContent":{"type":"boolean"},"maxBytes":{"type":"integer"},"pattern":{"type":"string"},"relativeRoot":{"type":"string"},"limit":{"type":"integer"},"contentBase64":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["action"]}},
35
- {"name":"genexus_history","description":"List/read/save/restore object history snapshots. restore + discard=true = IDE 'Discard changes' parity.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["list","get_source","save","restore"]},"name":{"type":"string"},"versionId":{"type":"integer"},"part":{"type":"string","description":"Default 'Source'."},"snapshot":{"type":"string","description":"Snapshot token (timestamp or 'latest')."},"discard":{"type":"boolean","default":false,"description":"restore-only: drop in-memory edits, restore last persisted baseline for (name,part)."},"dryRun":{"type":"boolean","description":"restore-only: return unified diff of snapshot vs current without writing."},"kb":{"type":"string","description":"KB alias."}},"required":["action","name"]}},
36
- {"name":"genexus_structure","description":"Read or update visual and logical structure of GeneXus objects.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["get_visual","update_visual","get_indexes","get_logic"]},"name":{"type":"string"},"payload":{"type":"object","description":"Update payload for update_visual."},"kb":{"type":"string","description":"KB alias."}},"required":["action","name"]}},
37
- {"name":"genexus_layout","description":"SDK layout/WebForm ops: get_tree, set_property, find_controls, inspect_surface, scan_mutators.","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"]},"name":{"type":"string"},"target":{"type":"string","description":"Alias for name (backcompat)."},"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"]}},
38
- {"name":"genexus_doc","description":"Use to generate structured docs (wiki, sequence diagrams, health reports). Don't use for programmatic analysis (see genexus_analyze) or source (see genexus_read).","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["wiki","visualize","health"]},"target":{"type":"string","description":"Object or domain name."}},"required":["action"]}},
39
- {"name":"genexus_search_source","description":"Regex/semantic search across Procedure/DataProvider/WebPanel/Transaction source.","inputSchema":{"type":"object","properties":{"callee":{"type":"string","description":"Method/function name (qualified or unqualified)."},"argMatches":{"type":"object","description":"Positional arg index to expected literal text."},"pattern":{"type":"string"},"typeFilter":{"type":"string"},"scope":{"type":"array","items":{"type":"string"}},"fields":{"type":"array","items":{"type":"string","enum":["source","caption","description","parmNames","webForm"]},"description":"Fields to search. Default [source]. Add webForm to scan WebPanel/Transaction WebForm XML (layout-form examples)."},"maxResults":{"type":"integer"},"caseSensitive":{"type":"boolean"},"includeComments":{"type":"boolean"},"inline_read_top":{"type":"integer","description":"0-3. Inline reads of top N distinct objects in response."},"kb":{"type":"string","description":"KB alias."}}}},
40
- {"name":"genexus_kb","description":"Manage open KBs and startup config. list/open/close/set_default operate on WorkerPool; set_startup/get_startup mirror IDE 'Set As Startup Object'.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["list","open","close","set_default","set_startup","get_startup"]},"alias":{"type":"string","description":"KB alias. open: auto from path basename if omitted."},"path":{"type":"string","description":"Absolute KB path (required for open if alias not in config)."},"name":{"type":"string","description":"Object name (required for set_startup)."}},"required":["action"]}},
41
- {"name":"genexus_kb_explorer","description":"Locate an object in the KB explorer tree (IDE Right-click Locate). Returns modulePath, fullPath, up to 20 siblings.","inputSchema":{"type":"object","required":["action","name"],"properties":{"action":{"type":"string","enum":["locate"]},"name":{"type":"string","description":"Object name."},"kb":{"type":"string","description":"KB alias."}}}},
42
- {"name":"genexus_navigation","description":"View navigation report (IDE Right-click View Navigation). latest=true returns cached report from .gx/navigation-cache; else runs fresh.","inputSchema":{"type":"object","required":["action","name"],"properties":{"action":{"type":"string","enum":["view"]},"name":{"type":"string"},"latest":{"type":"boolean","default":false,"description":"Return the most recent cached navigation if any; otherwise run fresh."},"kb":{"type":"string","description":"KB alias."}}}},
43
- {"name":"genexus_blame","description":"Git blame for an object part. Returns commit/author/date per line; single line when line is set. Errors: KbNotInGit, PartNotTracked (with candidates[]).","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Object name. Either name or filePath is required."},"part":{"type":"string","description":"Default 'Source'."},"line":{"type":"integer","description":"1-based line number. When omitted, blames the whole file."},"filePath":{"type":"string","description":"KB-relative or absolute path to a tracked file. Use when name+part doesn't disambiguate."},"context":{"type":"integer","description":"Snippet ±N lines around the blamed line (default 2)."},"kb":{"type":"string","description":"KB alias."}}}},
44
- {"name":"genexus_sql","description":"SQL for a Transaction/Table (DDL) or a procedure For Each navigation.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["ddl","navigation"]},"name":{"type":"string"},"includeSubordinated":{"type":"boolean","description":"action=ddl only."},"levelNumber":{"type":"integer","description":"action=navigation only."},"includeExecutionPlan":{"type":"boolean","description":"action=navigation: attach EXPLAIN preview per query (no live DB exec)."},"includeIndexAdvisor":{"type":"boolean","description":"action=navigation: attach heuristic index suggestions."},"type":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["action","name"]}},
45
- {"name":"genexus_generate_sample_data","description":"Emit INSERT statements with fake-but-typed data for a Transaction. SQL only; not executed.","inputSchema":{"type":"object","properties":{"trn":{"type":"string"},"rows":{"type":"integer","description":"1-1000; default 5."},"kb":{"type":"string","description":"KB alias."}},"required":["trn"]}},
46
- {"name":"genexus_translations","description":"Translations import. action=import + inputPath=CSV with columns objectName,attribute,language,value. SDK write currently deferred; rows are parsed and reported.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["import"]},"inputPath":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["action","inputPath"]}},
47
- {"name":"genexus_profile","description":"Ingest a GeneXus runtime profiler XML; returns hot-spot summary by object. Defensive parser; surfaces parserWarnings on unrecognized schema.","inputSchema":{"type":"object","required":["action","path"],"properties":{"action":{"type":"string","enum":["analyze","hotspots","correlate"]},"path":{"type":"string","description":"Filesystem path to a GeneXus profile XML."},"target":{"type":"string","description":"correlate only."},"top":{"type":"integer","description":"hotspots only; default 10, max 50."}}}},
48
- {"name":"genexus_preview","description":"Render WebPanel via headless Chrome. Opens launcher, fills parms, navigates, captures HTML/a11y/screenshot, optionally diffs vs baseline.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["render","run"],"default":"render","description":"run = auto-resolve launcher (IDE F5 parity). render = explicit name."},"name":{"type":"string","description":"WebPanel name. Optional for action=run."},"parms":{"type":"object","description":"Per-call launcher parms."},"launcher":{"type":"string","description":"Launcher page (default 'auto')."},"buildFirst":{"type":"boolean","default":false,"description":"Build before launch."},"waitMs":{"type":"integer","default":3000,"description":"Wait ms after nav."},"capture":{"type":"array","items":{"type":"string","enum":["html","a11y","screenshot","console"]},"description":"Default ['html','a11y']."},"diffBaseline":{"type":"boolean","default":false,"description":"Structural diff vs stored baseline."},"updateBaseline":{"type":"boolean","default":false,"description":"Persist current as new baseline."},"fill":{"type":"object","description":"GX-aware form fills."},"click":{"type":"string","description":"GX-aware click target."},"auth":{"type":"object","description":"GAM override (mode/user/pass)."},"emulate":{"type":"string","enum":["iPhone12","iPhone15Pro","iPadPro","Pixel7","desktop1920","desktop1280"],"description":"Device emulation profile passed to chrome-devtools-axi."},"network":{"type":"string","enum":["fast","slow3g","fast3g","offline"],"default":"fast","description":"Network throttle profile."},"kb":{"type":"string","description":"KB alias."}}}},
49
- {"name":"genexus_api","description":"Introspect REST endpoints exposed by HTTP procedures. action=list|describe|snapshot|diff_baseline. Returns endpoints + detects breaking changes vs a saved baseline.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["list","describe","snapshot","diff_baseline"]},"target":{"type":"string","description":"Procedure name (action=describe)."},"name":{"type":"string","description":"Baseline name (action=snapshot)."},"baseline":{"type":"string","description":"Baseline name under .gx/api-baselines/ or absolute path (action=diff_baseline)."},"pathPrefix":{"type":"string","description":"Folder prefix filter (action=list), e.g. 'Root Module/API/'."},"kb":{"type":"string","description":"KB alias."}}}},
50
- {"name":"genexus_apply_pattern","description":"Apply a pattern (e.g. WorkWithPlus) to a parent (IDE Right-click → Apply Pattern). Transaction=family-gen; WebPanel/SDPanel=direct-attach (pass settings.template). mode=diagnose returns findings without mutating.","inputSchema":{"type":"object","required":["name","pattern"],"properties":{"name":{"type":"string","description":"Target KBObject name."},"pattern":{"type":"string","description":"Pattern key ('WorkWithPlus') or GUID."},"mode":{"type":"string","enum":["apply","diagnose"],"description":"apply (default) mutates; diagnose returns reasons without applying."},"settings":{"type":"object","description":"Pattern-instance settings tree."},"reapply":{"type":"boolean","default":false,"description":"Re-run on existing instance."},"validate":{"type":"boolean","default":false,"description":"After apply, build the generated host. Adds validation block (60-180s). Catches binding errors."},"kb":{"type":"string","description":"KB alias."}}}},
51
- {"name":"genexus_edit_and_build","description":"Edit + rebuild callers in one call. Returns edit diff + impact + build operationId.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Target object name."},"part":{"type":"string","description":"Part (Source, Rules, ...)."},"content":{"type":"string","description":"New content. For mode=patch may be {find,replace} object."},"patch":{"description":"Same shape as genexus_edit.patch. Auto-sets mode=patch.","anyOf":[{"type":"string"},{"type":"object","properties":{"find":{"type":"string"},"replace":{"type":"string"}},"required":["find","replace"]}]},"mode":{"type":"string","enum":["full","patch"],"default":"patch"},"type":{"type":"string","description":"Disambiguates ambiguous names."},"dryRun":{"type":"boolean","default":false},"buildIncludeCallees":{"type":"string","enum":["none","direct","transitive"],"default":"direct"},"buildPlanCap":{"type":"integer","default":200},"waitForIndex":{"type":"boolean","default":true},"waitTimeoutMs":{"type":"integer","default":30000},"visualVerify":{"type":"boolean","default":false,"description":"Post-edit headless screenshot + pixel-diff vs baseline. See tool-help."}},"required":["name","part"]}},
52
- {"name":"genexus_create_popup","description":"Create popup WebPanel with Form type=\"layout\" body (radio/combo render editable). Spec: title, inputs, buttons, inParms, outParms.","inputSchema":{"type":"object","required":["name","spec"],"properties":{"name":{"type":"string","description":"WebPanel name (created or updated)."},"spec":{"type":"object","description":"Popup spec.","properties":{"title":{"type":"string"},"description":{"type":"string"},"inputs":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["radio","combo","text"]},"varName":{"type":"string"},"label":{"type":"string"},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}}}},"showWhen":{"type":"string","description":"e.g. \"X == 'S'\"; emits Refresh toggling group visibility."}},"required":["type","varName"]}},"buttons":{"type":"array","items":{"type":"object","properties":{"caption":{"type":"string"},"event":{"type":"string"}}}},"inParms":{"type":"array","items":{"type":"string"},"description":"e.g. [\"X:Numeric(2)\"]"},"outParms":{"type":"array","items":{"type":"string"}}}},"dryRun":{"type":"boolean","description":"Validate spec + render layout XML without persisting the WebPanel."},"kb":{"type":"string","description":"KB alias."}}}},
53
- {"name":"genexus_security","description":"Audit KB security. action=audit_gam scans GAM/env props; action=scan_secrets greps Source for credential-shaped literals. Returns findings with severity.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["audit_gam","scan_secrets"]},"kb":{"type":"string","description":"KB alias."}}}},
54
- {"name":"genexus_orient","description":"Session welcome: KB info, last 5 edits, top 3 gotchas, top 5 tools. Cheaper than whoami for mid-session refresh.","inputSchema":{"type":"object","properties":{"kb":{"type":"string","description":"KB alias."}}}},
55
- {"name":"genexus_save_as","description":"IDE 'Save As...' — clone object parts under a new name (same type/module). includePatternInstance=true also clones a linked WWP instance.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Source object name."},"newName":{"type":"string","description":"New object name."},"type":{"type":"string","description":"Disambiguates ambiguous names."},"includePatternInstance":{"type":"boolean","description":"Also clone linked WorkWithPlus instance.","default":false},"overwrite":{"type":"boolean","default":false},"dryRun":{"type":"boolean","default":false},"kb":{"type":"string","description":"KB alias."}},"required":["name","newName"]}},
56
- {"name":"genexus_ocr_screenshot","description":"OCR a screenshot PNG. Stub: returns Unwired envelope until Tesseract.NET is added and GXMCP_OCR_ENGINE=tesseract is set.","inputSchema":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Absolute path to a PNG."}}}},
57
- {"name":"genexus_pr_description","description":"Generate a structured PR description from the last N commits on the current branch via 'git log'. Returns {title, summary, why, changes:[...]}.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["generate"]},"last":{"type":"integer","description":"Commits to read (default 10, max 100)."},"workingDir":{"type":"string","description":"Override repo root (defaults to active KB path)."}},"required":["action"]}},
58
- {"name":"genexus_screenshot_publish","description":"Publish (copy) a screenshot PNG to <kbPath>/.gx/published-screenshots/<UTC>-<basename>. Local only — no remote upload.","inputSchema":{"type":"object","required":["path"],"properties":{"path":{"type":"string","description":"Absolute path to a PNG inside the workspace."}}}},
59
- {"name":"genexus_friction_log","description":"Local friction journal under <kbPath>/.gx/friction.jsonl. action=append writes {atUtc,tool,message,severity}; action=tail returns last N entries.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["append","tail"]},"tool":{"type":"string"},"message":{"type":"string"},"severity":{"type":"string","enum":["info","warn","error","critical"]},"n":{"type":"integer","description":"Tail count (default 20, max 1000)."}}}},
60
- {"name":"genexus_wcag_check","description":"WCAG sanity checks on WebPanel CaptionExpression/Tooltip. Flags empty-caption-with-tooltip, caption>80, HTML in plain captions. No contrast.","inputSchema":{"type":"object","required":["target"],"properties":{"target":{"type":"string","description":"WebPanel name."},"kb":{"type":"string","description":"KB alias."}}}},
61
- {"name":"genexus_explain","description":"Deterministic PM-readable summary of an object: purpose, inputs/outputs, variables, top called procs/transactions, description. NOT raw source.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"type":{"type":"string"},"depth":{"type":"string","enum":["shallow","deep"],"description":"deep recurses one level into called objects."},"kb":{"type":"string","description":"KB alias."}}}},
62
- {"name":"genexus_diff_generated","description":"Unified diff of generated files (.cs/.aspx/.js/.html) for an object vs a baseline.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"against":{"type":"string","enum":["last-build","git-head"],"default":"last-build"},"kb":{"type":"string","description":"KB alias."}}}},
63
- {"name":"genexus_doctor","description":"Health check: GX install, KB state, worker, cache age, recent telemetry. Paste output for triage when something feels off.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},
64
- {"name":"genexus_kb_readme","description":"Generate a Markdown README for the KB: entities, entry points, modules, top-edited objects.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["generate"]},"outputPath":{"type":"string","description":"Absolute path to write README. Omit to return markdown inline."},"kb":{"type":"string","description":"KB alias."}}}},
65
- {"name":"genexus_db_drift","description":"Transaction↔DB schema drift. action=check structured; report adds markdown.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["check","report"]},"target":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["action"]}},
66
- {"name":"genexus_db_optimize","description":"Static index advisor. analyze=KB-wide For-each scan; suggest_indexes=covering DDL per Transaction; report=top-10 unindexed hot paths (+markdown).","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["analyze","suggest_indexes","report"]},"target":{"type":"string","description":"Transaction name for suggest_indexes; optional filter for analyze."},"format":{"type":"string","enum":["json","markdown"],"description":"report only. markdown adds paste-ready table."},"kb":{"type":"string","description":"KB alias."}}}},
67
- {"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"]},"name":{"type":"string"},"parent":{"type":"string"},"position":{"type":"string","description":"first|last|after:<id>"},"caption":{"type":"string"},"format":{"type":"string","enum":["Text","HTML"]},"event":{"type":"string"},"controlId":{"type":"string"},"controlIds":{"type":"array","items":{"type":"string"}},"legend":{"type":"string"},"visible":{"type":"boolean"},"dryRun":{"type":"boolean"},"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}]}},
68
- {"name":"genexus_browser_capture","description":"Open target in headless Chrome; capture console/network/exceptions. Skips with code='BrowserDriverUnavailable' when chrome-devtools-axi missing.","inputSchema":{"type":"object","required":["target"],"properties":{"target":{"type":"string","description":"WebPanel name."},"capture":{"type":"array","items":{"type":"string","enum":["console","network","exceptions"]},"description":"Default all three."},"kb":{"type":"string","description":"KB alias."}}}},
69
- {"name":"genexus_smoke_test","description":"Headless smoke: HTTP 200 + no <scriptError> + clean console. Returns {ok,steps,failedAt?}. Skips with BrowserDriverUnavailable.","inputSchema":{"type":"object","required":["target"],"properties":{"target":{"type":"string"},"kb":{"type":"string","description":"KB alias."}}}},
70
- {"name":"genexus_a11y_audit","description":"A11y audit via chrome-devtools-axi (fallback: playwright axe). Returns {violations,score} or skipped:A11yDriverUnavailable.","inputSchema":{"type":"object","required":["target"],"properties":{"target":{"type":"string"},"kb":{"type":"string","description":"KB alias."}}}},
71
- {"name":"genexus_build_plan","description":"Walk the callee graph for target. Returns {nodes,edges,totalEstimatedSeconds}; estimates from per-tool p95 ring buffer. format=ascii adds rendered tree.","inputSchema":{"type":"object","required":["target"],"properties":{"target":{"type":"string"},"format":{"type":"string","enum":["json","ascii"]},"maxNodes":{"type":"integer","description":"Cap node count (default 100, max 500)."},"kb":{"type":"string","description":"KB alias."}}}},
72
- {"name":"genexus_execution_history","description":"Recent invocations of an object from in-memory ring buffer. last clamped [1,50]. Resets on gateway restart.","inputSchema":{"type":"object","required":["target"],"properties":{"target":{"type":"string","description":"Object name to filter on (matches args.target or args.name)."},"last":{"type":"integer","description":"Max runs to return (default 10, max 50)."}}}},
73
- {"name":"genexus_watch_event","description":"Filter recent ops on target whose payload mentions an event name. In-memory OperationTracker. Not a runtime breakpoint.","inputSchema":{"type":"object","required":["target","event"],"properties":{"target":{"type":"string","description":"Object name to filter on."},"event":{"type":"string","description":"Event name substring to match in args/response."},"last":{"type":"integer","description":"Max runs (default 10, max 50)."}}}},
74
- {"name":"genexus_worker_pool","description":"Pre-spawn N warm workers bound to declared KBs to skip cold-start. Returns {status,spareCount,configured}. spareCount<=0 disables; capped at 5.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["warm_spares"]},"spareCount":{"type":"integer","description":"Number of spares to pre-spawn (0 disables; capped at 5)."}}}},
75
- {"name":"genexus_sandbox","description":"Copy a KB to <configRoot>/sandboxes/<name>/ for throwaway edits. create needs from+name; remove idempotent. Returns {status,path,filesCopied,bytesCopied,alias}.","inputSchema":{"type":"object","required":["action","name"],"properties":{"action":{"type":"string","enum":["create","remove"]},"from":{"type":"string","description":"Source KB alias or path (required for create)."},"name":{"type":"string","description":"Sandbox name; [A-Za-z0-9_-]+."},"overwrite":{"type":"boolean"}}}},
76
- {"name":"genexus_kb_diff","description":"Compare two KBs without opening them. Filesystem walk of Objects/<Type>/<Name>/, no SDK. Returns {onlyInA[],onlyInB[],modified[]}.","inputSchema":{"type":"object","required":["kbA","kbB"],"properties":{"kbA":{"type":"string","description":"KB alias or path."},"kbB":{"type":"string","description":"KB alias or path."}}}},
77
- {"name":"genexus_kb_import","description":"Copy one object's part files from another KB into the active KB. Deps NOT resolved. Re-index after.","inputSchema":{"type":"object","required":["from","name","type"],"properties":{"from":{"type":"string","description":"Source KB alias or path."},"name":{"type":"string"},"type":{"type":"string","description":"Object type (case-sensitive: WebPanel, Procedure, Transaction, ...)."},"kb":{"type":"string","description":"KB alias."}}}},
78
- {"name":"genexus_tutorial","description":"Bootstrap a brand-new agent. Static 6-step walkthrough (orient → list → inspect → read → edit → build). Returns {stepNumber,title,narrative,suggestedCall,next}.","inputSchema":{"type":"object","required":["step"],"properties":{"step":{"type":"integer","description":"Step number (1-based, 1..6)."}}}},
79
- {"name":"genexus_gxserver","description":"Surface GxServer sync state (status/pending/conflicts/history). Read-only v1. Returns {connected:false} when KB is not linked.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["status","pending","conflicts","history"]},"limit":{"type":"integer","description":"history only; default 10, max 200."},"kb":{"type":"string","description":"KB alias."}}}},
80
- {"name":"genexus_github","description":"Open a PR after pushing a branch. Shells `gh pr create` from KB path (or workingDir). Returns {status,url} or {code:'GhCliNotInstalled'}.","inputSchema":{"type":"object","required":["action","title"],"properties":{"action":{"type":"string","enum":["create_pr"]},"title":{"type":"string"},"body":{"type":"string"},"base":{"type":"string","description":"Base branch."},"workingDir":{"type":"string"}}}},
81
- {"name":"genexus_learning","description":"Aggregate friction.jsonl (read-only). Returns {totalEntries,byTool,byCode,severityHistogram}. Pair with friction_log action=tail.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["report"]},"since":{"type":"string","description":"ISO-8601 lower bound (optional)."},"until":{"type":"string","description":"ISO-8601 upper bound (optional)."},"kb":{"type":"string","description":"KB alias."}}}},
82
- {"name":"genexus_sd_panel","description":"Type-locked SDPanel entry: inspect/create/edit. Rejects non-SDPanel targets. Returns the underlying envelope tagged kind='SDPanel'.","inputSchema":{"type":"object","required":["action","name"],"properties":{"action":{"type":"string","enum":["inspect","create","edit"]},"name":{"type":"string","description":"SDPanel name."},"part":{"type":"string","description":"Part name for edit (default Events)."},"content":{"type":"string","description":"Part source for edit."},"description":{"type":"string","description":"Object description for create."},"kb":{"type":"string","description":"KB alias."}}}},
83
- {"name":"genexus_ai_complete","description":"Forward prompt to OpenAI-compatible endpoint (env GXMCP_AI_COMPLETE_URL/_KEY/_MODEL). Errors: AiEndpointNotConfigured, AiEndpointError.","inputSchema":{"type":"object","required":["context"],"properties":{"name":{"type":"string"},"part":{"type":"string"},"context":{"type":"string","description":"Prompt sent to the LLM."},"maxTokens":{"type":"integer","description":"Default 200, max 4000."},"kb":{"type":"string","description":"KB alias."}}}},
84
- {"name":"genexus_time_travel","description":"Recover an object's part bytes from a past git commit. at=<ISO|sha>. Read-only; returns {recoveredFromCommit,parts} or KbNotInGit.","inputSchema":{"type":"object","required":["name","at"],"properties":{"name":{"type":"string"},"at":{"type":"string","description":"ISO-8601 timestamp or commit sha."},"kb":{"type":"string","description":"KB alias."}}}},
85
- {"name":"genexus_voice","description":"Map NL transcript to a suggested tool call via regex intents. Returns {matched,dispatchedTool,dispatchedArgs}. Agent confirms; no dispatch.","inputSchema":{"type":"object","required":["transcript"],"properties":{"transcript":{"type":"string"}},"examples":[{"transcript":"add button called Confirmar"},{"transcript":"rename AluCod to StudentCode"}]}},
86
- {"name":"genexus_multi_agent_lock","description":"Advisory file lock per (kbPath,target,part) under .gx/locks. Auto-expires after ttlSec. Returns {status,held,holder,path}.","inputSchema":{"type":"object","required":["action","target"],"properties":{"action":{"type":"string","enum":["acquire","release","status"]},"target":{"type":"string"},"part":{"type":"string"},"ownerId":{"type":"string","description":"Required for acquire/release."},"ttlSec":{"type":"integer","description":"Default 300, max 86400."},"kb":{"type":"string","description":"KB alias."}}}},
87
- {"name":"genexus_what_if","description":"Preview impact of a typed change (e.g. attribute swap). Read-only. Returns {breaks,probably_safe,unknown}.","inputSchema":{"type":"object","required":["change"],"properties":{"change":{"type":"object","description":"{kind,target,attribute?,oldType?,newType?}"},"kb":{"type":"string","description":"KB alias."}}}},
88
- {"name":"genexus_rename_across_kb","description":"Rename object/attribute and patch every call-site via CalledBy edges. Routes through RefactorService Rename{Object|Attribute}. Returns standard refactor envelope with patched-site count.","inputSchema":{"type":"object","required":["from","to"],"properties":{"from":{"type":"string","description":"Current name."},"to":{"type":"string","description":"New name."},"type":{"type":"string","description":"Object type; pass 'Attribute' for attribute renames."},"kb":{"type":"string","description":"KB alias."}}}},
89
- {"name":"genexus_auto_test","description":"Seed GXtest stubs from past invocations (JSONL), deduped by tool×target. Returns {linesRead,stubsGenerated,skipped}. No KB write.","inputSchema":{"type":"object","required":["action","path"],"properties":{"action":{"type":"string","enum":["generate_from_prod_log"]},"path":{"type":"string","description":"Absolute path to a JSONL log file."}}}},
90
- {"name":"genexus_reverse_pattern","description":"Detect whether N similar objects share enough structure for a pattern. Intersects vars/events/parm-sigs. Returns {commonVariables,commonEvents,divergencePoints,hint}.","inputSchema":{"type":"object","required":["action","source"],"properties":{"action":{"type":"string","enum":["infer"]},"source":{"type":"array","items":{"type":"string"},"description":"≥2 object names."},"kb":{"type":"string","description":"KB alias."}}}},
91
- {"name":"genexus_cross_browser","description":"Verify a WebPanel across engines (chrome + firefox/webkit via playwright). Returns {url,results,anyFailed}.","inputSchema":{"type":"object","required":["target"],"properties":{"target":{"type":"string"},"browsers":{"type":"array","items":{"type":"string","enum":["chrome","firefox","safari","webkit"]}},"capture":{"type":"array","items":{"type":"string","enum":["screenshot","console"]}},"kb":{"type":"string","description":"KB alias."}}}},
92
- {"name":"genexus_types","description":"Surface KB type/domain constraints. list enumerates Domains/SDTs; describe shows range+allowedValues; validate_value dry-checks a value against a type.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["list","describe","validate_value"]},"kind":{"type":"string","enum":["domain","sdt","all"],"description":"action=list filter."},"name":{"type":"string","description":"Type name (action=describe)."},"type":{"type":"string","description":"Type name (action=validate_value)."},"value":{"type":"string","description":"Value to validate (action=validate_value)."},"kb":{"type":"string","description":"KB alias."}}}}
93
- ]
1
+ [
2
+ {"name":"genexus_whoami","description":"KB context + version + playbooks. Call FIRST every session — playbooks block routes you to the right tool.","inputSchema":{"type":"object","properties":{}}},
3
+ {"name":"genexus_recipe","description":"Named playbooks + self-extending macros. action=list|describe|run|suggest_macro|crystallize.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Recipe key (latest version), 'name@v1' (pinned), or 'list'."},"action":{"type":"string","enum":["list","describe","run","suggest_macro","crystallize"],"description":"suggest_macro: detect repeated sequences; crystallize: save one as a recipe."},"windowMinutes":{"type":"integer","description":"suggest_macro: history window (default 30)."},"minRepetitions":{"type":"integer","description":"suggest_macro: threshold (default 3)."},"macroName":{"type":"string","description":"crystallize: proposed name from suggest_macro."},"description":{"type":"string","description":"crystallize: human-readable description."}},"examples":[{"name":"list"},{"name":"wwp_on_transaction"},{"action":"suggest_macro"}]}},
4
+ {"name":"genexus_query","description":"Search objects in active KB. Prefixes: type:, usedby:, parent:, parentPath:, description:. Compact by default. See genexus://kb/tool-help/genexus_query.","inputSchema":{"type":"object","properties":{"query":{"type":"string"},"typeFilter":{"type":"string"},"domainFilter":{"type":"string"},"limit":{"type":"integer"},"inline_read_top":{"type":"integer","description":"0-3. Inline reads of top N."},"sort":{"type":"string","enum":["relevance","lastUpdate"],"description":"relevance (default) or lastUpdate (newest first; bypasses score ranking)."},"since":{"type":"string","description":"ISO-8601 UTC. Only items with lastUpdate >= since."},"modifiedBefore":{"type":"string","description":"ISO-8601 UTC. Only items with lastUpdate < modifiedBefore."},"cursor":{"type":"string","description":"Opaque token from prior nextCursor. Use with sort=lastUpdate for stable paging."},"kb":{"type":"string","description":"KB alias."},"axiCompact":{"type":"boolean","description":"Compact projection (default true).","default":true}},"required":["query"]}},
5
+ {"name":"genexus_list_objects","description":"List objects with pagination. Feed nextOffset until hasMore=false. Returns minimal shape by default (name, type, path, parent); verbose=true for full shape.","inputSchema":{"type":"object","properties":{"filter":{"type":"string","description":"Legacy: name OR description. Prefer nameFilter/descriptionFilter."},"nameFilter":{"type":"string","description":"Substring on name."},"descriptionFilter":{"type":"string","description":"Substring on description."},"pathPrefix":{"type":"string","description":"Folder prefix, e.g. 'Root Module/X/'."},"limit":{"type":"integer"},"offset":{"type":"integer"},"parent":{"type":"string"},"parentPath":{"type":"string"},"typeFilter":{"type":"string"},"verbose":{"type":"boolean","description":"Full item shape."},"sort":{"type":"string","enum":["name","lastUpdate"],"description":"name (default, type-bucketed) or lastUpdate (newest first)."},"since":{"type":"string","description":"ISO-8601 UTC. Only items with lastUpdate >= since."},"modifiedBefore":{"type":"string","description":"ISO-8601 UTC. Only items with lastUpdate < modifiedBefore."},"cursor":{"type":"string","description":"Opaque token from prior nextCursor. Use with sort=lastUpdate for stable paging."},"inline_read_top":{"type":"integer","description":"0-3. Inline reads of top N."},"kb":{"type":"string","description":"KB alias."},"axiCompact":{"type":"boolean","description":"Compact projection (default true).","default":true},"projection":{"type":"string","enum":["minimal","standard","verbose"],"description":"minimal=name+type+lastUpdate; standard=default compact; verbose=all fields. Overrides axiCompact when set."}}}},
6
+ {"name":"genexus_read","description":"Read parts of objects. name or targets + parts=[...]. Paginate via offset/limit. See genexus://kb/tool-help/genexus_read.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"targets":{"type":"array","items":{"type":"string"}},"part":{"type":"string"},"parts":{"type":"array","items":{"type":"string"},"description":"When set, only the listed parts are returned in a combined response. Mutually exclusive with part/offset/limit."},"offset":{"type":"integer"},"limit":{"type":"integer"},"type":{"type":"string"},"kb":{"type":"string","description":"KB alias."}}}},
7
+ {"name":"genexus_edit","description":"Edit object part. name or targets (exclusive). mode: full|patch|ops. dryRun first. For WWP edit host's PatternInstance NOT the parent WebForm (gets overwritten on reapply).","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"part":{"type":"string"},"mode":{"type":"string","enum":["full","patch","ops"]},"content":{"type":"string"},"ops":{"type":"array","description":"RFC 6902 JSON-Patch ops. Supported: add, remove, replace, test.","items":{"type":"object","properties":{"op":{"type":"string","enum":["add","remove","replace","test"]},"path":{"type":"string"},"value":{}},"required":["op","path"]}},"patch":{"description":"String or {find,replace} object. Prefer operation+context+content.","anyOf":[{"type":"string"},{"type":"object","properties":{"find":{"type":"string"},"replace":{"type":"string"}},"required":["find","replace"]}]},"context":{"type":"string"},"operation":{"type":"string","enum":["Replace","Insert_After","Append"]},"expectedCount":{"type":"integer"},"replaceAll":{"type":"boolean","description":"patch mode only. Apply to ALL occurrences instead of requiring expectedCount to match exactly."},"dryRun":{"type":"boolean"},"verifyRollback":{"type":"boolean"},"targets":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"content":{"type":"string"}},"required":["name","content"]}},"type":{"type":"string"},"return_post_state":{"type":"boolean","description":"Omit post_state.diff (default true)."},"verbose":{"type":"boolean","description":"Add ±15-line slices to post_state."},"validate":{"type":"string","enum":["strict","best-effort","only"],"description":"strict (default) aborts on first error. best-effort applies what compiles. only runs in-memory, no persist."},"visualVerify":{"type":"boolean","default":false,"description":"Post-edit headless screenshot + pixel-diff vs baseline. See tool-help."},"kb":{"type":"string","description":"KB alias."}}}},
8
+ {"name":"genexus_inspect","description":"Use to snapshot an object: metadata, variables, structure, signature. Raw shape, no source text — use genexus_read for code. runtimeIds requires a prior build.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"include":{"type":"array","items":{"type":"string","enum":["metadata","variables","signature","structure","parts","controls","events_repertoire","callers","runtimeIds"]}},"projection":{"type":"string","enum":["minimal","standard","verbose"],"description":"minimal=name+type+lastUpdate; standard=default; verbose=all fields."},"type":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["name"]}},
9
+ {"name":"genexus_analyze","description":"Use this for cross-object semantic analysis: impact, dependencies, complexity, naming, summary. See tool-help for mode selection.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"mode":{"type":"string","enum":["linter","navigation","hierarchy","impact","cross_platform_impact","callers","event_flow","data_context","ui_context","pattern_metadata","summary","dependency_heatmap"]},"format":{"type":"string","enum":["json","ascii"],"description":"mode=dependency_heatmap: ascii adds rendered bar chart."},"kb":{"type":"string","description":"KB alias."},"waitForIndex":{"type":"boolean","description":"mode=impact: block up to 30s for Ready index (default true).","default":true}},"required":["name","mode"]}},
10
+ {"name":"genexus_lifecycle","description":"Build, validate, index, or poll the KB. Long ops are async with operationId. See genexus://kb/tool-help/genexus_lifecycle for actions and target formats.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["build","cancel","rebuild","reorg","reorg_preview","validate","validate-kb","sync","index","status","result","snapshots-list","snapshots-restore"]},"target":{"type":"string","description":"Object name(s), taskId, job_id, or op:<id>. Build accepts CSV ('Foo,Bar')."},"code":{"type":"string"},"limit":{"type":"integer"},"snapshotPath":{"type":"string"},"estimated_seconds":{"type":"integer","description":"Build: <20 sync, >=20 async (default 60)."},"wait_seconds":{"type":"integer","description":"Status/build long-poll cap, 0-600s."},"wait_until_done":{"type":"boolean","description":"Build/rebuild: block in one turn until terminal (up to wait_seconds, default 600)."},"wait":{"type":"integer","description":"Status taskId event-driven block, 0-600s."},"since":{"type":"string","description":"Status: prior _meta.snapshot for chained waits."},"compact":{"type":"boolean","description":"Status: counts + top-10 errors (default true)."},"force":{"type":"boolean","description":"Index: full SDK rescan (clears snapshot)."},"includeCallees":{"type":"string","enum":["none","direct","transitive"],"description":"Build: expand call graph so callees compile first (default transitive)."},"buildPlanCap":{"type":"integer","description":"Build: max nodes before BuildPlanTooLarge (default 200)."},"skipFullDeploy":{"type":"boolean","description":"EXPERIMENTAL. Skip deploy step (single-target, includeCallees=none). See tool-help."},"fastIncremental":{"type":"boolean","description":"EXPERIMENTAL. Skip clean targets via dirty-tracker; falls back to legacy build on miss. See tool-help."},"notifyOnFailure":{"type":"string","description":"Build: Slack/Discord webhook posted on terminal=Failed. See tool-help."},"kb":{"type":"string","description":"KB alias."}},"required":["action"]}},
11
+ {"name":"genexus_test","description":"Execute native GeneXus tests (GXtest).","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["name"]}},
12
+ {"name":"genexus_sdk_probe","description":"Dump SDK surface (types/methods/props) to docs/sdk-probe/. Use when hunting for entry points.","inputSchema":{"type":"object","properties":{"outputDir":{"type":"string","description":"Absolute path. Default <repo>/docs/sdk-probe/."}}}},
13
+ {"name":"genexus_worker_reload","description":"Reload worker. modes: soft (drain+respawn), hard (copy sourceDir+respawn), warm (EXPERIMENTAL; persist index snapshot). force=true: gateway kills directly. See tool-help.","inputSchema":{"type":"object","properties":{"mode":{"type":"string","enum":["soft","hard","warm"]},"force":{"type":"boolean","description":"Bypass drain; gateway kills + respawns. Use when worker is wedged."},"sourceDir":{"type":"string","description":"Required for mode=hard."},"drainTimeoutMs":{"type":"integer","description":"Soft/warm only; default 30000."}}}},
14
+ {"name":"genexus_delete_object","description":"Delete an object from the KB. Irreversible confirm=true required.","inputSchema":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"confirm":{"type":"boolean"},"kb":{"type":"string","description":"KB alias."}},"required":["name","confirm"]}},
15
+ {"name":"genexus_refactor","description":"Run GeneXus refactor: rename, extract procedure, or WWP condition set.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["RenameAttribute","RenameVariable","RenameObject","ExtractProcedure","WWPSetCondition"]},"target":{"type":"string","description":"Primary object or symbol to refactor."},"newName":{"type":"string"},"objectName":{"type":"string"},"code":{"type":"string"},"procedureName":{"type":"string"},"controlAttribute":{"type":"string"},"value":{"type":"string"},"type":{"type":"string"},"kb":{"type":"string","description":"KB alias."}},"required":["action"]}},
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.","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?}.","anyOf":[{"type":"string"},{"type":"object"}]},"kb":{"type":"string","description":"KB alias."}},"required":["name"]}},
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"]}},
18
+ {"name":"genexus_properties","description":"Read or update GeneXus object properties. Note: Description is the title-bar text shown when a WebPanel/Popup is opened via .Popup().","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["get","set"]},"name":{"type":"string"},"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"},"kb":{"type":"string","description":"KB alias."}},"required":["action","name"]}},
19
+ {"name":"genexus_structure","description":"Read or update visual and logical structure of GeneXus objects.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["get_visual","update_visual","get_indexes","get_logic"]},"name":{"type":"string"},"payload":{"type":"object","description":"Update payload for update_visual."},"kb":{"type":"string","description":"KB alias."}},"required":["action","name"]}},
20
+ {"name":"genexus_layout","description":"SDK layout/WebForm ops: get_tree, set_property, find_controls, inspect_surface, scan_mutators.","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"]},"name":{"type":"string"},"target":{"type":"string","description":"Alias for name (backcompat)."},"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"]}},
21
+ {"name":"genexus_doc","description":"Use to generate structured docs (wiki, sequence diagrams, health reports). Don't use for programmatic analysis (see genexus_analyze) or source (see genexus_read).","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["wiki","visualize","health"]},"target":{"type":"string","description":"Object or domain name."}},"required":["action"]}},
22
+ {"name":"genexus_search_source","description":"Regex/semantic search across Procedure/DataProvider/WebPanel/Transaction source.","inputSchema":{"type":"object","properties":{"callee":{"type":"string","description":"Method/function name (qualified or unqualified)."},"argMatches":{"type":"object","description":"Positional arg index to expected literal text."},"pattern":{"type":"string"},"typeFilter":{"type":"string"},"scope":{"type":"array","items":{"type":"string"}},"fields":{"type":"array","items":{"type":"string","enum":["source","caption","description","parmNames","webForm"]},"description":"Fields to search. Default [source]. Add webForm to scan WebPanel/Transaction WebForm XML (layout-form examples)."},"maxResults":{"type":"integer"},"caseSensitive":{"type":"boolean"},"includeComments":{"type":"boolean"},"inline_read_top":{"type":"integer","description":"0-3. Inline reads of top N distinct objects in response."},"kb":{"type":"string","description":"KB alias."}}}},
23
+ {"name":"genexus_kb","description":"Manage open KBs and startup config. list/open/close/set_default operate on WorkerPool; set_startup/get_startup mirror IDE 'Set As Startup Object'.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["list","open","close","set_default","set_startup","get_startup"]},"alias":{"type":"string","description":"KB alias. open: auto from path basename if omitted."},"path":{"type":"string","description":"Absolute KB path (required for open if alias not in config)."},"name":{"type":"string","description":"Object name (required for set_startup)."}},"required":["action"]}},
24
+ {"name":"genexus_navigation","description":"View navigation report (IDE Right-click → View Navigation). latest=true returns cached report from .gx/navigation-cache; else runs fresh.","inputSchema":{"type":"object","required":["action","name"],"properties":{"action":{"type":"string","enum":["view"]},"name":{"type":"string"},"latest":{"type":"boolean","default":false,"description":"Return the most recent cached navigation if any; otherwise run fresh."},"kb":{"type":"string","description":"KB alias."}}}},
25
+ {"name":"genexus_api","description":"Introspect REST endpoints exposed by HTTP procedures. action=list|describe|snapshot|diff_baseline. Returns endpoints + detects breaking changes vs a saved baseline.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["list","describe","snapshot","diff_baseline"]},"target":{"type":"string","description":"Procedure name (action=describe)."},"name":{"type":"string","description":"Baseline name (action=snapshot)."},"baseline":{"type":"string","description":"Baseline name under .gx/api-baselines/ or absolute path (action=diff_baseline)."},"pathPrefix":{"type":"string","description":"Folder prefix filter (action=list), e.g. 'Root Module/API/'."},"kb":{"type":"string","description":"KB alias."}}}},
26
+ {"name":"genexus_apply_pattern","description":"Apply a pattern (e.g. WorkWithPlus) to a parent (IDE Right-click Apply Pattern). Transaction=family-gen; WebPanel/SDPanel=direct-attach (pass settings.template). mode=diagnose returns findings without mutating.","inputSchema":{"type":"object","required":["name","pattern"],"properties":{"name":{"type":"string","description":"Target KBObject name."},"pattern":{"type":"string","description":"Pattern key ('WorkWithPlus') or GUID."},"mode":{"type":"string","enum":["apply","diagnose"],"description":"apply (default) mutates; diagnose returns reasons without applying."},"settings":{"type":"object","description":"Pattern-instance settings tree."},"reapply":{"type":"boolean","default":false,"description":"Re-run on existing instance."},"validate":{"type":"boolean","default":false,"description":"After apply, build the generated host. Adds validation block (60-180s). Catches binding errors."},"kb":{"type":"string","description":"KB alias."}}}},
27
+ {"name":"genexus_edit_and_build","description":"Edit + rebuild callers in one call. Returns edit diff + impact + build operationId.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Target object name."},"part":{"type":"string","description":"Part (Source, Rules, ...)."},"content":{"type":"string","description":"New content. For mode=patch may be {find,replace} object."},"patch":{"description":"Same shape as genexus_edit.patch. Auto-sets mode=patch.","anyOf":[{"type":"string"},{"type":"object","properties":{"find":{"type":"string"},"replace":{"type":"string"}},"required":["find","replace"]}]},"mode":{"type":"string","enum":["full","patch"],"default":"patch"},"type":{"type":"string","description":"Disambiguates ambiguous names."},"dryRun":{"type":"boolean","default":false},"buildIncludeCallees":{"type":"string","enum":["none","direct","transitive"],"default":"direct"},"buildPlanCap":{"type":"integer","default":200},"waitForIndex":{"type":"boolean","default":true},"waitTimeoutMs":{"type":"integer","default":30000},"visualVerify":{"type":"boolean","default":false,"description":"Post-edit headless screenshot + pixel-diff vs baseline. See tool-help."}},"required":["name","part"]}},
28
+ {"name":"genexus_security","description":"Audit KB security. action=audit_gam scans GAM/env props; action=scan_secrets greps Source for credential-shaped literals. Returns findings with severity.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["audit_gam","scan_secrets"]},"kb":{"type":"string","description":"KB alias."}}}},
29
+ {"name":"genexus_doctor","description":"Health check: GX install, KB state, worker, cache age, recent telemetry. Paste output for triage when something feels off.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},
30
+ {"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"]},"name":{"type":"string"},"parent":{"type":"string"},"position":{"type":"string","description":"first|last|after:<id>"},"caption":{"type":"string"},"format":{"type":"string","enum":["Text","HTML"]},"event":{"type":"string"},"controlId":{"type":"string"},"controlIds":{"type":"array","items":{"type":"string"}},"legend":{"type":"string"},"visible":{"type":"boolean"},"dryRun":{"type":"boolean"},"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}]}},
31
+ {"name":"genexus_worker_pool","description":"Pre-spawn N warm workers bound to declared KBs to skip cold-start. Returns {status,spareCount,configured}. spareCount<=0 disables; capped at 5.","inputSchema":{"type":"object","properties":{"action":{"type":"string","enum":["warm_spares"]},"spareCount":{"type":"integer","description":"Number of spares to pre-spawn (0 disables; capped at 5)."}}}},
32
+ {"name":"genexus_gxserver","description":"Surface GxServer sync state (status/pending/conflicts/history). Read-only v1. Returns {connected:false} when KB is not linked.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["status","pending","conflicts","history"]},"limit":{"type":"integer","description":"history only; default 10, max 200."},"kb":{"type":"string","description":"KB alias."}}}},
33
+ {"name":"genexus_github","description":"Open a PR after pushing a branch. Shells `gh pr create` from KB path (or workingDir). Returns {status,url} or {code:'GhCliNotInstalled'}.","inputSchema":{"type":"object","required":["action","title"],"properties":{"action":{"type":"string","enum":["create_pr"]},"title":{"type":"string"},"body":{"type":"string"},"base":{"type":"string","description":"Base branch."},"workingDir":{"type":"string"}}}},
34
+ {"name":"genexus_ai_complete","description":"Forward prompt to OpenAI-compatible endpoint (env GXMCP_AI_COMPLETE_URL/_KEY/_MODEL). Errors: AiEndpointNotConfigured, AiEndpointError.","inputSchema":{"type":"object","required":["context"],"properties":{"name":{"type":"string"},"part":{"type":"string"},"context":{"type":"string","description":"Prompt sent to the LLM."},"maxTokens":{"type":"integer","description":"Default 200, max 4000."},"kb":{"type":"string","description":"KB alias."}}}},
35
+ {"name":"genexus_multi_agent_lock","description":"Advisory file lock per (kbPath,target,part) under .gx/locks. Auto-expires after ttlSec. Returns {status,held,holder,path}.","inputSchema":{"type":"object","required":["action","target"],"properties":{"action":{"type":"string","enum":["acquire","release","status"]},"target":{"type":"string"},"part":{"type":"string"},"ownerId":{"type":"string","description":"Required for acquire/release."},"ttlSec":{"type":"integer","description":"Default 300, max 86400."},"kb":{"type":"string","description":"KB alias."}}}},
36
+ {"name":"genexus_rename_across_kb","description":"Rename object/attribute and patch every call-site via CalledBy edges. Routes through RefactorService Rename{Object|Attribute}. Returns standard refactor envelope with patched-site count.","inputSchema":{"type":"object","required":["from","to"],"properties":{"from":{"type":"string","description":"Current name."},"to":{"type":"string","description":"New name."},"type":{"type":"string","description":"Object type; pass 'Attribute' for attribute renames."},"kb":{"type":"string","description":"KB alias."}}}},
37
+ {"name":"genexus_browser","description":"Headless-browser verification umbrella. action=smoke (HTTP 200 + clean console), a11y (axe), wcag (caption/tooltip lint), capture (console/network/exceptions), cross (multi-engine), preview (render WebPanel + capture HTML/a11y/screenshot, optionally diff baseline). preview uses mode=render|run (default render; run auto-resolves the KB launcher, IDE F5 parity).","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["smoke","a11y","wcag","capture","cross","preview"]},"target":{"type":"string","description":"WebPanel name. Alias of 'name'."},"name":{"type":"string","description":"Alias of 'target'."},"mode":{"type":"string","enum":["render","run"],"description":"preview only."},"capture":{"type":"array","items":{"type":"string"},"description":"capture|cross|preview channels: console|network|exceptions|html|a11y|screenshot."},"browsers":{"type":"array","items":{"type":"string","enum":["chrome","firefox","safari","webkit"]},"description":"cross only."},"parms":{"type":"object","description":"preview only."},"launcher":{"type":"string","description":"preview only."},"buildFirst":{"type":"boolean","description":"preview only."},"waitMs":{"type":"integer","description":"preview only."},"diffBaseline":{"type":"boolean","description":"preview only."},"updateBaseline":{"type":"boolean","description":"preview only."},"fill":{"type":"object","description":"preview only."},"click":{"type":"string","description":"preview only."},"auth":{"type":"object","description":"preview only."},"emulate":{"type":"string","enum":["iPhone12","iPhone15Pro","iPadPro","Pixel7","desktop1920","desktop1280"],"description":"preview only."},"network":{"type":"string","enum":["fast","slow3g","fast3g","offline"],"description":"preview only."},"kb":{"type":"string","description":"KB alias."}}}},
38
+ {"name":"genexus_db","description":"Database umbrella. action: drift_check|drift_report (Transaction↔DB schema drift) | optimize_analyze|optimize_suggest|optimize_report (static index advisor) | sql_ddl|sql_navigation (SQL for Transaction/Procedure) | sample_data (fake INSERTs) | types_list|types_describe|types_validate (Domains/SDT constraints) | translations_import.","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["drift_check","drift_report","optimize_analyze","optimize_suggest","optimize_report","sql_ddl","sql_navigation","sample_data","types_list","types_describe","types_validate","translations_import"]},"target":{"type":"string","description":"Object/transaction/type name. Alias of name/trn."},"name":{"type":"string","description":"Alias of target."},"trn":{"type":"string","description":"sample_data: Transaction name."},"rows":{"type":"integer","description":"sample_data: 1-1000; default 5."},"includeSubordinated":{"type":"boolean","description":"sql_ddl only."},"levelNumber":{"type":"integer","description":"sql_navigation only."},"includeExecutionPlan":{"type":"boolean","description":"sql_navigation."},"includeIndexAdvisor":{"type":"boolean","description":"sql_navigation."},"format":{"type":"string","enum":["json","markdown"],"description":"optimize_report only."},"kind":{"type":"string","enum":["domain","sdt","all"],"description":"types_list filter."},"value":{"type":"string","description":"types_validate."},"type":{"type":"string","description":"types_validate / disambiguator."},"inputPath":{"type":"string","description":"translations_import: CSV path."},"kb":{"type":"string","description":"KB alias."}}}},
39
+ {"name":"genexus_versioning","description":"Versioning umbrella. action: history_list|history_get|history_save|history_restore (snapshot store; restore+discard=true is IDE 'Discard changes' parity) | undo (revert last N edits) | time_travel (recover bytes from a past git commit) | blame (git blame an object part) | diff (text: mode=textVsText|currentVsText) | diff_generated (against=last-build|git-head).","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["history_list","history_get","history_save","history_restore","undo","time_travel","blame","diff","diff_generated"]},"name":{"type":"string"},"part":{"type":"string"},"versionId":{"type":"integer"},"snapshot":{"type":"string"},"discard":{"type":"boolean"},"dryRun":{"type":"boolean"},"last":{"type":"integer","description":"undo: default 1, max 20."},"at":{"type":"string","description":"time_travel: ISO-8601 or commit sha."},"line":{"type":"integer","description":"blame."},"filePath":{"type":"string","description":"blame."},"context":{"type":"integer","description":"blame."},"mode":{"type":"string","enum":["textVsText","currentVsText"],"description":"diff."},"left":{"type":"string","description":"diff."},"right":{"type":"string","description":"diff."},"against":{"type":"string","enum":["last-build","git-head"],"description":"diff_generated."},"kb":{"type":"string","description":"KB alias."}}}},
40
+ {"name":"genexus_io","description":"IO umbrella for assets, part text exchange, screenshots, OCR. action: asset_find|asset_read|asset_write (binary asset CRUD) | export_part|import_part (object part to/from a text file) | export_unified (full object envelope JSON) | screenshot_publish (copy PNG to .gx/published-screenshots) | ocr (Tesseract stub).","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["asset_find","asset_read","asset_write","export_part","import_part","export_unified","screenshot_publish","ocr"]},"path":{"type":"string","description":"asset/screenshot_publish/ocr."},"name":{"type":"string","description":"export/import/export_unified."},"outputPath":{"type":"string","description":"export_part."},"inputPath":{"type":"string","description":"import_part."},"part":{"type":"string","description":"export/import_part."},"type":{"type":"string","description":"export/import/export_unified disambiguator."},"overwrite":{"type":"boolean","description":"export_part."},"pattern":{"type":"string","description":"asset_find."},"relativeRoot":{"type":"string","description":"asset_find."},"limit":{"type":"integer","description":"asset_find."},"includeContent":{"type":"boolean","description":"asset_find."},"maxBytes":{"type":"integer","description":"asset_read."},"contentBase64":{"type":"string","description":"asset_write."},"kb":{"type":"string","description":"KB alias."}}}},
41
+ {"name":"genexus_variable","description":"Variables part CRUD. action: add | delete (idempotent; refuses GAM/WWP+ framework-managed vars) | modify (atomically change type; preserves name+description). varName required for all; typeName required for add+modify.","inputSchema":{"type":"object","required":["action","name","varName"],"properties":{"action":{"type":"string","enum":["add","delete","modify"]},"name":{"type":"string"},"varName":{"type":"string"},"typeName":{"type":"string"},"basedOn":{"type":"string","description":"modify optional: Domain."},"kb":{"type":"string","description":"KB alias."}}}},
42
+ {"name":"genexus_telemetry","description":"Observability umbrella. action: executions (recent invocations) | watch_event (ops mentioning an event) | friction_append|friction_tail (.gx/friction.jsonl) | learning_report (aggregate friction) | logs (worker_debug.log tail) | profile_analyze|profile_hotspots|profile_correlate (GeneXus profiler XML).","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["executions","watch_event","friction_append","friction_tail","learning_report","logs","profile_analyze","profile_hotspots","profile_correlate"]},"target":{"type":"string"},"event":{"type":"string","description":"watch_event."},"last":{"type":"integer","description":"executions/watch_event."},"tool":{"type":"string","description":"friction_append."},"message":{"type":"string","description":"friction_append."},"severity":{"type":"string","enum":["info","warn","error","critical"],"description":"friction_append."},"n":{"type":"integer","description":"friction_tail."},"since":{"type":"string","description":"learning_report/logs."},"until":{"type":"string","description":"learning_report."},"tail":{"type":"integer","description":"logs."},"filterCorrelation":{"type":"string","description":"logs."},"grep":{"type":"string","description":"logs."},"path":{"type":"string","description":"profile_*."},"top":{"type":"integer","description":"profile_hotspots."},"kb":{"type":"string","description":"KB alias."}}}},
43
+ {"name":"genexus_create","description":"Creation umbrella. action: object (Transaction/Procedure/WebPanel/SDT/Domain/Dashboard; Domain takes dataType+length or enumValues; NOT WWP use genexus_apply_pattern) | popup (popup WebPanel with Form type='layout' body) | sd_panel_create|sd_panel_inspect|sd_panel_edit | save_as (clone parts) | scaffold|translate|sample (forge) | template (kpi_header|empty_state|confirm_dialog).","inputSchema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["object","popup","sd_panel_create","sd_panel_inspect","sd_panel_edit","save_as","scaffold","translate","sample","template"]},"type":{"type":"string"},"name":{"type":"string"},"newName":{"type":"string","description":"save_as."},"description":{"type":"string"},"dataType":{"type":"string","description":"object Domain."},"length":{"type":"integer","description":"object Domain."},"decimals":{"type":"integer","description":"object Domain."},"signed":{"type":"boolean","description":"object Domain."},"basedOn":{"type":"string","description":"object Domain."},"enumValues":{"type":"array","items":{"type":"object"},"description":"object Domain enum."},"spec":{"type":"object","description":"popup."},"part":{"type":"string","description":"sd_panel_edit/template."},"content":{"type":"string","description":"sd_panel_edit/scaffold/translate."},"includePatternInstance":{"type":"boolean","description":"save_as."},"overwrite":{"type":"boolean","description":"save_as."},"dryRun":{"type":"boolean","description":"popup/save_as/template/object."},"template":{"type":"string","enum":["kpi_header","empty_state","confirm_dialog"],"description":"template."},"args":{"type":"object","description":"template."},"kb":{"type":"string","description":"KB alias."}}}}
44
+ ]
Binary file
Binary file