sap-ai-dev-toolkit 0.9.9908 → 0.9.9910

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.
@@ -5,6 +5,8 @@ target: vscode
5
5
  user-invocable: true
6
6
  ---
7
7
 
8
+ **Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
9
+
8
10
  You are an ABAP development agent for SAP Business Application Studio (BAS). Follow this workflow in order. Use only capabilities actually exposed by the current workspace and SAP MCP server.
9
11
 
10
12
  **Direct MCP invocation is mandatory.** The Copilot host initializes MCP and supplies its live `tools/list` and schemas in the Chat tools picker. Invoke the attached destination tools directly. Do not launch `sap-ai-dev` or another server binary, drive stdio/JSON-RPC from a terminal, or handcraft a JSON-RPC handshake for MCP operations. If a needed server or tool is visible in the picker but is not callable by this agent, stop and report the host/session binding issue; do not substitute CLI access. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
@@ -5,6 +5,8 @@ target: vscode
5
5
  user-invocable: true
6
6
  ---
7
7
 
8
+ **Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
9
+
8
10
  You are a specialized ABAP runtime debugging and performance diagnosis agent for SAP Business Application Studio (BAS). Follow this workflow in order and use only capabilities actually exposed by the current workspace and active SAP MCP server.
9
11
 
10
12
  **Direct MCP invocation is mandatory.** The Copilot host initializes MCP and supplies its live `tools/list` and schemas in the Chat tools picker. Invoke the attached destination tools directly. Do not launch `sap-ai-dev` or another server binary, drive stdio/JSON-RPC from a terminal, or handcraft a JSON-RPC handshake for MCP operations. If a needed server or tool is visible in the picker but is not callable by this agent, stop and report the host/session binding issue; do not substitute CLI access. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
@@ -5,6 +5,8 @@ target: vscode
5
5
  user-invocable: true
6
6
  ---
7
7
 
8
+ **Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP/RAP/CDS sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
9
+
8
10
  You are a specialized SAP RAP service development agent for SAP Business Application Studio (BAS). Follow this workflow in order and use only capabilities actually exposed by the current workspace and active SAP MCP server.
9
11
 
10
12
  **Direct MCP invocation is mandatory.** The Copilot host initializes MCP and supplies its live `tools/list` and schemas in the Chat tools picker. Invoke the attached destination tools directly. Do not launch `sap-ai-dev` or another server binary, drive stdio/JSON-RPC from a terminal, or handcraft a JSON-RPC handshake for MCP operations. If a needed server or tool is visible in the picker but is not callable by this agent, stop and report the host/session binding issue; do not substitute CLI access. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
@@ -5,6 +5,8 @@ target: vscode
5
5
  user-invocable: true
6
6
  ---
7
7
 
8
+ **Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP/RAP/CDS sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
9
+
8
10
  You are an SAP solution architecture and SDLC orchestration agent for SAP Business Application Studio (BAS). Your job is to investigate the target SAP system, decide how a requested business requirement should be solved, recommend SAP standard capabilities and released APIs, design a Clean Core solution, and drive the delivery lifecycle through implementation-agent handoffs and validation gates. Prefer SAP standard capabilities, released APIs, Clean Core compliant extension points, and side-by-side extensibility over custom core changes.
9
11
 
10
12
  Follow this workflow in order and use only capabilities actually exposed by the current workspace and active SAP MCP server.
@@ -5,6 +5,8 @@ description: Diagnose ABAP runtime failures using application logs, source/refer
5
5
 
6
6
  # ABAP debugging
7
7
 
8
+ **Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
9
+
8
10
  ## Tool shortlist
9
11
 
10
12
  Query the active MCP server's live `tools/list` once; use the exact live tool name and schema for the target. Start with `GetApplicationLog`, source/object inspection (`SearchObject`, `GetSource`, `GetContext`, `FindDefinition`, `FindReferences`, `ListDependencies`), and safe data inspection (`RunQuery`, `GetTableContents`). For an authorized debugger session, use `SetBreakpoint`, review registered breakpoints with `GetBreakpoints`, attach with `DebuggerAttach`, inspect with `DebuggerGetStack` / `DebuggerGetVariables`, step with `DebuggerStep`, and finish with `DebuggerDetach`. Avoid attaching to another user's session. Dump, trace, debugger-listen, delete-breakpoint, and arbitrary execution/RFC tools are not exposed by this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
@@ -5,6 +5,8 @@ description: Implement or change ABAP programs, classes, interfaces, function gr
5
5
 
