Skip to main content
Glama

Get themes

get_themes
Read-onlyIdempotent

Return color themes detected for a product version on a platform (from themes.json), including the active theme, available themes, and CSS custom-property tokens when captured.

Input Schema

NameRequiredDescriptionDefault
productYesProduct key, for example finance-ozon-ru
versionYesExact capture version returned by list_versions. Pin the same version across related calls; do not use latest as an alias.
platformYesPlatform type ID from list_platforms.options.platforms[].id (backend CatalogPlatform.view). Use backend IDs verbatim; desktop/mobile are current examples. Environment is selected separately.
environmentNoEnvironment ID from the selected backend platform type in list_platforms.options.platforms[].environments[].id (backend implementation). Omit only when the version has one captured environment. Use captured pairs from list_platforms/list_versions for actual availability.

Output Schema

NameRequiredDescriptionDefault
resultYesDetected themes and current preference

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / version / description
      Added value: +"Exact capture version returned by list_versions. Pin the same version across related calls; do not use latest as an alias."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "theme": {
      +      "additionalProperties": true,
      +      "description": "Captured theme metadata and evidence",
      +      "properties": {
      +        "active": {
      +          "description": "Whether this condition holds",
      +          "type": "boolean"
      +        },
      +        "colorScheme": {
      +          "anyOf": [
      +            {
      +              "description": "colorScheme",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "id": {
      +          "anyOf": [
      +            {
      +              "description": "id",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "label": {
      +          "anyOf": [
      +            {
      +              "description": "label",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "sources": {
      +          "description": "Result entries",
      +          "items": {
      +            "description": "Text value",
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "tokens": {
      +          "additionalProperties": true,
      +          "description": "Captured theme tokens",
      +          "properties": {},
      +          "type": "object"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "label",
      +        "colorScheme",
      +        "sources",
      +        "active",
      +        "tokens"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": false,
      +  "description": "Structured result. Existing text or image content remains available in content.",
      +  "properties": {
      +    "result": {
      +      "additionalProperties": true,
      +      "description": "Detected themes and current preference",
      +      "properties": {
      +        "colorScheme": {
      +          "anyOf": [
      +            {
      +              "description": "colorScheme",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "current": {
      +          "anyOf": [
      +            {
      +              "description": "current",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "environment": {
      +          "description": "environment",
      +          "type": "string"
      +        },
      +        "platform": {
      +          "description": "platform",
      +          "type": "string"
      +        },
      +        "preference": {
      +          "anyOf": [
      +            {
      +              "description": "preference",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "product": {
      +          "description": "product",
      +          "type": "string"
      +        },
      +        "source": {
      +          "anyOf": [
      +            {
      +              "description": "source",
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "themes": {
      +          "description": "Result entries",
      +          "items": {
      +            "$ref": "#/$defs/theme"
      +          },
      +          "type": "array"
      +        },
      +        "version": {
      +          "description": "version",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "product",
      +        "platform",
      +        "environment",
      +        "version",
      +        "current",
      +        "colorScheme",
      +        "preference",
      +        "source",
      +        "themes"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "result"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is fully covered. The description adds modest beyond-annotation value: the data source (themes.json) and the 'when captured' qualifier implying token data can be missing. With annotations plus an output schema doing most of the work, this is adequate but not rich.

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

Conciseness5/5

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

A single front-loaded sentence: verb, resource, scope, source file, and payload contents in order of importance, with no filler or repetition.

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

Completeness4/5

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

With a full output schema, complete parameter documentation, and annotations covering safety, the description needn't explain return values or permissions. It is complete enough to invoke correctly; only cross-tool routing guidance is absent.

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

Parameters3/5

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

Schema description coverage is 100% and all four parameters carry detailed descriptions, so the schema fully documents product, version, platform and environment. The description adds no parameter-level detail beyond the schema, which is the correct baseline of 3 when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb and resource ('Return color themes detected for a product version on a platform') and names the underlying source (themes.json), so the agent knows exactly what surface this exposes. It does not distinguish itself from adjacent siblings such as get_component_styles or get_version_metadata, but the resource is distinct enough to disambiguate in practice.

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

Usage Guidelines2/5

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

The description contains no when-to-use, when-not-to-use, or alternative-tool guidance. The scoping hints an agent would need (pin the same version, choose environment via list_platforms/list_versions) live only in the schema parameter descriptions, not in the tool description.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources