Skip to main content
Glama

Get Product Recommendations

get_product_recommendations
Read-onlyIdempotent

Get personalized product and variant recommendations based on customer intent, budget, recipient profile, room type, and lighting conditions.

Input Schema

NameRequiredDescriptionDefault
budgetNoMaximum budget in EUR
intentYesCustomer intent: gift, home_decor, valentines, birthday_50, memorial, desk_display, home_cinema, etc.
localeNoLocale code for localized URLs (e.g. 'en', 'pl', 'de')
countryNoISO 3166-1 alpha-2 or alpha-3 country code for geo-pricing (e.g. 'PL', 'DE', 'GB', 'DEU', 'GBR')
lightingNoRoom lighting: bright, dim, mixed
room_typeNoRoom type: living_room, bedroom, office, bathroom, kitchen, entertainment_room
recipient_profileNoWho is this for: partner, mother, father, man_who_has_everything, woman, couple, pet_lover, photographer, movie_fan

Output Schema

NameRequiredDescriptionDefault
noteNo
errorNo
messageNo
room_adviceNo
finish_adviceNo
total_matchesNo
recommendationsNo
_response_budgetNo
active_promotionsNo
wall_art_launch_gateNo
address_sign_launch_gateNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • removedOutput schema / properties / finish_advice / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / finish_advice / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / room_advice / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / room_advice / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  2. Changed1 schema field changed
    • addedOutput schema / properties / _response_budget
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "dropped": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "limit_bytes": {
      +      "type": "number"
      +    },
      +    "note": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "dropped",
      +    "limit_bytes",
      +    "note"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent and closed-world, so safety is covered. The description adds only that recommendations are personalized per the listed signals; it says nothing about result count, ranking behavior, or whether omitted signals degrade quality — extra context that would be genuinely useful here.

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?

A single front-loaded sentence with no filler. It is arguably too short rather than too long, but nothing is wasted.

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

Completeness3/5

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

Output schema and full parameter documentation are already structured, so the description needn't explain returns. The gaps are the missing sibling differentiation and any note on how optional signals affect results — an agent can call it correctly but not confidently choose it over search_products.

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% with per-field descriptions and value examples, so the schema carries parameter meaning. The description merely restates the same field names without adding format, defaults, or interaction semantics.

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 ('personalized product and variant recommendations') and enumerates the personalization signals it uses. It is reasonably distinguishable from search_products by the word 'personalized', but it never names or contrasts with 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.

Usage Guidelines2/5

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

No when-to-use guidance: it doesn't say to prefer this over search_products, when recommendations are inappropriate, or what happens when optional signals are omitted. The list of input factors implies usage but gives no routing rules.

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