hybris-mcp-lite
A read-only MCP server that answers questions about a local SAP Commerce CloudSAP Commerce CloudSAP's commerce platform, once Hybris: a Java platform extended with extensions, ImpEx and its type system, run by SAP as SAP Commerce Cloud, with the composable storefront in front of it. The product behind the SAP Commerce door: what is entered there is the tooling that reaches into or builds on an instance, and the product itself is not an option. instance by calling HAC, so types, beans, configuration, cronjobs, logs and FlexibleSearch come back in the editor.
HAC answers these questions already, across a lot of tabs and forms, and the README's case is that you should not have to leave the editor for them. Seven tools cover the ground it picked: flexible_search, capped at 200 rows and able to return the translated SQL instead; type_info for a type's attributes, deployment table and subtypes; beans_info for a Spring bean's implementation class and aliases; config_get for one property or all of them; logs_tail over the local console log with an optional regex filter; monitoring_info for memory, threads, thread dumps, cache and cluster diagnostics; and cronjob, which lists jobs and reports one's status and can neither trigger nor abort one. It installs as a local Node process registered with a client such as Claude Code or Claude Desktop, reading the HAC URL, a HAC user and password and a path to the console log from the environment. The write side of HAC is not there — no Groovy console, no ImpEx, no SQL, no system update, cache clear or reindex — and the tools that do go through HAC's scripting console submit with commit=false, so HAC rolls back anything they touch.
Facts
Where it sits
Who is behind it
In the atlas: maintains 1, contributes to 1@andreescocardmaintainer
Before choosing this
Conditions
PracticalFunctional boundary
Not for production: the README states local and development instances only, and the server refuses a HAC URL whose host is not private unless HAC_ALLOW_REMOTE=true overrides that guard. Masking applies to config_get only, so logs_tail and monitoring_info output, thread dumps included, is unmasked and may carry sensitive data, and whatever a tool returns goes to the MCP client and its model. Certificate checks are disabled whenever HAC_INSECURE_TLS=true is set, which the README names as typical for local HAC.
PolicySAP API Policy 4.2026a§ 1.1, 1.2, 2.2.2from Agent access to your systemsAn MCP server uses SAP APIs to supply tools, resources or data to an agent.
- § 1.1 Published APIs. Published APIs are made available for the documented purposes identified by SAP, including integration, extensions and data exchange.
- § 1.2 Non-Published APIs. Customer and third-party applications must not access non-published APIs except where documentation permits it or SAP otherwise authorizes it.
- § 2.2.2 AI call sequences and data extraction. Outside SAP-endorsed architectures, data services or expressly identified pathways, the policy prohibits specified agentic API use and systematic or large-scale extraction.
MCP does not replace the API's documented-use boundary. Check that every endpoint is published for the intended use and whether the policy's AI-call or extraction provisions apply to the design.
SAP API Policy 4.2026a →What it declares
Every artifact
- Type
- MCP server
- Origin
- Independently maintained
- Runtime
- Node.js
As an MCP server
- Runs as
- local process
- Read-only
- yesstates it is
- Guardrails
6 quoted from README, Local/dev only show all
Local/dev only. Not for production.
commit=false. The tools that go through HAC's scripting console always submit withcommit=false, so HAC rolls back any write.Private-host guard. The server refuses a
HAC_URLunless the host is localhost, 127.x, ::1, 10.x, 172.16-31.x, 192.168.x,*.localor*.localhost.HAC_ALLOW_REMOTE=trueoverrides this.Config masking.
config_getmasks values of keys that look like secrets (pass,secret,token,key,credential).One caveat: masking applies to
config_getonly. Output fromlogs_tailandmonitoring_info(including thread dumps) is not masked and may contain sensitive data. Anything a tool returns is sent to your MCP client and its model.Opt-in insecure TLS. Certificate checks are only disabled when you set
HAC_INSECURE_TLS=true.
Connections
Giving an AI agent access to the systems you run over MCP
SAP's commerce platform, once Hybris: a Java platform extended with extensions, ImpEx and its type system, run by SAP as SAP Commerce Cloud, with the composable storefront in front of it. The product behind the SAP Commerce door: what is entered there is the tooling that reaches into or builds on an instance, and the product itself is not an option.
Download
Architecture
Download
README
quoted from andreescocard/hybris-mcp-lite under MIT, readhybris-mcp-lite

