Skip to main content
Glama

Set Up Module

setUpModule
Destructive

Set up a Duvo Module (a ready-made solution such as AP Invoice Intake & Routing or Freight Audit) as a new Automation on the team, the same as pressing Set up on the Module in the web app. Creates the Module's Agents, code steps, Queues, Policy and dashboards in one call. If the team already has a demo of this Module open, the call is refused with 409 unless convert_existing_demo is true; then that demo becomes the Automation and its sample cases and Runs are deleted, so ask the user first. The Automation starts in setup and does not run yet: call getAutomationReadiness next to see what is left of the setup, the Policy questions, the current process and the automation proposal, whose approval builds the automation. Connections and routing come once the approved proposal is being built, so don't raise them before. Give the user the url.

Input Schema

NameRequiredDescriptionDefault
slugYesModule template to set up, for example `ap-invoice-intake-routing` for AP Invoice Intake & Routing or `freight-audit` for Freight Audit.
team_idNoDuvo team UUID to operate on. API keys are pinned to a single team — omit this (it falls back to the key's team) or pass that same team; a different team is rejected. OAuth callers, who can span multiple teams, should pass the target team here.
convert_existing_demoNoSet true only after the user agreed to it: when the team already has a demo of this Module open, that demo becomes the Automation and its sample cases and Runs are deleted, with no undo. Left false, such a call is refused with 409 and nothing changes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that the created Automation starts in setup and does not run yet, that the 409 refusal leaves state unchanged, and that convert_existing_demo deletes sample cases and Runs with no undo. The destructiveHint annotation is corroborated and made specific rather than merely restated.

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 the action, then the refusal semantics, then the required next step — a logical order with no filler sentences. It is dense and longer than typical, but each clause carries operational information.

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?

No output schema exists, yet the description still tells the agent to give the user the `url`, and it covers the post-call state ('starts in setup'), the next tool to call, and the deferred setup phases. Nothing needed to invoke or follow up correctly is missing.

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 description coverage is 100%, so the schema already explains slug, team_id and convert_existing_demo in detail. The description reinforces the convert_existing_demo consequence and the team-scoping context, but adds little syntax or format detail beyond the structured fields — baseline 3 applies.

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 ('Set up a Duvo Module ... as a new Automation on the team') and grounds it in a concrete UI action, with named examples (AP Invoice Intake & Routing, Freight Audit). It also lists what the call materializes (Agents, code steps, Queues, Policy, dashboards), which distinguishes it from generic siblings like createAutomation or buildClarityAutomation.

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?

Explicit sequencing: call getAutomationReadiness next, and don't raise connections/routing until the approved proposal is being built. It also gives a hard precondition for convert_existing_demo ('ask the user first') and explains the 409 refusal path, so an agent knows both when to use it and when not to.

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