Skip to main content
Glama

get_attribute_options

Read-onlyIdempotent

Get the allowed OPTION choices (value + label) of a target feed/channel attribute, so you can pick a VALID value for a "Set option" — an attribute that takes a fixed value from its predefined list (select/dropdown attributes like Fastener Type, Availability, Condition…). Use this when an attribute accepts only listed values. Returns {options:[{value, label}], hasMore, nextOffset}. The stored/exported value is the option's value (NOT its label); label is the human-readable text (often equal to value). Two ways to apply a Set option once you pick a value: WITHOUT conditions set the attribute's constant to that value via map_feed_attribute / map_marketplace_attribute / map_ad_attribute (cheapest — no rule needed); CONDITIONALLY build a rule with a setoption operation (operationGroups mode 'set_option', operations [{name:'setoption', arguments:{value:''}}]) — see list_rule_transforms. Empty options = the attribute is not a closed-option attribute (free text — use set_value instead). Page with offset (from nextOffset) while hasMore is true. TARGET: pass EXACTLY ONE of feed_id (a feed, from list_feeds) or integration_id (a marketplace/ad — the marketplace_id/ad_id from list_marketplaces / list_ads). attribute_code comes from get_feed / get_marketplace_attributes / get_ad_attributes. project_id is OPTIONAL (inferred for a single-project customer; project_id_required otherwise — then call list_projects).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "attribute_code": "<attribute_code>"
    },
    "name": "get_attribute_options"
  }
}

Input Schema

NameRequiredDescriptionDefault
offsetNoPagination cursor: pass the previous response's nextOffset to fetch the next page (default 0).
feed_idNoTarget a feed (from list_feeds). Pass exactly one of feed_id or integration_id.
project_idNo
attribute_codeYesThe target attribute whose options you want (code from get_feed / get_marketplace_attributes / get_ad_attributes).
integration_idNoTarget a marketplace/ad — the marketplace_id or ad_id from list_marketplaces / list_ads. Pass exactly one of feed_id or integration_id.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations: it discloses the response shape ({options:[{value,label}], hasMore, nextOffset}), the pagination loop (offset from nextOffset while hasMore), and the important detail that the stored value is `value` not `label`. It also documents the project_id inference behavior and the project_id_required error path, which neither annotations nor schema reveal.

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?

Almost every sentence contributes new, actionable information and the purpose is front-loaded in the first clause. However, it is delivered as one dense run-on paragraph mixing purpose, return shape, usage paths, pagination and target resolution; breaking it into short sections would improve scanability without losing content.

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 5-parameter, no-output-schema read tool, nothing an agent needs is missing: it covers what the tool returns, how to page, how to identify the target, where ids come from, and what to do with the result. The empty-options edge case is also handled.

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

Parameters4/5

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

Schema coverage is 80%, so the schema already documents offset, feed_id, integration_id and attribute_code; the description largely restates the exactly-one-of constraint but adds the provenance of each id (list_feeds, list_marketplaces/list_ads, get_feed/get_marketplace_attributes/get_ad_attributes). It adds the most value on project_id, which has no schema description, by explaining inference and the list_projects fallback.

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?

States a specific verb and resource ("Get the allowed OPTION choices (value + label) of a target feed/channel attribute") and then defines the concept of a Set option attribute so the agent knows exactly which class of attribute is served. It also explicitly separates this from free-text attributes by pointing to set_value, making it easy to tell apart from the many sibling attribute tools.

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

Usage Guidelines5/5

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

Gives explicit when-to-use ("Use this when an attribute accepts only listed values"), a negative case (empty options = not a closed-option attribute, use set_value instead), and two concrete downstream paths: constant mapping via map_feed_attribute / map_marketplace_attribute / map_ad_attribute, or a conditional rule with the setoption operation, referring to list_rule_transforms.

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