{"ref":"artifact:andreescocard-hybris-mcp-lite","page":"/artifacts/andreescocard-hybris-mcp-lite","json":"/artifacts/andreescocard-hybris-mcp-lite.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"andreescocard-hybris-mcp-lite","name":"hybris-mcp-lite","artifact_type":"mcp-server","ecosystem":"commerce","domain":"ai-and-agents","origin_ring":"independent","description":{"one_line":"A read-only MCP server that answers questions about a local [SAP Commerce Cloud](external:sap-commerce-cloud) instance by calling HAC, so types, beans, configuration, cronjobs, logs and FlexibleSearch come back in the editor.","short":"Read-only MCP server over a local SAP Commerce Cloud's HAC","what_it_solves":"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.","when_not_to_use":"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."},"links":{"repo":"https://github.com/andreescocard/hybris-mcp-lite"},"identity":{"author":"André Escocard","license":"MIT"},"compat":{"runtimes":["node"]},"provides":[{"capability":"capability:agent-systems-access","what_it_does":"Puts a read-only slice of HAC behind MCP tools, so an agent asks a running SAP Commerce instance about its type system, beans, configuration, cronjobs, logs and FlexibleSearch results instead of a developer opening HAC.","sources":[{"url":"https://raw.githubusercontent.com/andreescocard/hybris-mcp-lite/main/README.md","title":"andreescocard/hybris-mcp-lite — README","checked":"2026-10-09","quote":"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."},{"url":"https://raw.githubusercontent.com/andreescocard/hybris-mcp-lite/main/README.md","title":"andreescocard/hybris-mcp-lite — README, Why","checked":"2026-10-09","quote":"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."}]}],"connects":[{"ref":"external:sap-commerce-cloud","kind":"data","protocols":["http"],"direction":"outbound","for":"Its tools read the type system, Spring beans, configuration properties, cronjob status, the local console log and FlexibleSearch results out of a running instance through the Hybris Administration Console.","sources":[{"url":"https://raw.githubusercontent.com/andreescocard/hybris-mcp-lite/main/README.md","title":"andreescocard/hybris-mcp-lite — README","checked":"2026-10-09","quote":"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."},{"url":"https://raw.githubusercontent.com/andreescocard/hybris-mcp-lite/main/README.md","title":"andreescocard/hybris-mcp-lite — README, Configuration","checked":"2026-10-09","quote":"`HAC_URL` | no | HAC base URL. Default `https://localhost:9002/hac`."}]}],"type_properties":{"runs":{"value":["local-process"],"sources":[{"url":"https://raw.githubusercontent.com/andreescocard/hybris-mcp-lite/main/README.md","title":"andreescocard/hybris-mcp-lite — README, Claude Code","checked":"2026-10-09","quote":"-- node /absolute/path/to/hybris-mcp-lite/dist/index.js"},{"url":"https://raw.githubusercontent.com/andreescocard/hybris-mcp-lite/main/README.md","title":"andreescocard/hybris-mcp-lite — README, Quick start","checked":"2026-10-09","quote":"You need a running local HAC and a HAC user."}]},"read_only":{"value":true,"source":{"url":"https://raw.githubusercontent.com/andreescocard/hybris-mcp-lite/main/README.md","title":"andreescocard/hybris-mcp-lite — README, Safety by design","checked":"2026-10-09","quote":"**Read-only tool set.** There is no Groovy console, ImpEx, SQL, system update, cache clear or reindex tool."}},"guardrails":[{"source":{"url":"https://raw.githubusercontent.com/andreescocard/hybris-mcp-lite/main/README.md","title":"andreescocard/hybris-mcp-lite — README, Local/dev only","checked":"2026-10-09","quote":"**Local/dev only. Not for production.**"}},{"source":{"url":"https://raw.githubusercontent.com/andreescocard/hybris-mcp-lite/main/README.md","title":"andreescocard/hybris-mcp-lite — README, Safety by design","checked":"2026-10-09","quote":"**`commit=false`.** The tools that go through HAC's scripting console always submit with `commit=false`, so HAC rolls back any write."}},{"source":{"url":"https://raw.githubusercontent.com/andreescocard/hybris-mcp-lite/main/README.md","title":"andreescocard/hybris-mcp-lite — README, Safety by design","checked":"2026-10-09","quote":"**Private-host guard.** The server refuses a `HAC_URL` unless the host is localhost, 127.x, ::1, 10.x, 172.16-31.x, 192.168.x, `*.local` or `*.localhost`. `HAC_ALLOW_REMOTE=true` overrides this."}},{"source":{"url":"https://raw.githubusercontent.com/andreescocard/hybris-mcp-lite/main/README.md","title":"andreescocard/hybris-mcp-lite — README, Safety by design","checked":"2026-10-09","quote":"**Config masking.** `config_get` masks values of keys that look like secrets (`pass`, `secret`, `token`, `key`, `credential`)."}},{"source":{"url":"https://raw.githubusercontent.com/andreescocard/hybris-mcp-lite/main/README.md","title":"andreescocard/hybris-mcp-lite — README, Safety by design","checked":"2026-10-09","quote":"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."}},{"source":{"url":"https://raw.githubusercontent.com/andreescocard/hybris-mcp-lite/main/README.md","title":"andreescocard/hybris-mcp-lite — README, Safety by design","checked":"2026-10-09","quote":"**Opt-in insecure TLS.** Certificate checks are only disabled when you set `HAC_INSECURE_TLS=true`."}}]},"provenance":{"discovered_via":[{"source":"source:curator","channel":"handed over for the SAP Commerce door after ADR-0033 reopened the 2026-10-09 decline"}],"first_seen":"2026-10-09"},"history":[{"date":"2026-10-09","field":"entry","from":null,"to":"created","reason":"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."},{"date":"2026-10-09","field":"provides","from":"capability:mcp-servers","to":"capability:agent-systems-access","reason":"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."}],"drafted_with_ai":true,"maintainers":["actor:andreescocard"],"contributors":["actor:andreescocard"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"fair","evidence":"one contributor, personally owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-10, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no COMMERCE release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no COMMERCE release lines in the atlas"},{"label":"Maintainer's CI","tier":"fair","evidence":"no CI configured"}],"practice":[{"label":"Tests","tier":"good","evidence":"1 test file"},{"label":"Docs","tier":"good","evidence":"README 4 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":3,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-24","npm":"not published under this name","stars":3,"forks":0,"open_issues":0,"archived":false,"pushed_at":"2026-10-07","license_spdx":"MIT","org_owned":false,"default_branch":"main","created_at":"2026-10-07T14:05:43Z","open_prs":0,"tree_truncated":false,"test_files":1,"workflows":0,"other_ci":false,"readme_bytes":4450,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2026-10-07","last_commit":"2026-10-07","commits":2,"contributors":1,"readme_path":"README.md","readme_sha":"359f0a5ef9952ef6786ea746651936a460aaf0c4","repo_read":"2026-10-24"},"edges":{"maintainers":[{"ref":"actor:andreescocard","name":"André Escocard","json":"/actors/andreescocard.json"}],"contributors":[{"ref":"actor:andreescocard","name":"André Escocard","json":"/actors/andreescocard.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}