A read-only MCP server that lets Claude (or any MCP client) look inside a local SAP Commerce (Hybris) instance through HAC, in plain language.
Local/dev only. Not for production.
Why
HAC is useful, but it is a lot of tabs and forms when you just want a quick answer. This server exposes a small set of read-only HAC features as MCP tools, so you can ask about types, beans, config, cronjobs, logs and FlexibleSearch from your editor or chat client and stay where you are.
Example prompts
- "What attributes does Product have, and which of them are localized?"
- "Which cronjobs failed recently?"
- "Show me the value of
catalog.sync.workers." - "Find the 10 most recently modified products in the Staged catalog."
- "Tail the last 200 log lines and show me only the errors."
Tools
| Tool | What it does |
|---|---|
flexible_search | Run a FlexibleSearch query, or translate it to SQL with translate=true. Capped at 200 rows. |
type_info | Attributes, deployment table and subtypes of a type from the type system. |
beans_info | Implementation class and aliases of a Spring bean. |
config_get | Read one property or all properties. Values of keys matching pass/secret/token/key/credential are masked as ****. |
logs_tail | Tail the local console log (1 to 2000 lines), with an optional regex filter. |
monitoring_info | Memory, threads, thread dump, cache or cluster diagnostics. |
cronjob | list cronjobs or get the status of one by code. No trigger or abort. |
Quick start
git clone https://github.com/andreescocard/hybris-mcp-lite.git
cd hybris-mcp-lite
npm install
npm run build
Then register the server with your client. You need a running local HAC and a HAC user.
Claude Code
claude mcp add hybris-hac-lite \
-e HAC_URL=https://localhost:9002/hac -e HAC_USER=admin -e HAC_PASS=... \
-e HAC_INSECURE_TLS=true -e HAC_LOG_PATH=/path/to/console.log \
-- node /absolute/path/to/hybris-mcp-lite/dist/index.js
Claude Desktop
{
"mcpServers": {
"hybris-hac-lite": {
"command": "node",
"args": ["/absolute/path/to/hybris-mcp-lite/dist/index.js"],
"env": {
"HAC_URL": "https://localhost:9002/hac",
"HAC_USER": "admin",
"HAC_PASS": "your-local-password",
"HAC_INSECURE_TLS": "true",
"HAC_LOG_PATH": "/path/to/console.log"
}
}
}
}
Configuration
| Variable | Required | Description |
|---|---|---|
HAC_URL | no | HAC base URL. Default https://localhost:9002/hac. |
HAC_USER | yes | HAC user. |
HAC_PASS | yes | HAC password. |
HAC_LOG_PATH | for logs_tail | Path to the local console log file. |
HAC_TIMEOUT_MS | no | Request timeout in ms. Default 30000. |
HAC_INSECURE_TLS | no | Set to true to accept self-signed certificates (typical for local HAC). Off by default. |
HAC_ALLOW_REMOTE | no | Set to true to allow a HAC_URL that is not a private host. See below. |
Safety by design
- Read-only tool set. There is no Groovy console, ImpEx, SQL, system update, cache clear or reindex tool.
commit=false. The tools that go through HAC's scripting console always submit withcommit=false, so HAC rolls back any write.- Config masking.
config_getmasks values of keys that look like secrets (pass,secret,token,key,credential). - Private-host guard. The server refuses a
HAC_URLunless the host is localhost, 127.x, ::1, 10.x, 172.16-31.x, 192.168.x,*.localor*.localhost.HAC_ALLOW_REMOTE=trueoverrides this. - Opt-in insecure TLS. Certificate checks are only disabled when you set
HAC_INSECURE_TLS=true.
One caveat: masking applies to config_get only. Output from logs_tail and monitoring_info (including thread dumps) is not masked and may contain sensitive data. Anything a tool returns is sent to your MCP client and its model.
Development
npm test # unit tests
npm run smoke # runs every tool against the HAC in your env vars
Disclaimer
Intended for local and development instances only, not for production. Provided as is, with no warranty.
SAP Commerce and Hybris are trademarks of SAP SE. This project is not affiliated with or endorsed by SAP.
License
MIT
Author
André Escocard, LinkedIn.
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
History in the atlas
- Declined on scope earlier the same day, with no door for SAP Commerce, and reopened in data/curation/decisions.json once the product door opened (docs/concepts/product-doors.md, ADR-0033). Written from the repository's own README.
- The concern it answers is reaching into an SAP system from outside, split out of MCP servers on this day; the sentence on the edge is unchanged.
- First seen.
For your agent
- Ref
artifact:andreescocard-hybris-mcp-lite- JSON
- /artifacts/andreescocard-hybris-mcp-lite.json
- MCP
- Connecting an agent