SAP-Commerce-MCP
Provides tools for interacting with SAP Commerce Cloud (Hybris) environments, enabling AI assistants to control and automate site provisioning, B2B organization governance, Drools promotions, Solr indexing, catalog synchronization, and more.
Allows crawling Shopify storefronts to extract product data and generate SAP Commerce Cloud-compatible ImpEx for import into Hybris catalogs.
Allows crawling WooCommerce storefronts to extract product data and generate SAP Commerce Cloud-compatible ImpEx for import into Hybris catalogs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SAP-Commerce-MCPrun a full Solr reindex on my Hybris environment"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SAP Commerce Cloud MCP Server (SAP-Commerce-MCP)
SAP-Commerce-MCP (sap-commerce-mcp) is an enterprise-grade Model Context Protocol (MCP) server that empowers AI assistants (Claude, Antigravity, Cursor, etc.) to directly control, automate, orchestrate, and self-heal SAP Commerce Cloud (Hybris) environments and Headless Composable Storefronts (Spartacus).
Far beyond a basic Hybris Administration Console (HAC) bridge, it functions as a comprehensive Commerce Cloud Copilot with Greenfield site provisioning, B2B organizational governance, Drools promotion engine orchestration, headless Spartacus storefront diagnostics, Solr search indexing, catalog synchronization, and an agentic self-evolution engine.
π Evolution: From hybris-hac-mcp to Enterprise SAP-Commerce-MCP
Why do tool names keep the
hac_*prefix?This project originated as
hybris-hac-mcp, a developer tool focused on executing FlexibleSearch queries and Groovy scripts through the Hybris Administration Console (HAC).In actual enterprise delivery, large-scale customer engagements (such as a Fortune 500 FMCG/Beverage eB2B portal and a Global Medical Device B2B procurement platform) required far more than low-level script execution. They demanded Greenfield site provisioning, B2B organizational approval chain governance, Drools promotion engine compilation, Solr real-time indexing, and headless Spartacus full-stack diagnostics.
Therefore, the project was comprehensively upgraded to
SAP-Commerce-MCP. To ensure 100% backward compatibility with existing AI agents, prompts, and automation skills, all tool names strictly retain theirhac_*prefixes, while their underlying implementations and domain capabilities have evolved into a complete, enterprise-grade Commerce DevOps engine.
flowchart LR
V1["Phase 1: hybris-hac-mcp\n(HAC Script Runner)"] -->|Evolution & Production Validation| V2["Phase 2: SAP-Commerce-MCP\n(Full-Lifecycle Commerce DevOps Engine)"]
subgraph V1_Cap ["Phase 1 Focus"]
direction TB
c1["FlexibleSearch Queries"]
c2["ImpEx Imports"]
c3["Groovy Execution"]
end
subgraph V2_Cap ["Phase 2 Enterprise Capabilities"]
direction TB
d1["Zero-to-One Greenfield Site Scaffolding"]
d2["B2B Organizational Governance & Approval Audit"]
d3["Drools Promotion Engine Rule Orchestration"]
d4["Spartacus Headless Auto-Healing & CORS"]
d5["Solr Indexing & Catalog Sync Platform Ops"]
d6["Knowledge Base & Self-Evolution Engine"]
end
V1 -.-> V1_Cap
V2 -.-> V2_CapRelated MCP server: SAP Commerce MCP Server
π Key Capabilities at a Glance
ποΈ Zero-to-One Greenfield Provisioning: Instant scaffolding of
BaseSite,BaseStore,ProductCatalog(Staged & Online), Content Catalogs, Sync Jobs, Multi-currency, Multi-language (zh_TW,en,zh_CN), and OCC OAuth client credentials.π©Ί Headless Spartacus Doctor & Auto-Healing: Deep diagnostics for Composable Storefronts, detecting CORS whitelist gaps, OCC URL regex mismatches, OAuth client registrations, and CMS online status with one-click automated remediation.
π’ B2B Organization Governance: Automated setup and validation of multi-tiered
B2BUnithierarchies,B2BBudget,B2BCostCenter,B2BOrderThresholdPermissionapproval limits, and demo buyer/approver personas.π·οΈ Drools Promotion Engine Orchestration: Code-free provisioning of B2B/B2C promotion rules (Spend Thresholds, Free Gifts, A+B+C Bundles, and Potential Promotion reminders) with automatic Drools rule compilation and publishing.
β‘ Direct Hybris Runtime Control: Seamless execution of FlexibleSearch queries (rendered as Markdown tables), transactional ImpEx imports with strict validation, and Groovy scripts executed live in the Hybris JVM container.
π Solr Indexing & Platform Ops: In-process full/update Solr reindexing, cronjob monitoring, catalog synchronization, and Hybris Region Cache clearing.
π§ Self-Evolution & Proven Script Library: Built-in script asset manager archiving verified Groovy/ImpEx scripts, domain knowledge base accumulating troubleshooting experience, and self-improving meta-tools.
π’ Field-Tested Enterprise Case Studies
π₯€ Case 1: FMCG Beverage eB2B Ordering Portal (Asia-Pacific Region)
Challenge: Deliver a brand-new eB2B beverage ordering platform with 100+ drink SKUs, 13 product lines, bilingual localization (Traditional Chinese
zh_TWand Englishen), Drools beverage bundle promotions, and an Angular/Spartacus headless storefront.SAP-Commerce-MCP in Action:
hac_scaffold_greenfield_site: Initialized the dedicated BaseSite, dual product catalogs, and OCC OAuth clients in 15 seconds.hac_impex_import: Imported 100+ beverage SKUs with multi-tier wholesale pricing and category mappings.hac_groovy_execute: Bound official product imagery in bulk directly within the Hybris JVM container.hac_promotion_scaffold: Provisioned an A+B+C beverage bundle promo with automatic Drools rule compilation.hac_solr_reindex: Executed full Solr reindexing to immediately expose all products in the search facet index.hac_storefront_autofix: Automatically configured CORS whitelisting and OCC URL patterns for Spartacus on port 4200.
π₯ Case 2: Global Medical Device B2B Multi-Tier Approval & Cost Center Governance
Challenge: Establish an enterprise medical device procurement hierarchy across global branches, enforcing multi-tier cost center budgets and order threshold approvals.
SAP-Commerce-MCP in Action:
hac_b2b_scaffold_org: Created the corporate Root Unit, department-level sub-units (e.g. Radiology, Surgical), designated Cost Centers, and assigned budgets with dual-threshold approval rules.hac_b2b_org_doctor: Instantly analyzed and audited test buyer accounts, validating approval threshold triggers and cost center deduction chains before going live.
ποΈ Architecture Overview
flowchart TD
subgraph AI_Agents ["AI Assistants & IDEs"]
Agent[Claude / Antigravity / Cursor]
end
subgraph MCP_Server ["SAP-Commerce-MCP (sap-commerce-mcp)"]
Server[MCP Server Core - JSON-RPC Stdio]
HAC[HAC HTTP Client & CSRF Handler]
SSO[Corporate SSO Authenticator]
Scaffolder[Site & CMS Scaffolder]
Doctor[Spartacus Doctor & AutoFix]
B2B[B2B Org Governance]
Promo[Drools Promotion Engine]
Solr[Solr & Platform Ops]
Crawler[Storefront Ingestion]
SelfEvolve[Self-Evolution & Script Library]
end
subgraph Target_Environments ["SAP Commerce Cloud Ecosystem"]
HybrisJVM["SAP Commerce Cloud (CCL 2211 / CCv2)\n- HAC & Web Services (OCC)\n- Drools Rule Engine\n- Solr Search Engine"]
Storefront["Composable Storefront (Spartacus)\nAngular / SSR on Node.js"]
end
Agent <-->|MCP Protocol (JSON-RPC)| Server
Server --> HAC
Server --> SSO
Server --> Scaffolder
Server --> Doctor
Server --> B2B
Server --> Promo
Server --> Solr
Server --> Crawler
Server --> SelfEvolve
HAC <-->|HTTPS / Session / CSRF| HybrisJVM
Doctor <-->|REST / DOM Probe| Storefrontπ οΈ Complete Tool Suite (27 Tools)
1. HAC Core Runtime & Authentication (6 Tools)
Tool Name | Key Parameters | Description |
|
| Dynamically configures the target Commerce Cloud instance URL, credentials, and session cache path. |
| (None) | Checks connection health, active credentials, session validity, and CSRF token status. |
| (None) | Launches an interactive browser session to handle corporate SSO (SAP Identity / Microsoft Entra) and caches the session cookie. |
|
| Executes FlexibleSearch queries and formats tabular output directly into Markdown. |
|
| Imports ImpEx scripts with strict/relaxed validation and detailed error reporting. |
|
| Executes Groovy scripts directly inside the Commerce Cloud JVM container. |
2. Greenfield Site Provisioning & CMS Orchestration (4 Tools)
Tool Name | Key Parameters | Description |
|
| Fully automates new site creation: BaseSite, BaseStore, Catalogs (Staged & Online), Sync Jobs, Currencies, Languages, OCC URL regex, and trusted OAuth clients. |
| (None) | Lists all configured |
|
| Scaffolds responsive homepage CMS structures (banners, carousels, responsive navigation nodes). |
|
| Generates or writes ready-to-use Spartacus |
3. Headless Spartacus Diagnostics & Auto-Healing (2 Tools)
Tool Name | Key Parameters | Description |
|
| Comprehensive headless storefront health check: BaseSite existence, OCC URL regex patterns, CORS allowed origins, OAuth client registration, and Homepage CMS status. |
|
| Automatically remediates identified Spartacus/OCC bottlenecks (CORS whitelisting, OAuth registration, staged-to-online CMS publishing). |
4. B2B Organization Hierarchy & Governance (2 Tools)
Tool Name | Key Parameters | Description |
|
| Scaffolds enterprise B2B customer hierarchy: Root Unit, sub-departments, Cost Centers, Budgets, Approval Thresholds, and Buyer/Approver demo accounts. |
|
| In-depth audit of a B2B user: Unit hierarchy, assigned cost centers, approval chains, user groups, and checkout authorizations. |
5. Drools Promotion Engine Orchestration (2 Tools)
Tool Name | Key Parameters | Description |
|
| Automates Drools promotion rules: Order Total Threshold discounts, Buy X Get Y Free Gifts, Multi-Product Bundles (A+B+C), and Potential Promotion reminders. |
|
| Lists and filters active |
6. Solr Search, Catalog Sync & Platform Ops (5 Tools)
Tool Name | Key Parameters | Description |
|
| Triggers in-process full or incremental Solr reindexing for target facet search configurations. |
|
| Queries the status and duration of running Solr indexer cronjobs. |
|
| Triggers catalog version synchronization jobs ( |
| (None) | Clears the Hybris Region Cache in memory. |
|
| Audits localization completeness across product catalogs (detects missing translations in |
7. External Ingestion, Script Library & Self-Evolution (6 Tools)
Tool Name | Key Parameters | Description |
|
| Crawls external e-commerce sites (Shopify, WooCommerce, Magento) to extract products and generate Hybris-compatible ImpEx. |
|
| Browses the local repository of proven, verified Groovy and ImpEx scripts. |
|
| Retrieves the full content of an archived script by identifier. |
| (None) | Performs self-diagnostics on the MCP server itself (module health, script library count, knowledge base rules). |
|
| Enhances server capability and internalizes new operational tools. |
|
| Persists domain knowledge, error patterns, and troubleshooting rules into |
π 10-Second Quick Start
Thanks to modern Python packaging with pyproject.toml, you do not need to manually clone, build, or configure Python virtual environments. You can run the server directly via uvx.
Method 1: Zero-Install with uvx (Recommended)
Option A: One-line setup with Claude CLI
claude mcp add sap-commerce-mcp -- uvx --from git+https://github.com/chriszhangrui/sap-commerce-mcp.git sap-commerce-mcpOption B: Configure in Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"sap-commerce-mcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/chriszhangrui/sap-commerce-mcp.git",
"sap-commerce-mcp"
],
"env": {
"HAC_URL": "https://localhost:9002",
"HAC_USER": "admin",
"HAC_PASS": "nimda"
}
}
}
}Option C: Configure in Antigravity / Gemini CLI (mcp_config.json)
{
"mcpServers": {
"sap-commerce-mcp": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/chriszhangrui/sap-commerce-mcp.git",
"sap-commerce-mcp"
]
}
}
}Method 2: Local Development / Manual Git Clone
For local MCP development or custom script additions:
# 1. Clone repo
git clone https://github.com/chriszhangrui/sap-commerce-mcp.git
cd sap-commerce-mcp
# 2. Create and activate venv
python3 -m venv venv
source venv/bin/activate
# 3. Install in editable mode
pip install -e .
# 4. Run test suite
python test_server.pyExpected verification output:
β Initialize: sap-commerce-mcp
β Registered tools count: 27
β Self-Diagnose Preview: π’ ζ ΈεΏζ¨‘εε
¨ι¨ζ£εΈΈε°±η»ͺ
...
π ALL 27 MCP TOOLS OPERATIONAL & VERIFIED OVER JSON-RPC STDIO!π‘ Example Prompt Scenarios
Once connected, your AI assistant can execute complex Commerce tasks directly from natural language:
Scenario 1: Greenfield B2B Storefront Scaffolding
"Scaffold a new B2B site called
apac-beverageswith currency HKD and USD, languages zh_TW and en, link it to powertools catalogs, and verify Spartacus headless readiness."
Scenario 2: Drools Promotion Orchestration
"Create an A+B+C sparkling beverage bundle promotion in the powertoolsPromoGrp module: when a customer buys Coke, Sprite, and Fanta together, gift them 1 case of Monster Energy. Ensure the message is localized in English and Traditional Chinese."
Scenario 3: B2B Organization & Approval Flow Diagnosis
"Run an audit on B2B buyer
buyer.medtech_global@demo.com. Why is their checkout order being held for approval? Check their cost center and approval threshold."
Scenario 4: Live Data Inspection
"Execute a FlexibleSearch to list the top 10 products in powertoolsProductCatalog Online version ordered by creation time."
π Best Practices & Troubleshooting
Accumulated from field engagements and embedded in knowledge_base.json:
CSRF Token Handling: Commerce Cloud 2211 requires strict CSRF verification for all POST requests.
SAP-Commerce-MCPautomatically fetches and refreshes CSRF tokens alongside session cookies on every request.Drools Promotion Publication: After creating a
PromotionSourceRule, it must be compiled into a runtime rule.hac_promotion_scaffoldtriggers the Promotion Engine compilation job automatically.Solr Index Updates: After bulk-updating product categories or imagery via Groovy/ImpEx, always invoke
hac_solr_reindex(full_reindex=False)to synchronize search facets without server restarts.Spartacus CORS & OCC URL Mismatches: When Spartacus fails to load products, run
hac_spartacus_doctorfirst. 90% of issues stem from missing origins incorsfilter.commercewebservices.allowedOriginsor mismatchedurlEncodingAttributes. Usehac_storefront_autofixfor immediate resolution.
π License
This project is licensed under the MIT License - see the LICENSE file for details.
Available Tools
27 toolshac_b2b_org_doctorC
Diagnoses a B2B user's organizational context (Unit, Cost Center, Budget, Approvers, Permissions) with language-aligned output.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | zh | |
| user_uid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses language-aligned output, but says nothing about whether it is read-only, what permissions are needed, whether it mutates state, or how it handles a user with no org context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the purpose front-loaded and no wasted words. Sizing is appropriate for the amount of information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema relieves the need to explain return values, but with no annotations and 0% parameter coverage the definition leaves too much unspecified for a diagnostic tool. When-to-use and parameter meaning are the notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It only obliquely explains the 'lang' parameter via 'language-aligned output'; 'user_uid' is never described and no format or defaults are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Diagnoses') and resource ('B2B user's organizational context') and enumerates the inspected facets (Unit, Cost Center, Budget, Approvers, Permissions). Clear enough to distinguish from siblings like hac_b2b_scaffold_org, though it does not explicitly contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives such as hac_b2b_scaffold_org or hac_spartacus_doctor, and no prerequisites or exclusions. The word 'Diagnoses' only implies a troubleshooting posture.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_b2b_scaffold_orgC
Scaffolds a complete, realistic B2B organization hierarchy with units, cost centers, budgets, permissions, and demo users.
| Name | Required | Description | Default |
|---|---|---|---|
| currency | No | USD | |
| languages | No | ||
| sub_units | No | ||
| buyer_name | No | ||
| buyer_email | No | ||
| root_unit_id | Yes | ||
| approver_name | No | ||
| approver_email | No | ||
| monthly_budget | No | ||
| root_unit_name | Yes | ||
| default_password | No | nimda | |
| approval_threshold | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It mentions demo users and implies mutation, but does not disclose side effects, auth requirements, idempotency, or whether existing hierarchy data is overwritten.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It is appropriately sized for a high-level summary, even though the tool is complex.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter mutating scaffold tool with no annotations and 0% schema description coverage, the one-sentence description is too sparse. It does not cover required parameters, defaults, side effects, or operational constraints, though the output schema reduces the need to explain return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 12 parameters. The description loosely maps to some categories (units, budgets, permissions, demo users) but does not explain required parameters, sub_units format, buyer/approver fields, default_password, or approval_threshold.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Scaffolds') and names the resource ('B2B organization hierarchy') plus the main components it creates. It is clear what the tool does, though it does not explicitly distinguish itself from sibling tools such as hac_b2b_org_doctor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The description only states what it creates, leaving usage context entirely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_cache_clearA
Clears the Hybris Region Cache in real time to ensure modified data and CMS pages reflect immediately.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the operation is performed in real time and affects cache state, but does not mention permission requirements, side effects, reversibility, or performance impact of a cache clear, which are important for a mutation-like operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that clearly states the action and its benefit. No wasted words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, cache-clearing tool with an output schema (so return values need not be explained), the description gives enough context to understand the tool's purpose and immediate effect. However, it could mention when to invoke it (e.g., after content changes) or any prerequisites, which would better complete the picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema description coverage (which is trivially true for an empty schema), the baseline is 4. There are no parameters to describe, and the description correctly does not add unnecessary parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (clears) and resource (Hybris Region Cache) plus the effect (modified data and CMS pages reflect immediately). Clear enough to distinguish from siblings like hac_solr_reindex, though it doesn't explicitly name which alternative to use for related cache-related operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does and why (to reflect modified data), which implies a usage context, but it does not state when to use this tool versus alternatives like hac_solr_reindex or hac_catalog_sync, nor does it specify prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_catalog_syncC
Triggers synchronization from source catalog version to target catalog version.
| Name | Required | Description | Default |
|---|---|---|---|
| catalog_id | Yes | ||
| source_version | No | Staged | |
| target_version | No | Online |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says it 'triggers' synchronization but does not disclose whether the target version is overwritten (destructive), whether the operation is async/long-running, what permissions are required, or whether it is reversible. With the default target being 'Online', the destructive implication is left entirely unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity is partly the source of the specification gaps rather than pure discipline.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a mutation tool with zero annotations and zero schema coverage the description is too thin. It omits destructive/async behavior and parameter meaning that an agent needs before invoking it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all three parameters. It only loosely maps to source_version and target_version and says nothing about catalog_id, the default values 'Staged'/'Online', or accepted version values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Triggers synchronization') and resource ('catalog version'), and even specifies the direction from source to target. It is clear what the tool does, but it makes no attempt to distinguish itself from siblings like hac_impex_import or hac_solr_reindex.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no alternatives are named. The agent must infer that this is for content/catalog version promotion, with no help deciding between this and other synchronization-ish siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_check_i18n_completenessC
Scans for missing localized names/descriptions in target languages.
| Name | Required | Description | Default |
|---|---|---|---|
| item_type | No | Product | |
| languages | No | ||
| catalog_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It never states whether the scan is read-only, whether it requires a synced/configured catalog, how large a scan it triggers, or what kinds of gaps it flags β for a 3-parameter tool with zero annotation coverage this is a substantial gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or redundancy. It is efficient, though arguably terse given the documentation debt elsewhere in the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, with 0% schema description coverage on three parameters and no annotations, the definition leaves an agent without enough information to select scoping values or understand the tool's side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for three undocumented parameters. It only loosely gestures at 'languages' (via 'target languages') and says nothing about 'item_type' (defaults to Product) or 'catalog_id', leaving most parameter semantics unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Scans for') and a specific resource ('missing localized names/descriptions in target languages'), so an agent knows exactly what the tool produces. It does not need to distinguish itself from siblings, since none of the listed hac_* tools overlap with i18n completeness checking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use context, no prerequisites (e.g. a synced catalog), and no alternatives or exclusions. Usage is only implied by the tool name and the phrase 'in target languages'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_configureC
Configures the target SAP Commerce HAC instance and credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | ||
| password | No | nimda | |
| username | No | admin | |
| sso_storage_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a mutation of target settings and credentials, but says nothing about persistence, required permissions, what happens to previously configured values, or whether existing configuration is overwritten, leaving side effects undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded and contains no filler, which is structurally sound. However, it is undersized rather than appropriately concise for a four-parameter configuration tool, leaving too much unspecified for the brevity to be considered earned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But for a configuration/mutation tool with no annotations, zero parameter descriptions, and a prerequisite role in the sibling ecosystem, the description omits essential context such as when it is required and what it changes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across all four parameters, so the description must compensate and largely does not. It conceptually covers host and username/password via 'instance and credentials,' but never mentions sso_storage_path or clarifies expected host format, credential handling, or the default admin/nimda values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (configures) and resource (SAP Commerce HAC instance and credentials), so an agent knows this tool establishes connection/target settings. It does not differentiate itself from siblings like hac_sso_login or hac_status, which also touch authentication state, leaving some ambiguity about which one to call when.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives is provided. It does not say whether it must be called before other hac_* tools, whether it persists across sessions, or how it relates to hac_sso_login, which is a clear gap given the number of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_flexsearchC
Executes a FlexibleSearch SQL query on the SAP Commerce database.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | ||
| query | Yes | ||
| max_count | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, yet it discloses no behavioral traits: whether FlexibleSearch is read-only, whether writes are possible, whether permissions or SSO are required, or how result limits behave. It only restates the operation itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler or redundancy. It is efficient, though its brevity is partly a symptom of missing content rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but the description still leaves critical gaps: no annotations, no parameter documentation, no usage guidance for a query-execution tool that could otherwise be confused with hac_groovy_execute. It is under-specified for a 3-parameter, potentially powerful operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so all three parameters (host, query, max_count) are undocumented in structured data. The description only obliquely implies that 'query' holds FlexibleSearch syntax; it says nothing about host defaults or what max_count controls.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (Executes) and resource (a FlexibleSearch SQL query against the SAP Commerce database), so an agent knows exactly what the tool does. It does not, however, distinguish this from adjacent siblings such as hac_groovy_execute, which could plausibly also run queries or arbitrary code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives (e.g. hac_groovy_execute, hac_impex_import), no prerequisites, and no mention of host selection or environment targeting. Usage context is left entirely to inference from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_groovy_executeC
Executes a Groovy script in the HAC Scripting Console. Automatically archives successful scripts to script library.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | ||
| commit | No | ||
| script | No | ||
| file_path | No | ||
| client_name | No | ||
| archive_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses one useful trait (successful scripts are auto-archived), but omits that commit defaults to true (a mutation/commit side effect), what happens on script failure, and any auth/permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and followed by the side-effect. Nothing is padded, though brevity comes at the cost of missing detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but for a 6-parameter, zero-annotation mutation tool the description leaves major gaps: input selection between script/file_path, the commit default, and failure semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Six parameters with 0% schema description coverage, and the description names none of them. Critically it does not explain the relationship between 'script' and 'file_path' (likely mutually exclusive inputs) or the meaning of 'commit', 'client_name', or 'archive_name'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Executes') and resource ('Groovy script') plus the execution context ('HAC Scripting Console'). No sibling covers Groovy execution, so differentiation is not needed, but the description does not tie itself to any of the hac_* siblings either.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of prerequisites or alternatives among the many hac_* tools. The agent must infer that this is the escape hatch for arbitrary scripting.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_impex_importC
Imports an ImpEx script into the SAP Commerce instance. Automatically archives successful scripts to script library.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | ||
| file_path | No | ||
| client_name | No | ||
| legacy_mode | No | ||
| max_threads | No | ||
| archive_name | No | ||
| script_content | No | ||
| validation_enum | No | IMPORT_STRICT | |
| enable_code_execution | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It helpfully discloses one side effect (successful scripts are auto-archived to the script library), but says nothing about failure behavior, that code execution is enabled by default, that strict validation is default, or what the import mutates in the instance.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action followed by the side-effect note. Every sentence earns its place, though the second sentence is the only added value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter import tool with no annotations and no parameter documentation, the description is far too thin. The presence of an output schema relieves it of explaining return values, but the mutation, default options, and prerequisite context remain unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters, and the description mentions none of them. Parameters like file_path, script_content, validation_enum, enable_code_execution, and max_threads are entirely undocumented, leaving the description no compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Imports) and resource (an ImpEx script into the SAP Commerce instance), which is clear and actionable. It does not name or differentiate against any sibling such as hac_groovy_execute or hac_library_get, but the purpose is unambiguous on its own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The only contextual statement is about archiving, which is a behavior rather than a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_ingest_external_storefrontA
Crawls an external storefront (Shopify, WooCommerce, Magento, or any public e-commerce site), extracts product catalog structure, product names, descriptions, prices, images, and attributes, normalizes them into SAP Commerce ImpEx format, imports them into the target ProductCatalog, syncs to Online, and reindexes Solr.
This is STEP 2 of the zero-to-live pipeline (automatically invoked after hac_scaffold_greenfield_site when the user provides a source_url).
After this tool completes, the agent should continue with:
hac_catalog_sync (if sync_online=False was set)
hac_solr_reindex (if reindex_solr=False was set)
hac_spartacus_doctor + hac_storefront_autofix (headless self-healing)
Args: site_url: The customer's existing website URL to crawl (e.g. 'https://shop.example.com') catalog_id: Target ProductCatalog ID to import products into max_products: Maximum number of products to extract (default 20) convert_to_b2b_cases: Convert product models to B2B unit-of-measure (cases/pallets) target_currency: Currency code for imported prices sync_online: Auto-sync StagedβOnline after import (default True) reindex_solr: Auto-trigger full Solr reindex after import (default True)
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| catalog_id | Yes | ||
| sync_online | No | ||
| max_products | No | ||
| reindex_solr | No | ||
| target_currency | No | USD | |
| convert_to_b2b_cases | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden and does well: it names the irreversible side effects (import into target ProductCatalog, sync to Online, full Solr reindex) and states which steps auto-run versus which require follow-up. It omits permission/auth requirements and what happens to pre-existing catalog contents on import (overwrite vs merge), so it falls short of complete behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action, then splits pipeline context, follow-ups, and args into clearly separated blocks. It is appropriately sized for a complex orchestration tool, though the Args section restates defaults already present in the schema, adding mild redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter orchestration tool with no annotations, the description covers pipeline position, side effects, follow-up routing, and every parameter. An output schema exists so return values need not be explained. The only real gap is failure/error behavior and auth prerequisites, leaving it just short of fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: all 7 parameters are documented with meaning and defaults (max_products default 20, sync_online/reindex_solr default True, target_currency default USD, convert_to_b2b_cases explained as cases/pallets, site_url with a format example). It stops short of 5 because catalog_id is described only as 'Target ProductCatalog ID' with no format/validity guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb chain against a specific resource: crawl an external storefront (naming Shopify, WooCommerce, Magento), extract product data, normalize to ImpEx, import to ProductCatalog, sync, and reindex. An agent can immediately distinguish this from siblings like hac_catalog_sync or hac_impex_import because the full extract-transform-load scope is spelled out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly positions itself as 'STEP 2 of the zero-to-live pipeline', names the prerequisite (hac_scaffold_greenfield_site) and the trigger condition (user provides a source_url), and enumerates the exact follow-up tools to invoke under specific conditions (hac_catalog_sync when sync_online=False, hac_solr_reindex when reindex_solr=False, hac_spartacus_doctor + hac_storefront_autofix). Routing is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_library_getB
Retrieves the complete content and metadata of a verified script from the unified script library.
Args: script_id: Unique identifier of the script (e.g. 'impex_20260911_115440_b2b_org_medical_mindray')
| Name | Required | Description | Default |
|---|---|---|---|
| script_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the burden. It discloses that the full content plus metadata is returned and that only verified scripts qualify, which is useful, but it says nothing about auth requirements, behavior on an unknown/unverified script_id, or size/rate characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded single sentence followed by a short Args block; no filler. The Args section slightly duplicates the schema but the embedded example earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity single-parameter read with an output schema already present, the description covers purpose and an ID example adequately. The main residual gap is not pointing the agent to hac_library_list as the source of valid script_ids.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% β the property is only titled 'Script Id' with no description β so the description must compensate. It does so by supplying a concrete example identifier format ('impex_20260911_115440_b2b_org_medical_mindray'), which tells the agent what a valid value looks like, though it still doesn't say where to obtain one.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Retrieves) and resource (verified script from the unified script library), plus the scope of what comes back (complete content and metadata). It is distinguishable from the sibling hac_library_list by the singular 'get' framing, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of when to prefer this over hac_library_list, and no prerequisites such as needing a script_id from a prior listing call. 'verified script' hints at a constraint but the agent is left to infer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_library_listB
Lists and searches verified successful scripts (ImpEx and Groovy) stored in the unified script library.
Args: script_type: Filter by 'impex' or 'groovy' (optional) category: Filter by category (e.g. 'b2b_organization', 'search_solr', 'cache_ops') client: Filter by customer/client name (optional) query: Search keyword across script names, tags, descriptions (optional)
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| client | No | ||
| category | No | ||
| script_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Verified successful' hints at curation, but it never states that this is a read-only operation, whether results are paginated or capped, or how many scripts a filterless call returns β all material for a listing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence states the tool's scope, followed by a compact Args block with no redundant prose. Slightly repetitive of parameter names, but each line adds a filter semantic rather than restating the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape details are correctly omitted, and the filter set is fully enumerated. Still missing for a list/search tool: default behavior with no filters, result ordering, and any limit on the number of scripts returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the Args block documents all four parameters with concrete values ('impex'/'groovy' for script_type, example categories like 'b2b_organization', 'search_solr') and explains that query spans script names, tags, and descriptions. That is real added meaning over the bare schema, though it omits match behavior (substring vs fuzzy) and whether filters AND together.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair ('Lists and searches') and a precise resource ('verified successful scripts (ImpEx and Groovy) stored in the unified script library'). The 'verified successful' qualifier meaningfully narrows what the library contains, though it never names sibling hac_library_get as the fetch-one alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use statement, no when-not, and no alternative tool named despite a directly adjacent sibling (hac_library_get) for retrieving a single script. The filters imply a browse/discover workflow, but that must be inferred rather than read.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_promotion_listB
Lists and monitors active and draft PromotionSourceRules in SAP Commerce Cloud.
Args: promo_group: Filter by PromotionGroup identifier (optional) status: Filter by status ('PUBLISHED', 'UNPUBLISHED', 'MODIFIED', 'ALL') lang: Output language ('zh' or 'en')
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | zh | |
| status | No | ||
| promo_group | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden for this listing tool. It never states the operation is read-only, doesn't mention pagination, result limits, or permission requirements, and the word 'monitors' is left unexplained. Beyond naming the resource and filters, no runtime behavior is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded in a single clean line, followed by an Args block that documents each parameter without filler. Blank lines add minor noise but no meaningful bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter read tool with an output schema (so return values needn't be explained), the definition covers purpose and all three parameters adequately. It only misses minor operational details like pagination and what 'monitors' entails.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate and largely does: it names all three parameters and supplies the enumerated values for status ('PUBLISHED', 'UNPUBLISHED', 'MODIFIED', 'ALL') and lang ('zh' or 'en') that the schema lacks entirely. Only promo_group is described minimally as a PromotionGroup identifier.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Lists and monitors') and resource ('PromotionSourceRules in SAP Commerce Cloud'), which is clearly distinguishable from the sibling hac_promotion_scaffold. It does not explicitly name an alternative, but the listing verb makes the intent unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, nor any named alternative. However, the phrase 'active and draft' plus the status filter values (PUBLISHED/UNPUBLISHED/MODIFIED/ALL) imply the monitoring/inspection use case well enough for an agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_promotion_scaffoldA
Scaffolds, configures, and publishes a PromotionSourceRule in the SAP Commerce Drools Rule Engine.
Args: rule_code: Unique code for the promotion rule (e.g. 'promo_summer_sale_100') name: Business title/name of the promotion promo_type: Promotion pattern: - 'ORDER_THRESHOLD_DISCOUNT': Order threshold discount (spend X get fixed discount or percentage off) - 'ORDER_THRESHOLD_FREE_GIFT': Spend X get free gift SKU - 'BUNDLE_FREE_GIFT': Multi-product bundle (A+B+C) gets free gift - 'PRODUCT_DISCOUNT': Specific product percentage or fixed discount - 'POTENTIAL_MESSAGE': Upsell hint when cart has not reached threshold threshold_amount: Minimum cart total threshold (e.g. 500.0) currency: Currency code (e.g. 'USD', 'CNY', 'HKD', 'EUR') discount_amount: Fixed discount amount (e.g. 50.0) discount_percentage: Percentage discount (e.g. 10.0 for 10% off) qualifying_products: List of qualifying product codes (SKUs) gift_product: SKU of the free gift product gift_quantity: Quantity of the free gift product (default 1) target_rule_code: Target rule code to check execution for POTENTIAL_MESSAGE message_fired: User notification message when promotion executes promo_group: Target PromotionGroup identifier (default 'powertoolsPromoGrp') priority: Rule execution priority (default 150) compile_immediately: If True, triggers Drools rules-module compilation immediately (default True) lang: Output language ('zh' for Chinese, 'en' for English)
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | zh | |
| name | Yes | ||
| currency | No | USD | |
| priority | No | ||
| rule_code | Yes | ||
| promo_type | No | ORDER_THRESHOLD_DISCOUNT | |
| description | No | ||
| promo_group | No | powertoolsPromoGrp | |
| gift_product | No | ||
| gift_quantity | No | ||
| message_fired | No | ||
| discount_amount | No | ||
| target_rule_code | No | ||
| threshold_amount | No | ||
| compile_immediately | No | ||
| discount_percentage | No | ||
| qualifying_products | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose a meaningful behavioral trait β compile_immediately 'triggers Drools rules-module compilation immediately' β and 'publishes' signals a mutating write with live side effects. But it omits permissions/auth requirements, reversibility, and whether publishing affects the running storefront, so disclosure is only partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and each parameter line carries distinct, useful information rather than restating the schema. The block is long but most lines earn their place; a few examples (currency codes) are slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-parameter mutation tool the description is nearly complete for invocation: params are well covered and an output schema exists so return values needn't be explained. It falls short only on usage context, prerequisites, and the blast radius of the publish step, which an agent would need before calling it blindly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does: it documents 16 of 17 parameters with types, units, examples, and defaults, and crucially defines the promo_type patterns that the schema leaves as an undescribed free string. Only the 'description' parameter is undocumented in the Args list, a minor gap against otherwise excellent compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific set of verbs and a concrete resource: 'Scaffolds, configures, and publishes a PromotionSourceRule in the SAP Commerce Drools Rule Engine.' An agent immediately knows this creates promotion rules. However, it never names or distinguishes itself from the obvious sibling hac_promotion_list, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives such as hac_promotion_list for reading promotions versus this tool for creating them. The promo_type breakdown explains what each mode does but not when an agent should pick this tool at all, nor any prerequisite (e.g. whether hac_sso_login is required first).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_record_learningA
Records a newly discovered error pattern, solution, or best practice into the MCP's persistent knowledge base.
Args: pattern_name: Short title for the rule/pattern (e.g. 'B2BCostCenter Type Code') problem: Description of the obstacle, error, or symptom encountered solution: Exact fix, workaround, or ImpEx/Groovy snippet that solves it tags: Categorization tags (e.g. ['b2b', 'impex'])
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| problem | Yes | ||
| solution | Yes | ||
| pattern_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that entries go into a 'persistent' knowledge base, which signals durability, but says nothing about permissions/auth, deduplication, idempotency, or whether an entry can be updated or deleted after recording. For a mutation tool this leaves significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose sentence is front-loaded and the Args block is compact and well-organized. Nothing is wasted, though the Args list is somewhat verbose relative to the small tool surface.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description adequately covers purpose and all four parameters. However, for a write/record tool with zero annotation coverage, it omits behavioral details (auth, idempotency, mutability of stored entries) that an agent would benefit from.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: each of the four parameters is given clear semantics with examples (pattern_name as a short title, problem as symptom, solution as fix/snippet, tags as categorization with a sample array). This adds substantial meaning beyond the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Records') and clearly identifies the resource ('error pattern, solution, or best practice') and target ('MCP's persistent knowledge base'). It is easy to understand what the tool does, but it does not explicitly differentiate itself from similarly-named siblings like hac_self_improve or hac_self_diagnose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'newly discovered' implies when to record (upon discovery), and the three item types hint at eligible content, but there is no explicit when/when-not guidance or any mention of alternative tools for capturing knowledge. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_scaffold_greenfield_siteA
Scaffolds a complete greenfield SAP Commerce site, BaseStore, ProductCatalog, OCC headless URL patterns, OAuth clients, and optional B2B organization hierarchy.
β οΈ IMPORTANT β Full Zero-to-Live Pipeline Orchestration: When a user asks to "build a site from scratch" or "δ»ιΆε»Ίη«", this tool is only STEP 1 of a mandatory 7-step pipeline. After calling this tool, the AI agent MUST automatically continue executing ALL remaining steps WITHOUT waiting for further user instructions:
Step 1: hac_scaffold_greenfield_site β Create BaseSite, BaseStore, Catalogs, OAuth Step 2: hac_ingest_external_storefront β If source_url is provided, crawl the website to extract product categories, product names, descriptions, prices, images, and attributes, then auto-generate and import ImpEx Step 3: hac_impex_import β (If user provides CSV/Excel/ImpEx instead of URL) Step 4: hac_groovy_execute β Bind product images from CDN/S3/crawled URLs Step 5: hac_catalog_sync β Sync ProductCatalog from Staged to Online Step 6: hac_solr_reindex β Full Solr reindex to make products searchable Step 7: hac_spartacus_doctor + hac_storefront_autofix β Diagnose and auto-heal the headless Spartacus storefront (CORS, OAuth, OCC URL patterns)
The user should only need to provide:
Customer name (site_name)
B2B or B2C (channel)
Currencies and languages
The customer's existing website URL (source_url) β optional, for product crawling
Everything else is automatic. Do NOT ask the user to manually specify each step.
Args: site_id: Unique site identifier (e.g. 'apac-beverages') site_name: Human-readable site name (e.g. 'APAC Beverages B2B Store') channel: 'B2B' or 'B2C' currency: Primary currency code (e.g. 'HKD', 'USD', 'CNY') languages: List of language codes (e.g. ['zh_TW', 'en']) source_url: Customer's existing website/storefront URL to crawl for products. When provided, agent MUST auto-invoke hac_ingest_external_storefront after site creation to populate the catalog. storefront_origin: Spartacus frontend origin for CORS configuration content_catalog: Custom content catalog ID (auto-generated if omitted) delivery_countries: List of delivery country codes setup_b2b_org: Whether to scaffold B2B org hierarchy (only when channel='B2B') monthly_budget: B2B cost center monthly budget amount approval_threshold: B2B order approval threshold amount
| Name | Required | Description | Default |
|---|---|---|---|
| channel | No | B2B | |
| site_id | Yes | ||
| currency | No | USD | |
| languages | No | ||
| site_name | Yes | ||
| source_url | No | ||
| setup_b2b_org | No | ||
| monthly_budget | No | ||
| content_catalog | No | ||
| storefront_origin | No | http://localhost:4200 | |
| approval_threshold | No | ||
| delivery_countries | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden; it discloses the concrete side effects (creates BaseSite, BaseStore, Catalogs, OAuth clients, optional B2B org hierarchy) and the mandatory downstream orchestration. It omits idempotency/re-run behavior and any auth or permission prerequisites (e.g., whether hac_sso_login must precede it), leaving a gap for a 12-param mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded summary, warning callout, numbered pipeline, then args β a clean structure. It is long, and the closing 'Everything else is automatic / Do NOT ask the user' pair is mildly redundant with the pipeline block, but each section carries actionable content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter, no-annotation orchestration tool with an output schema (so return values needn't be described), the definition covers purpose, inputs, and downstream sequence thoroughly. It stops short of stating prerequisites like SSO/auth and conflict handling on re-scaffold, which would complete the picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate fully and it does: the Args block documents all 12 parameters with meaning, examples ('apac-beverages', 'HKD', ['zh_TW','en']) and conditional logic (setup_b2b_org only when channel='B2B'; source_url triggers auto-invocation of hac_ingest_external_storefront).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource: 'Scaffolds a complete greenfield SAP Commerce site, BaseStore, ProductCatalog, OCC headless URL patterns, OAuth clients, and optional B2B organization hierarchy.' The 'greenfield' qualifier and enumerated artifacts distinguish it from siblings like hac_b2b_scaffold_org and hac_storefront_cms_scaffold.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames itself as 'STEP 1 of a mandatory 7-step pipeline' triggered by 'build a site from scratch' / 'δ»ιΆε»Ίη«', names the exact inputs the user must supply, and routes to the correct sibling tools for each subsequent step. An agent knows both when to invoke it and what must follow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_self_diagnoseA
Runs a self-health audit on the SAP-Commerce-MCP server: checks regression test suite, counts archived scripts in unified library, and reviews learned best-practice rules.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a read-only audit through verbs like 'checks', 'counts', and 'reviews', and discloses the three audit areas. However, it doesn't state that it's non-destructive, whether it mutates any learning state, or whether it requires auth, leaving behavioral traits to inference.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the operation and its three components with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and there are no parameters to document. The description adequately conveys scope for a no-arg self-diagnostic, with only the missing when-to-use routing against adjacent tools as a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline is 4. There is nothing for the description to clarify beyond confirming this takes no arguments, which it effectively does by describing a self-contained audit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (runs a self-health audit) and resource (the SAP-Commerce-MCP server), and enumerates the three checks performed: regression suite, archived script count, and best-practice rules. This is clearer than most siblings, though it doesn't explicitly contrast itself with hac_status or hac_self_improve, which sound related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to invoke this versus alternatives like hac_status (also health/status-looking) or hac_self_improve. The purpose is implied by the name but there are no explicit conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_self_improveA
Self-evolves the MCP by updating one of its own Python modules. Automatically creates a backup, runs syntax checks and full regression test suite. Rolls back immediately if tests fail.
Args: target_file: Relative filename within MCP directory (e.g. 'site_scaffolder.py', 'b2b_org_helper.py') description: Summary of the improvement, fix, or capability being added updated_code: Complete updated Python code for the target module
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | ||
| target_file | Yes | ||
| updated_code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does so well: it discloses the automatic backup, syntax checks, full regression test suite, and immediate rollback on test failure. For a high-risk self-mutation tool this is exactly the safety context an agent needs to trust and invoke it correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then behavioral guarantees, then parameter docs. No redundant or filler sentences; each line adds information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high-risk mutation nature, 0% schema coverage, and the existence of an output schema (so return values need not be explained), the description is largely complete. It covers purpose, safety behavior, and all parameters, though it omits any note on permissions or whether a restart is needed for changes to take effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does via an Args section documenting all three parameters. It clarifies that target_file is a relative filename (with concrete examples) and that updated_code must be the 'complete updated Python code' rather than a diff, adding meaning the bare schema lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'updating one of its own Python modules' to 'self-evolve the MCP.' This clearly distinguishes it from the sibling hac_self_diagnose (which inspects rather than modifies) without the agent needing to open either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied by the description (updating a module to add fixes or capabilities), but there is no explicit when-to-use guidance, no when-not-to-use conditions, and no routing to alternatives such as hac_self_diagnose. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_site_listC
Lists all CMSSites in the SAP Commerce instance with their BaseStore, ProductCatalog, ContentCatalogs, Languages, Currencies, and active status. Essential for enterprise multi-brand group governance.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | zh |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden, and it only implies read-only through "Lists all." It says nothing about permissions, pagination, cost, or whether the language setting alters results. Only the enumeration of returned fields adds real information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is dense and front-loaded with the resource and its fields, which is good. The second sentence is promotional framing that does not earn its place as tool-selection guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Because an output schema exists, the description need not explain return values, and for a simple read-only lister the field enumeration is adequate. The gaps are the undocumented lang parameter and the absence of any when-to-use context against a 27-tool sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (lang, default "zh") with 0% schema description coverage, and the description never mentions it. The unusual default makes the omission significant, since an agent cannot tell whether lang filters the response, localizes labels, or does nothing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Lists") and a specific resource ("CMSSites in the SAP Commerce instance") and enumerates the fields returned, which clearly separates it from siblings like hac_library_list or hac_promotion_list. It does not explicitly name or contrast with any alternative, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing line ("Essential for enterprise multi-brand group governance") gestures at a domain but gives no trigger conditions, prerequisites, or alternatives to consider. An agent gets no guidance on when to call this versus hac_library_list or hac_status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_solr_reindexB
Triggers an immediate in-process Solr index build (FULL or UPDATE) bypassing cronjob queue delays.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | FULL | |
| config_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It usefully discloses that the build is in-process, immediate, and bypasses the cron queue, but says nothing about duration, blocking behavior, resource load, required permissions, or whether the operation is safe/idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler; the key action and its distinguishing benefit (bypassing cron delays) come first. Appropriately sized for a simple trigger tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the core action is covered. However, for a potentially heavy index-rebuild operation with zero annotation and parameter coverage, the description leaves meaningful gaps around mode semantics and side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description only mentions FULL/UPDATE modes in passing without explaining their difference, tradeoffs, or defaults. The config_name parameter is never addressed at all, so the description fails to compensate for the undocumented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Triggers an immediate in-process Solr index build', and even names the modes (FULL/UPDATE). It is clearly distinct from hac_solr_status, though it doesn't explicitly differentiate from any sibling by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for use: run it when you want to bypass cronjob queue delays and build immediately. No explicit 'when not to use' or named alternative is offered, but the intent is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_solr_statusA
Queries Solr search configurations and recent indexer cronjobs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses what is queried (configurations and cronjobs), which implies a read-only operation, but it does not explicitly confirm safety, side effects, auth requirements, or any operational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. It is appropriately sized for the tool's simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. The description adequately covers the data scope for a zero-parameter tool, though it omits any operational prerequisites or differentiation from siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline of 4 applies. The empty schema is self-documenting, and the description does not need to add parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Queries') and two concrete resources ('Solr search configurations' and 'recent indexer cronjobs'). It does not explicitly distinguish itself from siblings like hac_solr_reindex or hac_flexsearch, so an agent must infer the distinction from the name and context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use guidance, no conditions for selecting this tool over alternatives, and no exclusions. The only implied usage is that it is a status/query tool, but nothing steers the agent among the many Solr- and status-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_spartacus_doctorC
Performs a full headless readiness health check for a Spartacus storefront and Commerce Cloud BaseSite.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | zh | |
| site_id | No | powertools-spa | |
| storefront_url | No | http://localhost:4200 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it does not disclose whether the check is read-only, whether it needs a running storefront or admin credentials, how long it takes, or what happens on failure. The word 'health check' weakly implies a non-mutating probe, but nothing is stated. No contradiction with annotations exists since none are supplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler or repetition. It is efficient, though its brevity is partly under-specification rather than deliberate compression.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but the definition is still thin for a multi-target diagnostic: it never clarifies the role of storefront_url vs site_id, the language parameter, or dependency requirements. Given three fully undocumented parameters and no annotations, the description leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters (lang, site_id, storefront_url) have 0% schema description coverage and are not mentioned anywhere in the description. The description adds no meaning beyond the bare property names and default values, leaving the agent to guess at formats such as the expected URL or language codes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and scope: 'Performs a full headless readiness health check for a Spartacus storefront and Commerce Cloud BaseSite.' An agent can tell this is a diagnostic/readiness tool. However, it does not differentiate itself from nearby diagnostics such as hac_status, hac_self_diagnose, or hac_b2b_org_doctor, so a 5 is not warranted.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no prerequisites, and no named alternatives among the many doctor/status/diagnose siblings. The reader must infer that this is used to verify headless readiness, but nothing states when to prefer it over hac_b2b_org_doctor or hac_status.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_sso_loginA
Launches a headed browser window for the user to complete SAP internal SSO authentication.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the interactive nature ('headed browser window for the user to complete'), signaling this is not a silent/automated call. However, it omits whether the call blocks until login finishes, timeout behavior, and where credentials are cached for subsequent tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the key behavioral detail (headed interactive browser), no filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. For a one-optional-param auth launcher this is nearly sufficient, but the un-explained 'host' parameter and absence of any prerequisite/ordering context leave meaningful gaps for an agent wiring it into a workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'host' parameter has 0% schema description coverage and the description never explains what it scopes or what the default null means. With low coverage the description should compensate, and it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Launches a headed browser window for the user to complete SAP internal SSO authentication.' This is unambiguous and clearly distinct from every sibling hac_* tool, none of which handle authentication.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied β an agent infers this is the tool to run when SSO authentication is needed β but there is no explicit when-to-use, no prerequisites (e.g., that other hac_* tools require this first), and no alternatives mentioned. Adequate but with clear gaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_statusA
Checks the current status and authentication of the configured HAC connection.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full disclosure burden, and it does add one useful behavioral fact: the check covers both connection status and authentication. However, it says nothing about what happens on failure, whether any credentials/permissions are required, or whether the call has side effects, which leaves real gaps for a connection-level probe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and the precise object of the check. Nothing is wasted and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present the return payload need not be described, and the zero-parameter schema needs no elaboration. Only the missing usage context (when to call this versus the other hac_* diagnostics) keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so by rule the baseline is 4; there is nothing for the description to disambiguate and it correctly avoids inventing inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (checks) and resource (status and authentication of the configured HAC connection), which is enough for an agent to know it is a diagnostic/readiness probe rather than a mutation. It does not name or contrast with the nearest siblings such as hac_self_diagnose or hac_solr_status, so sibling differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no precondition (e.g. run after hac_configure), and no mention of alternatives despite several overlapping diagnostic tools in the sibling list. The agent must infer the context entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_storefront_app_configB
Inspects and aligns the local Composable Storefront Angular workspace configuration:
Synchronizes backend OCC CX_BASE_URL in .env-cmdrc
Aligns baseSite and multi-language routing in spartacus-b2b-configuration.providers.ts
Verifies B2B/B2C mode flags
Args: storefront_dir: Path to local Spartacus storefront repository backend_url: Target Commerce Cloud backend OCC URL (default 'https://localhost:9002') base_site: Target BaseSite UID (default 'powertools-spa') b2b_mode: Whether B2B mode is enabled (default True) lang: Output language ('zh' or 'en')
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | zh | |
| b2b_mode | No | ||
| base_site | No | powertools-spa | |
| backend_url | No | https://localhost:9002 | |
| storefront_dir | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It is genuinely useful in disclosing which files get modified ('synchronizes ... in .env-cmdrc', 'aligns ... in spartacus-b2b-configuration.providers.ts'), which signals a file-mutating operation. However, it does not state whether changes overwrite or preserve existing values, whether they are reversible, whether a backup is taken, or what permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the opening line, followed by a tight three-bullet enumeration of concrete operations and a compact Args block. Every element is load-bearing, though the Args block partially repeats schema field names rather than adding only net-new meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers all five inputs plus the files it mutates. For a config-writing tool with no annotations, it would be stronger if it disclosed reversibility or safety behavior, but the core information needed to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: all five parameters are described with meaning and defaults (storefront_dir as repo path, backend_url as target OCC URL, base_site as BaseSite UID, b2b_mode flag, lang). It even supplies the enum values 'zh'/'en' for lang, which the schema itself omits. It falls just short of documenting edge cases like a null storefront_dir.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (inspects/aligns) and resource (local Composable Storefront Angular workspace configuration), then enumerates exactly which artifacts are touched: .env-cmdrc, spartacus-b2b-configuration.providers.ts, and B2B/B2C mode flags. This is far more concrete than a generic 'configure' tool. It does not, however, name a distinguishing sibling such as hac_storefront_autofix or hac_configure, so the boundary with those tools is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement, no prerequisites, and no named alternative. With siblings like hac_storefront_autofix, hac_spartacus_doctor, and hac_configure in the same namespace, the agent has no guidance on when this config-aligner is preferred over them. Usage is only implied by the bullet list of operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_storefront_autofixA
One-click automated repair for Composable Storefront (Spartacus) headless readiness issues:
Injects matching frontend origin regex into BaseSite.urlPatterns
Dynamically permits frontend origin in CORS (corsfilter.commercewebservices.allowedOrigins)
Verifies OAuth2 client credentials
Flushes Region Cache for real-time frontend routing
Args: site_id: Target BaseSite UID (e.g. 'powertools-spa') storefront_url: Frontend URL Origin (e.g. 'http://localhost:4200' or 'https://localhost:4200') lang: Output language ('zh' or 'en')
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | zh | |
| site_id | No | powertools-spa | |
| storefront_url | No | http://localhost:4200 |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the exact artifacts mutated (BaseSite.urlPatterns, CORS allowedOrigins, OAuth2 client credentials, Region Cache flush), which signals persistent config writes and a cache side effect. It omits prerequisites such as required admin/HAC authorization, idempotency, and reversibility, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the purpose followed by a scannable bullet list of effects and a compact Args block. Every line earns its place, though the Args section partially duplicates the schema's property titles.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers the mutation surface for this compound repair tool. The remaining gap is authorization/prerequisite context for a multi-step write operation with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does: it maps site_id to a BaseSite UID, storefront_url to a frontend URL origin, and supplies concrete example values plus the accepted lang values ('zh' or 'en'), effectively adding the enum the schema lacks. It does not note that all three are optional/defaulted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (automated repair) and resource (Composable Storefront/Spartacus headless readiness), then enumerates the four concrete mutations it performs. An agent can distinguish it from hac_spartacus_doctor (diagnose) and hac_storefront_app_config (configuration) without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'one-click automated repair for ... readiness issues', giving a clear triggering condition. However, it names no alternatives or exclusions, so the agent must infer when to prefer hac_spartacus_doctor first or hac_cache_clear separately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hac_storefront_cms_scaffoldB
Scaffolds, customizes, and publishes CMS layout components for Composable Storefront (Spartacus).
Args: content_catalog: Target CMS Content Catalog (default 'powertools-spaContentCatalog') product_catalog: Target Product Catalog (default 'powertoolsProductCatalog') hero_title: Title text for the Hero announcement featured_products: List of product SKUs for the 'What's New' product carousel bestseller_products: List of product SKUs for the 'Bestsellers' product carousel banner_configs: List of banner dicts, each with 'uid', 'imageUrl', and optional 'urlLink' sync_online: If True, triggers synchronization from Staged to Online catalog (default True) clear_cache: If True, flushes Region Cache so changes reflect on storefront immediately (default True) lang: Output language ('zh' or 'en')
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | zh | |
| hero_title | No | ||
| clear_cache | No | ||
| sync_online | No | ||
| banner_configs | No | ||
| content_catalog | No | powertools-spaContentCatalog | |
| product_catalog | No | powertoolsProductCatalog | |
| featured_products | No | ||
| bestseller_products | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose meaningful behavioral traits: sync_online triggers StagedβOnline synchronization and clear_cache flushes Region Cache, which is exactly the kind of side-effect detail an agent needs for a mutating tool. However it omits whether the operation is destructive/overwriting, what auth is required, and whether it is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded verb clause followed by a dense Args block; each line earns its place and there is little filler. Slightly list-heavy but appropriate given 9 undocumented params.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, the description needn't explain return values, and it covers all parameters plus the key side-effects (sync, cache flush). The main gap is the absence of any usage/selection guidance against the crowded sibling set and any statement of destructive impact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with 9 parameters, so the description must compensate. It documents every parameter's purpose including defaults and the shape of banner_configs (uid, imageUrl, optional urlLink). This is strong compensation, though a few parameters (lang values) are only partially explained and type constraints live only in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific triple of verbs (scaffolds, customizes, publishes) plus the resource (CMS layout components for Composable Storefront/Spartacus). This distinguishes it reasonably from siblings like hac_storefront_autofix or hac_storefront_app_config, though the three-verb chaining makes it slightly diffuse.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many sibling storefront tools (hac_storefront_autofix, hac_storefront_app_config, hac_scaffold_greenfield_site). The Args list substitutes for guidance but does not tell an agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
27 tool updates
v3.0.0- First observed
hac_b2b_org_doctor - First observed
hac_b2b_scaffold_org - First observed
hac_cache_clear - First observed
hac_catalog_sync - First observed
hac_check_i18n_completeness - First observed
hac_configure - First observed
hac_flexsearch - First observed
hac_groovy_execute - First observed
hac_impex_import - First observed
hac_ingest_external_storefront - First observed
hac_library_get - First observed
hac_library_list - First observed
hac_promotion_list - First observed
hac_promotion_scaffold - First observed
hac_record_learning - First observed
hac_scaffold_greenfield_site - First observed
hac_self_diagnose - First observed
hac_self_improve - First observed
hac_site_list - First observed
hac_solr_reindex - First observed
hac_solr_status - First observed
hac_spartacus_doctor - First observed
hac_sso_login - First observed
hac_status - First observed
hac_storefront_app_config - First observed
hac_storefront_autofix - First observed
hac_storefront_cms_scaffold
TDQS
Scored across 27 tools
Most tools have clearly distinct purposes (e.g., hac_impex_import vs hac_groovy_execute) and are well differentiated by resource and action. A few pairs like hac_catalog_sync and hac_solr_reindex are distinct, but hac_self_diagnose and hac_self_improve both act on the MCP itself and could be confused; hac_storefront_autofix and hac_storefront_app_config are related but one repairs backend whereas the other aligns local config, with descriptions clarifying the difference. Overall, an agent can typically select the correct tool, though some boundaries require careful reading.
All tool names consistently use the 'hac_' prefix followed by a snake_case verb_noun or noun pattern (e.g., hac_impex_import, hac_solr_reindex, hac_b2b_scaffold_org). The convention is predictable throughout, with no mixing of camelCase or alternative verb styles.
27 tools is on the higher side for a single server, especially given the broad domain spanning HAC connection, scripting, catalog management, B2B, storefront, and self-improvement. While each tool appears to serve a distinct function, the count is borderline heavy and could lead to cognitive overload or misselection for an agent.
The tool set covers a broad lifecycle: connection setup (hac_configure, hac_status), scripting (hac_impex_import, hac_groovy_execute), site scaffolding (hac_scaffold_greenfield_site), catalog sync (hac_catalog_sync), Solr management (hac_solr_reindex, hac_solr_status), B2B operations (hac_b2b_scaffold_org, hac_b2b_org_doctor), promotions, storefront repair, and even self-improvement. Minor gaps exist, such as dedicated CRUD for catalog items or user management, but core workflows are well supported with minimal dead ends.
Maintenance
Related MCP Connectors
Agentic commerce with 58 MCP tools for product search, checkout, A2A negotiation, C-Suite analytics.
- mcp-serverOAuthcom.make
Give your AI agents the tools to build, manage, and run automation workflows.
- mcpOAuthcom.vibgrate
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
327 dev tools via REST API and MCP. Generate Dockerfiles, schemas, K8s, APIs, and more.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceTransforms SAP S/4HANA or ECC systems into conversational AI interfaces by exposing all OData services as dynamic MCP tools. Enables natural language interactions with ERP data for querying, creating, updating, and deleting business entities through SAP BTP integration.34 npm131MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with SAP Commerce systems through OCC APIs, supporting product discovery, cart management, customer support operations, and store information retrieval. Provides both local and remote connectivity options for AI agents to perform e-commerce tasks.MIT
- FlicenseBqualityCmaintenanceEnables AI assistants to interact with SAP Commerce Cloud (Hybris) instances for product management, order viewing, FlexibleSearch queries, Groovy script execution, ImpEx operations, and system administration tasks.1613-
- FlicenseBqualityCmaintenanceEnables AI assistants to interact with SAP Commerce Cloud (Hybris) instances to manage products, orders, and system configurations. It supports advanced operations like FlexibleSearch queries, Groovy script execution, and ImpEx data management.16-