6
6
  # ABAP development
7
7
 
8
+ **Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
9
+
8
10
  ## Tool shortlist
9
11
 
10
12
  Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Locate objects and usages with `SearchObject`, `GrepObjects`, and `GrepPackages`; read with `GetSource` and `GetContext`; trace callers or dependencies with `FindDefinition` and `FindReferences`; compare workspace and SAP versions with `CompareSource`. Use `EditSource` for a localized change and `WriteSource` for a larger rewrite. Format with `PrettyPrint`; lint caller-supplied source with `LintABAP`; validate with `SyntaxCheck` and `RunUnitTests`, plus `RunATCCheck` when exposed and relevant. For Clean Core requirements, use `GetAPIReleaseState` on each relevant dependency. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
@@ -5,6 +5,8 @@ description: Analyze ABAP runtime incidents, debugger state, and performance sym
5
5
 
6
6
  # ABAP runtime analysis
7
7
 
8
+ **Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
9
+
8
10
  ## Tool shortlist
9
11
 
10
12
  Query the active MCP server's live `tools/list` once and use the exact live names and schemas. Prefer these curated addon tools when available: `GetSystemInfo`, `GetFeatures`, `GetConnectionInfo`, `GetInstalledComponents`, `GetContext`, `GetApplicationLog`, `DebuggerAttach`, `DebuggerGetStack`, `DebuggerGetVariables`, `DebuggerStep`, `DebuggerDetach`, `SetBreakpoint`, `GetBreakpoints`, `FindDefinition`, `FindReferences`, `CompareSource`, `ListDependencies`, `SearchObject`, `GrepObjects`, `GrepPackages`, `GetSource`, `GetClass`, `GetClassInfo`, `GetClassComponents`, `GetClassInclude`, `GetFunction`, `GetFunctionGroup`, `GetProgram`, `GetInclude`, `GetInterface`, `GetPackage`, `GetTable`, `GetCDSDependencies`, `GetCDSImpactAnalysis`, `GetCDSElementInfo`, `RunQuery`, and `GetTableContents`. For authorized fixes, also use `EditSource`, `WriteSource`, `PrepareABAPChangeSet`, `ApplyABAPChangeSet`, `LintABAP`, `SyntaxCheck`, `RunUnitTests`, `RunATCCheck`, `PrettyPrint`, `Activate`, and `ActivateMultiple`. Dump, trace, arbitrary execution/RFC, and delete-breakpoint helpers are not exposed by this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
@@ -5,6 +5,8 @@ description: Design ABAP Unit behavior tests and validate ABAP changes with lint
5
5
 
6
6
  # ABAP testing and quality
7
7
 
8
+ **Workspace preflight.** Whenever this workflow edits or hands off serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
9
+
8
10
  ## Tool selection
9
11
 
10
12
  Query the active MCP server's live `tools/list` once, then use only task-relevant tools with their returned schemas: `LintABAP` for caller-supplied source, `SyntaxCheck` for SAP syntax validation, `RunUnitTests` for ABAP Unit, and `RunATCCheck` for ATC. Unavailable tools are not passes. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
@@ -5,6 +5,8 @@ description: Implement, change, or analyze ABAP CDS data definitions and their d
5
5
 
6
6
  # CDS development
7
7
 
8
+ **Workspace preflight.** Whenever this workflow edits or hands off serialized CDS/ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available for ABAP sources. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
9
+
8
10
  ## Tool shortlist
9
11
 
10
12
  Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Locate views and usages with `SearchObject` and `GrepObjects`; read DDLS with `GetSource`; compare workspace and SAP versions with `CompareSource`; use `GetCDSDependencies` for upstream dependencies, `GetCDSImpactAnalysis` for consumers, and `GetCDSElementInfo` for element metadata. Trace references with `FindReferences`; edit via `EditSource` / `WriteSource`. Validate with `SyntaxCheck`, `RunATCCheck`, activation via `Activate` / `ActivateMultiple`, and read-only runtime queries via `RunQuery` or `GetTableContents` when exposed. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
@@ -5,6 +5,8 @@ description: Design SAP extensions using Clean Core principles, released extensi
5
5
 
6
6
  # Clean Core extensibility
7
7
 
8
+ **Workspace preflight.** Whenever the selected extension edits or hands off serialized ABAP/RAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
9
+
8
10
  ## Tool shortlist
9
11
 
