Skip to main content
Glama

get_value_mapping_inputs

Read-onlyIdempotent

Get the inputs needed to build a value-mapping rule (Attribute Rule) that remaps a source attribute's values onto a target attribute's allowed set (e.g. store colours → the channel's accepted colour list). Use this to collect the inputs of a value-mapping rule before building it. Works for BOTH a feed and a marketplace/ad. This is for value→value MAPPING (the map_attribute_value operation); to just assign ONE fixed value from an attribute's option list (a "Set option") use get_attribute_options instead. Returns {sourceValues:[{value, label}], targetAllowedValues:[{value, label}], alreadyMapped:[{search, replace}], hasMore, nextOffset}. sourceValues are the distinct values of source_attribute_code in the store; targetAllowedValues are the values target_attribute_code accepts on the target; alreadyMapped are the pairs already configured. YOU propose the search→replace pairs from these two lists — this tool runs no AI and never writes. Apply the pairs by adding a map_attribute_value operation (arguments search/replace) to the rule via create_rule / update_rule, then attach the rule (map_feed_attribute / map_marketplace_attribute / map_ad_attribute with rule_id); values you leave unmapped pass through unchanged for the user to finish manually. search/replace on the map_attribute_value op you build from these are arrays of {value:''} objects paired by index (NOT plain strings). Pass only_unmapped:true to get only source values that still need a pair; 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); integration_id resolves the integration's attributes. The attribute codes come from get_feed / get_marketplace_attributes / get_ad_attributes / list_source_attributes. project_id is OPTIONAL (inferred for a single-project customer; project_id_required otherwise — then call list_projects). This tool returns real store data values only after you set acknowledge_sensitive:true. The first call (flag absent/false) returns {sensitiveGate:{confirmationRequired:true, itemCount, fields, kind}} with the sourceValues / alreadyMapped arrays EMPTY — present that gate to the USER, get their approval, then re-call with acknowledge_sensitive:true to receive the actual values.

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": {
      "source_attribute_code": "<source_attribute_code>",
      "target_attribute_code": "<target_attribute_code>"
    },
    "name": "get_value_mapping_inputs"
  }
}

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
only_unmappedNoWhen true, return only source values that still need a search→replace pair (skip already-mapped ones); default false.
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.
acknowledge_sensitiveNoSet true only AFTER the user approves seeing real data. When absent/false the tool returns a sensitiveGate with sourceValues / alreadyMapped empty; with true it returns the actual values.
source_attribute_codeYes
target_attribute_codeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so safety is largely pre-declared. The description then adds genuine context beyond the annotations: no AI runs, nothing is written, unmapped values pass through unchanged, and the two-call sensitive gate returns empty sourceValues/alreadyMapped until acknowledge_sensitive:true. However, it never explains the sensitiveGate response shape in detail beyond naming its fields, and pagination behaviour is only implied.

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

Conciseness3/5

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

The purpose and the alternative are front-loaded, which is good. But the whole body is a single dense block mixing return shape, workflow, argument-format warnings, target selection, project scoping and the sensitive gate; it would scan far better as short labelled sections, and some of the format detail about search/replace arrays belongs closer to the operation it describes.

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?

For an 8-parameter, no-output-schema, read-only discovery tool this is close to self-sufficient: it describes the returned fields, the sensitive-gate two-call sequence, pagination, target selection and the follow-up calls needed to apply the mapping. The main gap is that the shape of the sensitiveGate object and the error/conflict case (neither or both of feed_id/integration_id) are implied rather than stated.

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 63%, so the description must compensate — and it does. It explains that feed_id comes from list_feeds while integration_id is a marketplace_id/ad_id from list_marketplaces/list_ads and resolves that integration's attributes, that exactly one must be passed, that project_id is optional and inferred for single-project customers, that only_unmapped filters out already-paired source values, and that offset should be fed from nextOffset while hasMore is true.

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 states a specific verb and resource ('Get the inputs needed to build a value-mapping rule') and pins the scope with a concrete example (store colours → channel's accepted colour list). It explicitly distinguishes itself from the sibling get_attribute_options by contrasting value→value mapping with a single fixed 'Set option' assignment.

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?

It gives explicit when-to-use ('collect the inputs of a value-mapping rule before building it'), a named alternative for the different case (get_attribute_options), and the full downstream workflow: propose pairs, add a map_attribute_value op via create_rule/update_rule, then attach with map_feed_attribute / map_marketplace_attribute / map_ad_attribute using rule_id.

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