Skip to main content
Glama

Duplicate Segment

duplicate_segment

Create a duplicate of an existing segment. Preserves the source subtype and all subtype-specific data: filter criteria for filter segments; match results, column mappings, and match counts for matched segments; seed and generated-score references for similarity/propensity segments (underlying computed data is referenced, never recomputed). Lineage is recorded (parent_segment_id, derived_from root ancestor, parent_segment_version pin). Filter duplicates start with record_count null — trigger a recount with count_segment for a fresh count; matched/similarity/propensity duplicates carry the source's counts. Returns 409 SOURCE_MATCH_UNAVAILABLE when a matched source's match data is unavailable (expired/failed/incomplete match), or 409 SOURCE_NOT_READY when a non-matched source is pending or failed. Requires 'creator' scope.

Input Schema

NameRequiredDescriptionDefault
nameNoName for the duplicate. Defaults to "<source name> (copy)"
segment_idYesID of the segment to duplicate

Output Schema

NameRequiredDescriptionDefault
nameYes
statusYes
subtypeYes
guidanceNoInterpretation or recovery guidance for this result
count_unitNo
page_countNoNumber of objects on this page, not the organization total
segment_idYes
upload_urlNo
audience_idNo
count_stateNoUnknown means no count; available does not guarantee freshness. Recount for a current value.
upload_urlsNo
next_actionsNoSuggested next calls using returned IDs and available scopes. Not executed and not user consent.
record_countNoStored count; null means unknown. Call count_segment for a current count.
record_limitNoMaximum members; null means no explicit cap
filter_groupsNoComplete saved filter definition; one AND group also represents a simple flat filter list
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.
current_versionNo
workflow_run_idNo
population_inputNoPopulation input used for the preview; IDs refer to their current saved definitions
upload_expires_atNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only declare the generic profile (not read-only, not destructive, not idempotent); the description adds substantial context beyond that — what is preserved per subtype, that computed data is referenced rather than recomputed, lineage fields recorded, the null record_count side effect, two distinct 409 error codes, and the required scope. That is exactly the kind of behavior an agent cannot get from annotations.

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?

Front-loaded with purpose, then behavior, then failure modes and permissions — a sensible order. The subtype enumeration is dense but each clause carries real information; still, the sentence is long enough that trimming would improve scannability.

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?

An output schema exists, so return shape need not be explained, and the description covers the remaining pieces an agent needs: preserved data per subtype, lineage side effects, count semantics, permission requirement, and specific error conditions. Nothing material is missing for a 2-parameter tool.

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 coverage is 100%, and the schema itself documents the name default ("<source name> (copy)") and segment_id. The description adds no parameter-level syntax or format meaning beyond implying segment_id identifies the source, so baseline 3 is appropriate.

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 ("Create a duplicate of an existing segment") and immediately scopes it by enumerating what is carried over per subtype. An agent can distinguish this from create_segment because duplication semantics (preserved subtype data, lineage) are spelled out.

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

Usage Guidelines4/5

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

Explicitly routes to a sibling: "Filter duplicates start with record_count null — trigger a recount with count_segment for a fresh count." It also gives the preconditions under which the call will fail (unavailable match data, pending/failed source) and the required 'creator' scope. It stops short of explicitly contrasting duplicate_segment with create_segment, which is the only gap.

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