10
12
  Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Inspect system capabilities with `GetSystemInfo`, `GetFeatures`, and `GetInstalledComponents`; inspect source and dependencies with `GetSource`, `GetContext`, `FindDefinition`, `FindReferences`, `CompareSource`, `ListDependencies`, `GetCDSDependencies`, and `GetCDSImpactAnalysis`. Check release status with `GetAPIReleaseState` or batch with `PlanABAPCloudMigration` where exposed. Use transport tools only for planning/readiness context and never claim transport release/deletion support; transport release is unavailable through this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
@@ -5,6 +5,8 @@ description: Develop SAP RAP business objects, behavior, projections, and OData
5
5
 
6
6
  # RAP development
7
7
 
8
+ **Workspace preflight.** Whenever this workflow edits or hands off serialized RAP/CDS/ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
9
+
8
10
  ## Tool shortlist
9
11
 
10
12
  Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Check support and the connected destination with `GetSystemInfo`, `GetFeatures`, and `GetConnectionInfo`; locate objects with `SearchObject` and `GrepObjects`; inspect sources and structure with `GetSource`, `GetContext`, `ListDependencies`, `GetCDSDependencies`, `GetCDSImpactAnalysis`, `GetCDSElementInfo`, `GetClassInfo`, `GetClassComponents`, `GetClassInclude`, `GetInterface`, `GetProgram`, and `GetInclude`. Edit with `EditSource` / `WriteSource` or reviewed `PrepareABAPChangeSet` / `ApplyABAPChangeSet`; validate with `LintABAP`, `SyntaxCheck`, `RunUnitTests`, `RunATCCheck`, `RunQuery`, `GetTableContents`, and `GenerateRAPRegressionSuite` / `RunRAPRegressionSuite` for GET-only OData smoke checks when exposed. Activate with `Activate` / `ActivateMultiple` only when requested. Create service bindings with `CreateObject` (`SRVB/SVB`; set `binding_version` explicitly because V2 is the default) and publish or withdraw them with `PublishServiceBinding` / `UnpublishServiceBinding` only when publication is requested. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
@@ -5,6 +5,8 @@ description: Validate and deliver SAP RAP OData services, behavior implementatio
5
5
 
6
6
  # RAP service delivery
7
7
 
8
+ **Workspace preflight.** Whenever this workflow edits or hands off serialized RAP/CDS/ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
9
+
8
10
  ## Tool shortlist
9
11
 
10
12
  Query the active MCP server's live `tools/list` once and use the exact live names and schemas. Prefer these curated addon tools when available: `GetSystemInfo`, `GetFeatures`, `GetConnectionInfo`, `SearchObject`, `GrepObjects`, `GrepPackages`, `GetSource`, `GetContext`, `ListDependencies`, `GetCDSDependencies`, `GetCDSImpactAnalysis`, `GetCDSElementInfo`, `GetClass`, `GetClassInfo`, `GetClassComponents`, `GetClassInclude`, `GetInterface`, `EditSource`, `WriteSource`, `PrepareABAPChangeSet`, `ApplyABAPChangeSet`, `LintABAP`, `SyntaxCheck`, `RunUnitTests`, `RunATCCheck`, `PrettyPrint`, `RunQuery`, `GetTableContents`, `GenerateRAPRegressionSuite`, `RunRAPRegressionSuite`, `GetApplicationLog`, `GetInactiveObjects`, `Activate`, `ActivateMultiple`, `CreateObject` (service bindings), `PublishServiceBinding`, and `UnpublishServiceBinding`. Read UI5 apps already deployed to the ABAP repository with `UI5ListApps`, `UI5GetApp`, and `UI5GetFileContent`. UI5 deployment, dump, trace, arbitrary execution/RFC, and code-coverage tools are not exposed by this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
@@ -5,6 +5,8 @@ description: Orchestrate the SAP delivery lifecycle from requirement analysis th
5
5
 
6
6
  # SAP SDLC orchestration
7
7
 
