~/yunemregul/blog/hac-mcp
githublinkedin
·2 min read·#featured#mcp#claude#sap#hybris#java

hac-mcp: Talking to SAP Commerce Through Claude

An MCP server that exposes SAP Commerce's Hybris Administration Console to Claude with per-environment permissions. FlexibleSearch, ImpEx, Groovy, and CronJobs become a conversation instead of a dozen browser tabs.

npm versionnpm downloadsLicense MIT + Commons ClauseNode.js >= 18

I work on SAP Commerce, and most of my day ends up in the Hybris Administration Console running FlexibleSearch queries, ImpEx imports, and Groovy scripts. I built hac-mcp so Claude can drive HAC directly, with per-environment permissions I set once.

It is a Model Context Protocol server that logs into HAC with the credentials I already use. No platform changes, no custom endpoints. The AI only gets the operations I explicitly allow on the environment it is talking to.

$What it exposes

  • flexible_searchrun FlexibleSearch queries and get structured results back
  • impex_importvalidate and execute ImpEx, with mandatory-field checks before the import runs
  • groovy_executerun Groovy against the platform, with a separate flag for commit mode
  • type toolssearch types, inspect attributes and relationships, resolve opaque PKs
  • media + cronjobsread and write text media, list CronJobs, run one synchronously

$The safety model

Every environment carries its own permission flags.allowImpexImport, allowGroovyExecution, andallowGroovyCommitMode are off by default, so production stays read-only unless I deliberately unlock it.

The AI can only do what the environment config says it can do. If production has commit-mode Groovy turned off, nothing the model says or does changes that.

$Self-correcting queries

When a FlexSearch fails on an unknown field, the server returns the valid field names alongside the error. The model fixes the query and retries. Same for ImpEx: mandatory fields are checked up front, and post-import attribute errors come back with the valid field list attached.

$What it looks like in practice

  • cross-env diffInspect the PromotionRule with code SUMMER25 in staging and recreate it in my local environment.
  • fix my impexMy ImpEx is failing on staging, check the actual values in production and fill in the correct ones.
  • triageFind all orders stuck in WAIT status for more than 3 days in production and give me a summary.
  • gated groovyWrite a Groovy script to do X and run it on local first. If it works I will approve it for staging.

>>Try it

Run npx hac-mcp, open http://localhost:18432to add an environment, then point your MCP client at/mcp/sse.

yunusemregul/hac-mcp

MCP server for SAP Commerce Cloud's Hybris Administration Console. FlexibleSearch, ImpEx, Groovy, and CronJob tools with per-environment permissions. Issues and PRs welcome.

JavaScriptMIT + Commons Clausegithub.com ↗
31views0claps
0

$ cat comments/

no comments yet. be the first.

comments are reviewed before they appear.