Skip to main content
Glama

configure_marketplace_step

Destructive

Configure ONE step of a marketplace's setup wizard and save it. Saving a step never activates or publishes: the summary step is refused here — finish setup with activate_marketplace. Use this to set up a marketplace step by step IN ORDER, repeatedly targeting each step the previous result reported as nextStepType, until nextStepType is 'summary' (then call activate_marketplace). Identify the step by step_index (from get_marketplace steps[].index) — step_type alone targets the FIRST step of that type. Out-of-order calls return 'prerequisite_not_met' / 'step_not_available'. CONNECTION IS NOT CONFIGURABLE HERE: the connection/auth step (credentials, API keys, OAuth) can never be set through MCP. 'oauth_required' / 'credentials_in_ui' is TERMINAL — hand the returned oauthUrl or editUrl to the USER, then STOP and wait; do NOT resend the step, guess field codes or retry. Returns {integrationId, stepType, status, ready, lastStep, nextStepType, oauthUrl, transitions[], message}; status is 'saved', 'oauth_required', 'credentials_in_ui', 'prerequisite_not_met', 'step_not_available' or 'validation_failed'. A product export/generation and a deferred category-attribute download run ASYNC — poll marketplace_status (productsRefreshing, productsSubmitting, categoryAttributeWarmup) before trusting counts or reading the attribute list. A dropdown field takes options[].value, never its position in the list. Full walkthrough (every step type's payload, the product-filter flags, optionsPending, the deferred-attribute branch, order sync): call get_koongo_help with slug 'marketplace-wizard-steps'. marketplace_id is from list_marketplaces / create_marketplace. 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": {
      "marketplace_id": "<marketplace_id>"
    },
    "name": "configure_marketplace_step"
  }
}

Input Schema

NameRequiredDescriptionDefault
payloadNoSettings for this step. Form / order-settings: {items: {fieldCode: value}} from get_marketplace steps[].fields. A connection/auth step takes NO payload and cannot be configured here — omit it (also for advance-only steps).
step_typeNoTarget the step by type (the nextStepType from the previous step). Ambiguous when two steps share a type — then pass step_index.
project_idNo
step_indexNoTarget the step by its index (get_marketplace steps[].index) — use this to disambiguate steps that share a step_type.
marketplace_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / step_type / description
      Previous value: -"Target the step by type (the nextStepType from the previous step). Ambiguous when two steps share a type — prefer step_index."New value: +"Target the step by type (the nextStepType from the previous step). Ambiguous when two steps share a type — then pass step_index."
  2. First observed

TDQS

A4.2/5.0
Behavior3/5

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

The description adds real behavioral context beyond the annotations: error statuses are enumerated ('prerequisite_not_met', 'step_not_available', 'validation_failed'), terminal oauth/credentials states come with a do-not-retry instruction, and async side effects point to marketplace_status polling. It does not contradict the destructiveHint=true annotation, but it also does not explain what state is actually mutated or whether a saved step can be overwritten, which matters for a destructive, non-idempotent write.

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?

It is long, but appropriately so for a wizard-mutating tool, and it is front-loaded with the core action, then the ordering rule, then the exclusions. A few clauses (the full return-object enumeration, the dropdown options[].value aside) could be pushed into the help doc without losing callable guidance.

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?

There is no output schema, yet the description lists the returned keys and the possible status values, covers the async side effects, the terminal connection branch, and the prerequisite-ordering failure modes. For a five-parameter destructive wizard tool, an agent has everything it needs to sequence and retry correctly.

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 60%, so the schema already documents payload, step_type, and step_index. The description adds useful routing semantics: step_index disambiguates steps sharing a type, step_type alone targets only the first step of that type, and project_id is optional/inferred with project_id_required as the fallback. That is decent value, but the generic payload object remains underspecified — it defers field-level shape entirely to get_marketplace and the help slug.

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 opens with a specific verb and resource ('Configure ONE step of a marketplace's setup wizard and save it') and immediately separates this tool from the sibling activate_marketplace by stating that saving never activates or publishes. An agent can distinguish it from configure_ad_step/activate_marketplace 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?

It gives explicit when-to-use guidance (walk steps IN ORDER, repeatedly targeting the previous result's nextStepType), states the stopping condition (when nextStepType is 'summary', switch to activate_marketplace), and names concrete alternatives (marketplace_status for async polling, get_marketplace for step indexes, get_koongo_help for the walkthrough). It also states when NOT to use it: the summary step is refused and the connection/auth step can never be configured here.

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