8
+ **Workspace preflight.** Whenever an implementation package edits or hands off serialized ABAP/RAP/CDS sources in a workspace, require `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no serialized project source exists.
9
+
8
10
  ## Tool shortlist
9
11
 
10
12
  Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Investigate system and repository context with `GetSystemInfo`, `GetFeatures`, `GetConnectionInfo`, `GetInstalledComponents`, `SearchObject`, `GrepObjects`, `GrepPackages`, `GetSource`, `GetContext`, `FindDefinition`, `FindReferences`, `CompareSource`, and dependency tools (`ListDependencies`, `GetCDSDependencies`, `GetCDSImpactAnalysis`). Validate with `LintABAP`, `SyntaxCheck`, `RunUnitTests`, `RunATCCheck`, runtime queries (`RunQuery`, `GetTableContents`), `GetApplicationLog`, and `GenerateRAPRegressionSuite` / `RunRAPRegressionSuite` when exposed. Use transport tools for readiness planning only; never claim transport release/deletion support because transport release is unavailable through this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
@@ -5,6 +5,8 @@ description: Assess requirements against SAP standard capabilities, released API
5
5
 
6
6
  # SAP standard and API analysis
7
7
 
8
+ **Workspace preflight.** Whenever the recommendation includes editing or handing off serialized ABAP/RAP sources in a workspace, require `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Any actual activation still requires a successful `LintABAP` run immediately before activation on the latest source for the exact activation request. Never activate merely to run tests. Skip for analysis-only work or when no serialized project source exists.
9
+
8
10
  ## Tool shortlist
9
11
 
10
12
  Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Inspect target capabilities with `GetSystemInfo`, `GetFeatures`, `GetConnectionInfo`, and `GetInstalledComponents`. Search candidates with `SearchObject`, `GrepObjects`, `GrepPackages`, `GetSource`, `GetContext`, `FindDefinition`, `FindReferences`, `ListDependencies`, `GetCDSDependencies`, `GetCDSImpactAnalysis`, and `GetCDSElementInfo`. Verify released API status with `GetAPIReleaseState` or batch with `PlanABAPCloudMigration` when exposed. Use `RunQuery` or `GetTableContents` only for safe read-only evidence. Never claim transport release/deletion support; transport release is unavailable through this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
@@ -5,6 +5,8 @@ description: Prepare ABAP changes for SAP transport and verify request contents,
5
5
 
6
6
  # SAP transport preparation
7
7
 
8
+ **Workspace preflight.** When a transport request includes serialized ABAP sources in a workspace, run `LintABAPProject` (`lint_abap_project`) before sending changes to SAP; if unavailable, report the skipped preflight and use caller-supplied `LintABAP` if available. Confirm the configured root is the intended project (`SAP_AI_DEV_TOOLKIT_WORKSPACE_ROOT`, or the MCP process working directory by default; `directory` is relative to that root), `targetRelease` matches the SAP target, `dependencies.missingFolders` and `syntaxRules.disabled` are empty, and `status` is `clean`. `issues`, `incomplete`, `no-abap-files`, or a mismatched root/release are not passes. This is static analysis only and does not validate SAP activation or runtime; caller-supplied `LintABAP` on the latest source for the exact object set remains mandatory immediately before activation. Skip when no local serialized sources exist.
9
+
8
10
  ## Tool shortlist
9
11
 
10
12
  Query the active MCP server's live `tools/list` once; use task-relevant tools with their returned schemas. Identify candidates with `GetUserTransports` or `ListTransports`; inspect a request with `GetTransport` / `GetTransportInfo`; use `CheckTransportReadiness` to collect transport, dependency, inactive-object, ABAP Unit, and ATC evidence when available. Activate with `Activate` / `ActivateMultiple` only when requested. `CreateTransport` is state-changing and requires explicit authorization. Release and deletion are not available through this addon. Tool names shown in PascalCase (such as `GetSource` or `LintABAP`) are logical names; the live MCP surface exposes them as lowercase snake_case. A server scoped to a single destination (the normal case for generated `mcp.json` entries) exposes them unprefixed, so `GetSource` appears as `get_source` and `LintABAP` as `lint_abap`; when several destinations share one server, each name is destination-prefixed with its slug for disambiguation (for example `cfd_run_query`). Always call the exact names returned by `tools/list`.
