guniweb-sap-mcp 0.4.0 → 0.4.2

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.
Files changed (3) hide show
  1. package/README.md +23 -0
  2. package/dist/index.js +67 -63
  3. package/package.json +2 -1
package/README.md CHANGED
@@ -92,6 +92,8 @@ The demo starts an in-memory OData V2 gateway on localhost (three services with
92
92
  npm install -g guniweb-sap-mcp
93
93
  ```
94
94
 
95
+ Or [run it as a container](#run-as-a-container): `docker run --rm -p 8808:8808 -e SAP_MCP_DEMO=true ghcr.io/guniweb/guniweb-sap-mcp:latest`
96
+
95
97
  ### 2. Configure
96
98
 
97
99
  ```bash
@@ -121,6 +123,27 @@ guniweb-sap-mcp --transport http --port 8808 --allow-write # writes are OFF by
121
123
  guniweb-sap-mcp --transport http --port 8808 --api-key <mcp-key> --webhook-secret <idoc-secret>
122
124
  ```
123
125
 
126
+ ### Run as a container
127
+
128
+ ```bash
129
+ # Look around first — mock S/4HANA inside the container, no SAP system needed
130
+ docker run --rm -p 8808:8808 -e SAP_MCP_DEMO=true ghcr.io/guniweb/guniweb-sap-mcp:latest
131
+
132
+ # Against a real system (pin the version in production)
133
+ docker run -d --name sap-mcp -p 8808:8808 --env-file .env \
134
+ ghcr.io/guniweb/guniweb-sap-mcp:<version>
135
+
136
+ # Flags go straight to the server — writes stay off unless you say so
137
+ docker run -d -p 8808:8808 --env-file .env \
138
+ ghcr.io/guniweb/guniweb-sap-mcp:<version> --allow-write
139
+ ```
140
+
141
+ The image is built **from the published npm package**, not from a second build path — what runs in the container is the artifact you would have installed with `npm install`, so the two cannot drift apart. HTTP transport on port 8808 is the default inside the image (`SAP_MCP_TRANSPORT` / `SAP_MCP_PORT`); it runs as a non-root user, answers a health check on `/healthz`, and is published for `linux/amd64` and `linux/arm64` with build provenance.
142
+
143
+ Not included: **RFC/BAPI**. That path needs the SAP NW RFC SDK, which SAP licenses to customers only and which therefore cannot ship in a public image. Everything else — OData V2/V4, IDoc over HTTP/XML — works. For RFC, install the SDK on the host and run the server from npm ([Setup for SAP ECC](#setup-for-sap-ecc)).
144
+
145
+ A `docker-compose.yml` that puts n8n next to the server is in the repository.
146
+
124
147
  #### Production hardening
125
148
 
126
149
  | Variable / Flag | Default | Description |