Skip to content

Releases

v1.17.1: stdio flush fix, extension for 1.17

Choose a tag to compare

@netweaver1970 netweaver1970 released this 12 Nov 15:10

Fixes the stdio server exiting before a large last response had been written, so a client could lose it. Attaches the Claude Desktop extension for the 1.17 line: per-user SAP logon on the shared HTTP server, and SQL and table reading opt-in (see v1.17.0).

v1.17.0: per-user SAP logon, SQL tools opt-in

Choose a tag to compare

@netweaver1970 netweaver1970 released this 12 Nov 15:07

Two changes in behaviour, both prompted by SAP's API Policy (v.4.2026a) and its FAQ (v1.3, June 2026). The README now has a section on where this server stands under that policy.

  • SQL and table reading are opt-in. execute_data_query and read_table_contents are off unless you set ABAP_MCP_DATA_TOOLS=1. FAQ question 33 names reading application tables and SQL execution as outside the scope of ADT. 58 tools are on by default.
  • Per-user SAP logon on the shared HTTP server. Set "logon": "per-user" on a connection, and each MCP client logs on with its own SAP user, sent as X-SAP-User and X-SAP-Password headers and held in memory for that session only. Every change in SAP then carries the name of the person who made it. See "Per-user logon on the shared server" in the README.
  • Shared connections in connections.json now need their username and password at startup; before, a missing one only failed at the first logon.

v1.16.4: install via npm, Docker or the Claude Desktop extension

Choose a tag to compare

@netweaver1970 netweaver1970 released this 12 Nov 13:48

Packaging and docs; no tool behaves differently.

  • Install with npm: npx -y -p abap-config-mcp abap-config-mcp-stdio, or npm install -g abap-config-mcp for the shared HTTP server.
  • Docker image on GitHub's registry: ghcr.io/netweaver1970/abap-config-mcp (amd64 and arm64), published for every release from now on.
  • Claude Desktop extension: download abap-config-mcp-1.16.4.mcpb below and open it.
  • The Docker image now includes the engine ABAP that engine_deploy and the customizing tools install into SAP; before, deploying the engine from inside the container failed.
  • The README opens with what the server does and a real dry run.

v1.16.3: dependency fixes, CI and clearer tool choice

Choose a tag to compare

@netweaver1970 netweaver1970 released this 12 Nov 10:38

Maintenance release; no tool behaves differently.

  • Dependencies: npm audit fix clears 13 known vulnerabilities in the runtime dependencies (including qs, proxy-addr and zod) through the lock file. No version range changed.
  • Automation: CI runs typecheck, tests and build on Node 20 and 22 for every push and pull request. CodeQL scans the code, and Dependabot proposes dependency updates weekly.
  • Tests are self-contained: they no longer depend on a local connections.json, which is how CI found they did.
  • Choosing between overlapping tools: the engine tools (engine_deploy, customizing_engine_bootstrap, customizing_engine_cleanup), customizing_plan_change against customizing_apply, and read_table_contents against execute_data_query now say which one to use when.

v1.16.2: tool annotations and clearer tool definitions

Choose a tag to compare

@netweaver1970 netweaver1970 released this 12 Nov 10:26

Tool definitions only; no tool behaves differently.

  • Annotations on every tool. Each of the 60 tools now tells MCP clients whether it is read-only, whether a write can overwrite or remove something, and whether repeating a call changes anything further. Clients use these hints to decide what to confirm with you. One table sets them, checked by hand per tool; a test keeps it in step with the risk tiers.
  • Clearer definitions for 37 tools. The discovery, read, transport, debug and engine tools now say when to use them and which tool to use instead, what they change in SAP, and what they return. Parameter descriptions give ADT URL shapes, request number formats and defaults.

v1.16.1: README tool reference, Docker image

Choose a tag to compare

@netweaver1970 netweaver1970 released this 12 Nov 09:32

Documentation and packaging only; no change to how any tool behaves.

  • README: 60 tools, all documented. The count said 59 and the category table summed to 55. Four served tools had no reference entry: customizing_create, retail_listing, abap_memory_report and engine_deploy. The test count now reads 380.
  • Docker. A Dockerfile for the stdio server. Configure the system with SAP_URL, SAP_USER, SAP_PASSWORD and SAP_CLIENT, or mount a connections.json. Without a system it still starts and lists its tools. See "Run it in Docker" in the README.
  • glama.json names the maintainer for the Glama MCP directory.

v1.16.0: org_copy retest scope, transport_move, transport review

Choose a tag to compare

@netweaver1970 netweaver1970 released this 12 Nov 09:15

The first tagged release. It covers the three versions since the transport review.

v1.16.0: org_copy retest scope

The dry run now lists, with live row counts for source and target:

  • Copied: the tables the SM30 copier takes.
  • Not copied, check these: every customizing table (delivery class C, G or E) with the org key in its key that the copier leaves alone. Tables where the source has rows and the target has none come first: that is the retest list.
  • Not customizing: application and master data keyed on the same field, not copied by design.

A company code's probe completes the customizing part within the request watchdog; re-run with retestScope: "application" to count the application tables.

v1.15.0: transport_move

Move objects or a whole task to another request. Whole objects only (a class moves with its methods, sections and includes), checks on target status, type and client before SAP is called, a warning when the target goes to another system, dependencies on other open requests from the where-used index with the release order, SAP's own test move as the plan, and a check in E071 afterwards.

v1.14.0: transport selection review

  • A new object no longer inherits its package's request lock.
  • A named request that conflicts with SAP's lock is refused, naming the request SAP requires. Nothing is written.
  • A lock is no longer remembered as the default for later work.
  • SAP refusals are recognised by message class and number, not English text.
  • The SCC4 client setting is applied per table: client-dependent or cross-client.
  • The transport memory file is written atomically and never overwritten after a failed read.

Earlier changes: see the commit history.