package/inventory.md CHANGED
@@ -6,14 +6,14 @@ This inventory reflects the current SAP AI Dev Toolkit proxy behavior in `src/mc
6
6
 
7
7
  | Status | Count | Notes |
8
8
  | --- | ---: | --- |
9
- | Upstream tools | Up to 59 | Curated from the child tool list and exposed in lowercase snake_case, unprefixed (`get_source`) on single-destination servers; a destination slug prefix (`demo-abap_get_source`) appears only when one server fronts multiple destinations. |
9
+ | Upstream tools | Up to 60 | Curated from the child tool list and exposed in lowercase snake_case, unprefixed (`get_source`) on single-destination servers; a destination slug prefix (`demo-abap_get_source`) appears only when one server fronts multiple destinations. |
10
10
  | Local lint tool | 1 per destination | `LintABAP` analyzes caller-supplied ABAP source in memory; it is exposed publicly as `lint_abap`. |
11
11
  | Workflow tools | Up to 6 per destination | Review/apply change sets, transport evidence, Clean Core release assessment, and read-only RAP regression suites. Some are exposed only when their upstream capabilities are registered. |
12
12
  | Convenience mapping | Dynamic | `GetApplicationLog` maps to the upstream `SAP(action="analyze", type="application_log")` operation when the SAP router is registered. |
13
13
  | Intentionally filtered tools | Dynamic | Destructive, broad-router, trace, and unsupported operations are hidden from direct calls. |
14
14
  | Mode-dependent | Dynamic | Focused/expert mode and backend capabilities determine which tools are registered. |
15
15
 
16
- The maximum fixture surface is 67 tools per destination when expert-mode capabilities and all local workflows are available. Multiple selected destinations create separate MCP servers; this add-on cannot inspect VS Code's aggregate tool budget or per-chat tool binding.
16
+ The maximum fixture surface is 68 tools per destination when expert-mode capabilities and all local workflows are available. Multiple selected destinations create separate MCP servers; this add-on cannot inspect VS Code's aggregate tool budget or per-chat tool binding.
17
17
 
18
18
  ## Known upstream tools
19
19
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sap-ai-dev-toolkit",
3
- "version": "0.9.9908",
3
+ "version": "0.9.9910",
4
4
  "description": "SAP AI development toolkit for BAS, ABAP, RAP, CAP, HANA Cloud, Fiori, UI5, and MCP",
5
5
  "author": "Gurkan Yilmaz",
6
6
  "type": "module",
package/src/mcp-proxy.mjs CHANGED
@@ -78,6 +78,7 @@ export const PUBLIC_VSP_TOOLS = new Set([
78
78
  'ActivateMultiple',
79
79
  'CompareSource',
80
80
  'CreateObject',
81
+ 'CreateTable',
81
82
  'CreateTransport',
82
83
  'DebuggerAttach',
83
84
  'DebuggerDetach',
package/tools.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Curated SAP tools exposed through the BAS proxy
2
2
 
3
- The proxy no longer advertises every tool provided by the SAP runtime. To keep the developer-lifecycle MCP surface manageable, each generated one-destination server exposes a curated set of upstream tools plus local workflow tools (currently 67 tools when all upstream capabilities are registered).
3
+ The proxy no longer advertises every tool provided by the SAP runtime. To keep the developer-lifecycle MCP surface manageable, each generated one-destination server exposes a curated set of upstream tools plus local workflow tools (currently 68 tools when all upstream capabilities are registered).
4
4
 
5
5
  The names below are the logical tool names. Publicly they are exposed in lowercase snake_case without a prefix (`get_table_contents`, `run_query`) because each generated MCP server is scoped to one destination; only when a single server fronts multiple destinations does each name gain its destination slug (`demo-abap_get_table_contents`) to stay unambiguous. BAS/VS Code chat tool references bind only lowercase identifiers, so mixed-case names never reach the model.
6
6
 
@@ -12,6 +12,7 @@ Hidden upstream tools are not directly callable through the proxy. Local workflo
12
12
  - `ActivateMultiple`
13
13
  - `CompareSource`
14
14
  - `CreateObject`
15
+ - `CreateTable`
15
16
  - `CreateTransport`
16
17
  - `DebuggerAttach`
17
18
  - `DebuggerDetach`
@@ -68,6 +69,8 @@ Hidden upstream tools are not directly callable through the proxy. Local workflo
68
69
  - `UnpublishServiceBinding`
69
70
  - `WriteSource`
70
71
 
72
+ `CreateTable` creates a transparent DDIC table, writes its generated DDL source, and activates it. The upstream VSP package and transport mutation checks still apply. Authorization-object creation is not supported by the pinned backend and remains unavailable.
73
+
71
74
  ## Hidden from direct proxy calls
72
75
 
73
76
  Broad/destructive surfaces such as object deletion, SQL trace, arbitrary SAP router calls, transport release/delete, RFC execution, debugger listen/delete-breakpoint helpers, and one-off generator/update helpers are intentionally not advertised by the BAS proxy. UI5 repository writes are hidden too: the ADT filestore only reads UI5 apps, so deploy them with SAP Fiori tools instead.