Skip to main content
Glama
kavingas

Catalog Services MCP Server

by kavingas

get_product_variants

Retrieve product variants for configurable products, showing available option combinations and child SKUs.

Instructions

Get product variants from Catalog Service via gRPC.

This tool calls the GetVariants RPC method to retrieve product variant information
(configurable product options and their values) from the Adobe Commerce Catalog Service.

Product variants represent the different configurations of a configurable product,
showing all available option combinations (like colors, sizes) and their corresponding
child product SKUs.

Args:
    environment_id: Adobe Commerce Cloud environment ID (e.g., '3f73a49a-3137-472c-bb0d-39d0e7925d86')
    store_view_code: Store view code (e.g., 'test')
    store_code: Store code (e.g., 'test')
    website_code: Website code (e.g., 'test')
    skus: List of parent product SKUs to retrieve variants for
    use_tls: Whether to use TLS connection (default: True)
    timeout: Request timeout in seconds (default: 15.0)
    
Returns:
    Dict containing variant information with keys:
    - variants: List of variant dictionaries, each containing:
        - id: Variant identifier
        - parent_sku: Parent product SKU
        - product_sku: Child product SKU for this variant
        - option_values: List of option values (attribute_code, uid, value_index)
    - count: Number of variants retrieved
    - status: Success or error status
    
Example:
    >>> result = get_product_variants(
    ...     environment_id='3f73a49a-3137-472c-bb0d-39d0e7925d86',
    ...     store_view_code='test',
    ...     store_code='test',
    ...     website_code='test',
    ...     skus=['CAT-249']
    ... )
    >>> print(result['count'])
    4
    >>> for variant in result['variants']:
    ...     print(f"{variant['product_sku']}: {[opt['attribute_code'] for opt in variant['option_values']]}")

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
skusYes
timeoutNo
use_tlsNo
store_codeYes
website_codeYes
environment_idYes
store_view_codeYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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 RPC method used (GetVariants), the return structure with keys and example values, and includes an example. However, it does not mention side effects, authentication needs, error handling, or rate limits. Overall, it provides good behavioral context for a read operation.

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 is well-structured with sections (Args, Returns, Example) and is appropriately detailed. However, it is slightly longer than necessary; for example, the full example could be shortened. Still, the organization aids readability.

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?

Given 7 parameters (5 required), no output schema, and no annotations, the description is very complete. It documents all parameters, provides a return value schema, and includes a usage example. It leaves no significant gaps for an agent to understand the tool's behavior.

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?

The input schema has 0% description coverage, but the description's Args section adds detailed explanations for all 7 parameters, including environment_id, store_view_code, skus, etc., with examples. This fully compensates for the missing schema descriptions and adds meaning beyond parameter names.

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 that the tool retrieves product variants from Catalog Service via gRPC, explains what product variants are (configurable product options), and provides specific verbs and resource names. It distinguishes from siblings like get_products by focusing specifically on variants of configurable products.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool versus alternatives like get_products. It implies usage through the context of retrieving variants, but lacks guidance on prerequisites or scenarios where this tool is preferred.

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