Skip to main content
Glama

Confirm Column Mappings

confirm_column_mappings
Destructive

Confirm column mappings for a staged matched-segment upload, starting identity resolution. Call this after analyze_audience_upload has been reviewed with the user and they approve (with or without edits). This moves the staged file into place — nothing runs before this call succeeds. Only call wait_for_segment after this returns ok. Pass exactly one of segment_id or audience_id — use audience_id when only the audience is known (it resolves to that audience's matched member segment server-side). When using audience_id, column_mappings is required (no auto-inference fallback on that path). When using segment_id, column_mappings may be omitted — the platform re-analyzes the active upload itself and accepts its own suggested mapping as-is. Requires 'creator' scope.

Input Schema

NameRequiredDescriptionDefault
segment_idNoThe segment_id returned by create_segment(subtype=matched)
audience_idNoThe audience_id, if segment_id isn't known
column_mappingsNoMap of source column name -> standard identity attribute name. Valid targets: iag_person_id, full_name, first_name, middle_name, last_name, name_suffix, address_1, address_2, city, state, zip, email, phone, dob, email_sha256, phone_sha256, emails, phones, addresses, emails_sha256, phones_sha256 (the last 7 — hashed/plural/array variants — are LLM/programmatic mapping targets only, not offered in a human dropdown). Use "(skip)" to exclude a column. For segment_id: omit to have the platform accept its own fresh analysis of the upload as-is. For audience_id: required. Always send the FULL mapping set (not just user-edited columns); this replaces the mappings entirely rather than merging.

Output Schema

NameRequiredDescriptionDefault
okYesWhether the requested action succeeded
guidanceNoInterpretation or recovery guidance for this result
count_unitNo
page_countNoNumber of objects on this page, not the organization total
count_stateNoUnknown means no count; available does not guarantee freshness. Recount for a current value.
next_actionsNoSuggested next calls using returned IDs and available scopes. Not executed and not user consent.
money_displayNoCurrency amounts formatted once from source paths ending in _cents. Use verbatim; do not divide again. Null/missing source amounts are omitted, not zero.
column_mappingsYes
population_inputNoPopulation input used for the preview; IDs refer to their current saved definitions

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the destructive/openWorld annotations, it discloses the concrete side effect ('moves the staged file into place'), the blocking behavior ('nothing runs before this call succeeds'), and an auth requirement ('Requires creator scope') — all things annotations cannot convey. It also warns that the audience_id path has no inference fallback, which is real behavioral risk information.

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?

The purpose and the approval prerequisite are front-loaded, then the branching rules follow in order of decision. Sentences are dense with constraints rather than filler, and nothing is repeated except the ordering rule, which is reinforced for safety.

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 a destructive, non-idempotent staging tool with an output schema, the description covers preconditions, ordering, scope, and branch-specific parameter rules. The one gap is retry/re-entry behavior: it does not say whether calling again after a partial failure is safe or what happens to the staged file, despite the non-idempotent and destructive hints.

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 100%, so the baseline is 3; the description earns extra credit by adding the mutual-exclusivity constraint between segment_id and audience_id (not encoded via oneOf in the schema) and by explaining the server-side resolution of audience_id to a matched member segment. Most of the column_mappings requirements, however, are already duplicated in the schema property description rather than added here.

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?

Names a specific verb and resource ('Confirm column mappings for a staged matched-segment upload') and states the downstream effect ('starting identity resolution'). This distinguishes it cleanly from analyze_audience_upload (preview) and wait_for_segment (polling), so an agent can place it in the workflow without opening any schema.

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 preconditions ('Call this after analyze_audience_upload has been reviewed with the user and they approve'), explicit sequencing ('Only call wait_for_segment after this returns ok'), and an exclusivity rule ('Pass exactly one of segment_id or audience_id') with a decision rule for which branch to pick.

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