Skip to main content
Glama
doitintl

DoiT MCP Server

Official
by doitintl

import_cloudflow_flow

Destructive

Import a CloudFlow bundle to create draft flows in the target tenant, bind required resources, and optionally create missing Datastore tables. Use dry-run to preview the import plan and validation issues.

Instructions

Manage CloudFlow. Creates every flow of a previously exported bundle in the authenticated tenant. Imports are create-only: each call creates new draft flows with new IDs — nothing is published and no schedule is activated until the target tenant publishes.

Requirements declared by the bundle are resolved through bindings (requirement key → target-tenant resource ID). Unbound connections and Datastore tables leave the referencing nodes flagged incomplete; unbound global variables are auto-created. Pass options.createMissingTables: true to create missing Datastore tables from the schemas embedded in the bundle (structure only, never row data).

Dry-run: pass ?dryRun=true to validate without writing. The response is an import plan: per-requirement resolutions with candidate bindings in the target tenant, the flows that would be created, and every validation issue at once.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bundleYesPortable, tenant-neutral export of one or more flows. Contains no credentials, tenant identifiers, schedules, or execution state; tenant-scoped references are declared under `requirements` and appear inside node parameters as `$req:<section>/<key>` tokens (subflow references as `$bundle:flows/<flowKey>`).
dryRunNo
optionsNo
bindingsNoRequirement key → target-tenant resource ID. Keys must be declared in the bundle's requirements. Run with `?dryRun=true` first to list required keys and candidate IDs.
Idempotency-KeyYes
customerContextNoScope the request to a specific customer by ID. Required for DoiT employees (whose token isn't tied to a single customer); omit for direct customer users.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed3 schema fields changedv0.22.0
    • addedInput schema / properties / bundle / properties / flows / items / properties / localVariables / items / properties / value / type
      Added value: +"string"
    • addedInput schema / properties / bundle / properties / flows / items / properties / nodes / items / properties / approval / properties / message / type
      Added value: +"string"
    • addedInput schema / properties / bundle / properties / requirements / properties / globalVariables / items / properties / value / type
      Added value: +"string"
  2. Addedv0.20.0

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the sparse annotations: create-only semantics, no publishing or schedule activation, incomplete-flag behavior for unbound connections/tables, auto-creation of global variables, table creation limited to structure, and dry-run with no writes. This gives an agent a precise behavioral model.

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 description is front-loaded with the core behavior and each additional sentence covers a distinct high-value aspect: restrictions, binding/requirement handling, table creation options, and dry-run validation. The length is justified by the tool's complexity with no filler.

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?

For a complex nested bundle importer with no output schema, the description covers the main behavioral contracts, failure/validation modes, and response shape for dry-runs. It also explains tenant-scoped requirements and what happens to unbound resources, so a caller can safely attempt an import.

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?

With schema coverage at 50%, the description compensates by explaining bindings semantics (requirement key → target resource ID), the createMissingTables behavior, and dry-run's parameter effect. It does not mention every parameter, but the ones with non-obvious semantics are addressed meaningfully.

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 names a specific operation: 'Creates every flow of a previously exported bundle in the authenticated tenant.' It clarifies that imports are create-only with new IDs, which distinguishes it from read/list/export CloudFlow siblings without needing to inspect schemas.

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?

It clearly explains when to use the tool (importing a previously exported bundle) and instructs to run with ?dryRun=true first to validate and discover required bindings. It does not explicitly name sibling alternatives or state when not to use it, but the context is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/doitintl/doit-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server