Skip to main content
Glama
Coaspe

sap-abap-mcp

by Coaspe
README.md
# SAP ABAP MCP

[![npm version](https://img.shields.io/npm/v/%40coaspe%2Fsap-abap-mcp)](https://www.npmjs.com/package/@coaspe/sap-abap-mcp)
[![npm downloads](https://img.shields.io/npm/dw/%40coaspe%2Fsap-abap-mcp)](https://www.npmjs.com/package/@coaspe/sap-abap-mcp)

Connect your AI assistant to an ADT-enabled SAP system to read ABAP, make scoped changes and inspect actual check results.

![SAP ABAP MCP demo](https://raw.githubusercontent.com/Coaspe/sap-abap-mcp/main/assets/demo.gif)

## Quick start

1. Install Node.js 22/24 and connect to your company VPN.
2. Run `npx -y @coaspe/sap-abap-mcp@2.2.0 onboard` (`npx.cmd` on Windows).
3. Verify and save your SAP connection, register your host, then restart the app and verify an actual SAP system read.

| Host | Setup command |
|---|---|
| Claude Code | `npx -y @coaspe/sap-abap-mcp@2.2.0 onboard` |
| Codex | `npx -y @coaspe/sap-abap-mcp@2.2.0 onboard` |
| VS Code | `npx -y @coaspe/sap-abap-mcp@2.2.0 register DEV100 --client vscode --apply` |
| Cursor | `npx -y @coaspe/sap-abap-mcp@2.2.0 register DEV100 --client cursor --apply` |
| Gemini CLI | `npx -y @coaspe/sap-abap-mcp@2.2.0 register DEV100 --client gemini --apply` |
| Claude Desktop | `npx -y @coaspe/sap-abap-mcp@2.2.0 register DEV100 --client claude-desktop --apply` |

Version **2.2.0** includes company CA files, six-host registration and Windows SAP
Logon import. Omit `--apply` to preview a registration; existing entries are
preserved and existing settings files are backed up. Claude Desktop MCPB users
should avoid a duplicate registration. On Windows replace `npx` with `npx.cmd`.

CA profiles use file format version 3 and need 2.2.0 or later. Existing npm
registrations pin their package version: restart alone does not update a 2.1.0
registration. Use [registration doctor and reviewed repair](docs/registration-recovery.md)
to update an existing registration to 2.2.0 before using a CA profile.

See [setup details](docs/setup-and-profiles.md#quick-start-details), including
Linux environment-only credentials and registration recovery.

**2.1.0** fixes noninteractive startup, native macOS credential storage and
registration recovery. Windows DPAPI explicitly loads its native security module
even when Node inherits a PowerShell 7 module path. Bundled npm/npx Windows
launchers are resolved without a shell while preserving custom wrappers. This release also reduces the runtime package. Patched vendor bytes are preserved across Windows
and Unix checkouts. Existing five gateways still reach 120 capabilities.

## Fixes in 2.2.0

Repeated source patches use the same current-source view, preserve literal `$`
sequences and activate after unlock. Transport release supports ADT background
runs; the release also improves RAP response recovery, V4 unpublish errors,
old open-transport discovery, CTS-key object assignment, Dictionary checks and
top-level package creation. See [the eight fixes and validation limits](docs/bugfixes-2026-10-21.ko.md).

These paths have local automated coverage. Live B4D write/release acceptance
has not been established by this release. Older npm 2.1.0 still has the reported
source-patch limitations; upgrading the package and its pinned host registration
is required to use the fixes.

## One existing-object change

Select the existing `sap-change-object` prompt, with the configured `systemId`,
exact Z program/class as `target`, and desired behavior in `goal`. It reuses
source, semantic/public API, dependency, quality and transport features.

Production/read-only policy, package restrictions, transport requirements and
exact-source checks remain enforced. In 2.2.0, source writes
recheck the same current-source view under lock, without an explicit inactive
probe. A changed current version stops the write. Requested activation follows
successful unlock and is skipped on syntax errors. Uncertain
multi-object writes stop with saved/uncertain/unattempted identities; there is
no automatic rollback or atomic-transaction claim. Inspect state before retrying.
Zero tests, unsupported checks and partial findings cannot establish completion.

For a read-only evaluation, keep `readOnly: true` and expose only search,
describe and invoke_read gateways in the host. Do not execute write, activation,
Unit, ATC, debugger or profiling operations during that evaluation.
See [workflow prompts](docs/workflow-prompts.md) and [T1–T5 criteria](docs/abap-task-comparison.md).

## Verified environments and limits

| Scope | Evidence and limit |
|---|---|
| Clean npm tarball, macOS arm64, Node 24 | Eight launch/profile combinations, Unicode/spaces, help, invalid commands and shutdown passed on the reliability candidate |
| macOS Keychain | Actual throwaway legacy-item/UTF-8/9,000-byte storage, renewal and deletion passed |
| Windows read-only field procedure | Owner reports all supplied steps passed without candidate source changes; [sanitized operation records were not supplied](docs/evidence/owner-windows-readonly-report.json) |
| Windows DPAPI / npx.cmd automation | [Windows CI passed](docs/evidence/windows-ci-210.json): native storage/module-shadow regression, bundled launchers and eight installed-tarball protocol cases |
| Native Desktop MCPB / host restart | Standalone bundle checks and an owner's overall field report remain distinct from retained app-level evidence |
| Current 2.x live-SAP acceptance | **not verified** by retained operation-level records; owner-reported read-only completion is recorded separately |
| Historical live SAP / model comparison | 2026-08-05 results are historical; no identical-model T1–T5 completion rate or product ranking is established |

Candidate measurements reduced compressed npm size from 26.29 to 13.33 MB and
installed dependency bytes from 118.89 to 91.81 MB. Three warm protocol sessions
measured 346–351 to 223–239 ms. Cold install was 12.92 to 16.06 seconds; no cold
speed improvement is claimed. See [exact snapshots and limits](docs/evidence/candidate-reliability.json).

## If setup fails

| Symptom | Next action |
|---|---|
| MCP closes immediately | Keep `serve` explicit, especially on 2.0.1; verify Node on the host PATH |
| `SETUP_REQUIRED` | Complete local setup and reconnect; this state is not an accepted SAP installation |
| Removed Node/cache or old registered version | Run [registration doctor and reviewed repair/update](docs/registration-recovery.md) |
| Certificate untrusted / expired / hostname mismatch | Keep verification enabled; use the company CA PEM file or ask the administrator to fix the certificate/URL. See [TLS trust](docs/setup-and-profiles.md#company-ca-and-tls-trust) |
| SAP URL unknown | On Windows use SAP Logon import to find candidate URLs, then check ADT and confirm the endpoint with your administrator |
| SAP authentication/authorization failure | Renew locally or ask the administrator for ADT permission; avoid blind repeated logins |
| Inactive conflict / uncertain write | Read current active/inactive state and reconcile with its owner before resuming |

## Reference and release status

- [Transport `assure` and CI](docs/product-reference.md#transport-change-assurance), [full reference](docs/product-reference.md), [CLI](docs/cli-reference.md), [profiles](docs/setup-and-profiles.md), [changelog](CHANGELOG.md).
- [Evidence index](docs/evidence/index.json), [compatibility](docs/compatibility-matrix.md), [historical live record](docs/live-sap-evidence.md).
- [Roadmap](ROADMAP.md), [adopters](ADOPTERS.md), [distribution](docs/mcp-directory-submissions.md), [2.2.0 release](https://github.com/Coaspe/sap-abap-mcp/releases/tag/v2.2.0).
- [Reliability validation](docs/reliability-2026-10-20.ko.md) and [field procedure](docs/field-acceptance-2026-10-20.ko.md). Checkout manifest version: `2.2.0`.

Normal clients should omit both `--api-version` and `--toolsets`.

## Privacy Policy

[PRIVACY.md](PRIVACY.md): no default remote telemetry. Credentials remain in
OS-protected storage. Feedback exports are voluntary; public adopter names and
quotes require separate explicit permission. Downloads and automated tests do
not establish active users, task success or independent adoption.

TDQS

B3.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct role: search discovers capabilities, describe retrieves schemas/hashes, and the three invoke tools are cleanly separated by effect class (read/write/destructive). An agent can select the right tool based on intent without overlapping functionality.

Naming Consistency5/5

All tools follow the same `sap.capability.<action>` namespace with lowercase and snake_case suffixes. The invoke variants consistently append the effect type, creating a predictable and readable pattern.

Tool Count5/5

Five tools neatly cover the generic capability gateway pattern: discovery, introspection, and execution split by effect class. Each tool earns its place with no redundant or missing meta-operations.

Completeness5/5

The set covers discovery (search), schema retrieval (describe), and execution across all effect classes (read/write/destructive), forming a complete lifecycle for invoking SAP capabilities without obvious dead ends.

Maintenance

ActivityActive
ResponsivenessWithin a week