Repository navigation
Releases
v1.17.1: stdio flush fix, extension for 1.17
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
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_queryandread_table_contentsare off unless you setABAP_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 asX-SAP-UserandX-SAP-Passwordheaders 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.jsonnow need theirusernameandpasswordat startup; before, a missing one only failed at the first logon.
v1.16.4: install via npm, Docker or the Claude Desktop extension
Packaging and docs; no tool behaves differently.
- Install with npm:
npx -y -p abap-config-mcp abap-config-mcp-stdio, ornpm install -g abap-config-mcpfor 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.mcpbbelow and open it. - The Docker image now includes the engine ABAP that
engine_deployand 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
Maintenance release; no tool behaves differently.
- Dependencies:
npm audit fixclears 13 known vulnerabilities in the runtime dependencies (includingqs,proxy-addrandzod) 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_changeagainstcustomizing_apply, andread_table_contentsagainstexecute_data_querynow say which one to use when.
v1.16.2: tool annotations and clearer tool definitions
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
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_reportandengine_deploy. The test count now reads 380. - Docker. A
Dockerfilefor the stdio server. Configure the system withSAP_URL,SAP_USER,SAP_PASSWORDandSAP_CLIENT, or mount aconnections.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
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.