Skip to main content
Glama
kavingas

Catalog Services MCP Server

by kavingas

get_product_overrides_by_website

Retrieve product price overrides for all customer groups across a website. Get pricing data for every customer segment in a single request.

Instructions

Get product overrides for all customer groups in a website.

This retrieves price overrides for all customer groups, not just one.
Useful when you need to see pricing across all customer segments.

Args:
    environment_id: Adobe Commerce Cloud environment ID
    website_code: Website code (e.g., 'base')
    skus: List of product SKUs to retrieve overrides for
    filter_virtual_cgs: Filter out virtual customer groups (default: False)
    use_tls: Whether to use TLS connection (default: True)
    timeout: Request timeout in seconds (default: 15.0)
    
Returns:
    Dict containing product overrides with keys:
    - overrides: List of product override dictionaries (all customer groups), each containing:
        - customer_group_code: SHA1 hash of customer group ID
          Use get_customer_group_id_from_code() to decode to numeric ID
          Common hashes:
            'b6589fc6ab0dc82cf12099d1c2d40ab994e8410c' = ID 0 (NOT LOGGED IN)
            '356a192b7913b04c54574d18c28d46e6395428ab' = ID 1 (General/Logged In)
            'da4b9237bacccdf19c0760cab7aec4a8359010b0' = ID 2 (Wholesale)
        - sku, website_code, currency, prices, tier_prices, etc.
    - count: Number of overrides retrieved
    - status: Success or error status
    
Example:
    >>> result = get_product_overrides_by_website.invoke({
    ...     'environment_id': 'abc123',
    ...     'website_code': 'base',
    ...     'skus': ['SKU123']
    ... })
    >>> # Returns overrides for all customer groups
    >>> for override in result['overrides']:
    ...     group_id = get_customer_group_id_from_code(override['customer_group_code'])
    ...     print(f"Group ID {group_id}: {override['customer_group_code']}, Price: {override['prices']}")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
skusYes
timeoutNo
use_tlsNo
website_codeYes
environment_idYes
filter_virtual_cgsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries the full burden. It explains that this is a retrieval operation (non-destructive), describes the return format in detail, provides an example with decoding of customer_group_code, and lists all parameters with defaults.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description includes an Args section, Returns section, and an Example, which is well-structured. It is somewhat verbose but every sentence adds value, especially the example and hash codes. Slightly longer than necessary but not wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 parameters (3 required) and an output schema, the description fully covers the input parameters, output structure, and usage. The example and hash code mapping provide additional context that compensates for the lack of annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description fully explains each parameter: environment_id, website_code, skus, filter_virtual_cgs, use_tls, timeout, with defaults and types. This adds significant meaning beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it gets product overrides for all customer groups in a website, using the verb 'get' and specifying the resource. It distinguishes itself from sibling tools by emphasizing 'all customer groups', which is unique.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'Useful when you need to see pricing across all customer segments', which provides usage context. However, it does not explicitly mention when not to use it or suggest alternative tools for single-group queries, but the sibling tools list does not have an obvious single-group counterpart.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kavingas/catalog-services-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server