Skip to main content
Glama

Duplicate Travel Program

duplicate_program

Deep-copy a program (create a variant). Params: id (uuid) + body { name?, visibility? }.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNo
cityNo
nameNo
tagsNo
regionNo
statusNo
countryNo
categoryNo
languageNo
createdAtNoISO 8601 timestamp
isCuratedNo
updatedAtNoISO 8601 timestamp
visibilityNo
descriptionNo
publishedAtNoISO 8601 timestamp
ownerGuideIdNo
adoptionCountNo
coverImageUrlNo
coverThumbUrlNo
estimatedDaysNo
organizationIdNo
sourceItineraryIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / adoptionCount / type
      Previous value: -[
      -  "number",
      -  "string"
      -]New value: +[
      +  "number",
      +  "string",
      +  "null"
      +]
  2. First observed

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare non-readOnly, non-idempotent, non-destructive, closed-world. The description adds genuine value with 'Deep-copy,' signaling that nested content (items, cards, slides) is replicated rather than referenced, and 'create a variant' implying a new entity each call. It still omits what is and isn't copied, whether the source is untouched, and how repeated calls behave.

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?

Two compact sentences with the core action front-loaded and no filler. It is arguably over-terse for a tool with 0% schema description coverage, 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?

An output schema exists, so return values need not be explained. However, for a mutation tool with nested body objects and an undocumented enum, the definition leaves gaps: the visibility semantics, the required-body-but-optional-fields ambiguity, and any authorization requirement on the source program are all unstated.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the burden, but it only restates the parameter names and types already visible in the schema ('id (uuid) + body { name?, visibility? }'). It adds no meaning: no default naming behavior, no note that visibility falls back to the source program's setting, and no explanation of the personal/org enum values.

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 ('Deep-copy a program') and adds the outcome ('create a variant'), which separates it from create_program and mirrors the sibling duplicate_template. It does not explicitly name create_program as the alternative for a from-scratch program, so it stops short of full sibling differentiation.

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?

The description never says when to duplicate versus create a new program, nor any precondition (e.g., must own or have access to the source program). 'Create a variant' hints at intent but gives no selection criteria or exclusions.

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