Skip to main content
Glama
doitintl

DoiT MCP Server

Official
by doitintl

test_run_cloudflow_flow

Destructive

Test-run a draft CloudFlow to verify it before publishing; execution mirrors production, including approvals, while excluded from history, stats, and budget. Add dryRun to validate without running.

Instructions

Manage CloudFlow. Runs a flow once as a test, and accepts an unpublished (draft) flow — unlike actions/trigger, which requires the flow to be published. Use this to verify a newly authored or edited flow before publishing it.

Execution is identical to a production run: the same graph, the same bound connections, the same credentials, and the same approval behaviour. An approval-gated node still parks the run and its side effect still waits for a real approval — there is no request that skips one.

The run is recorded as a test, so it does not appear in run history, does not count towards dashboard statistics, does not become a dashboard widget's data source, and does not consume a scheduled-run budget. It does hold the flow's concurrency lock, so a 409 is returned while the flow is already running.

The flow's first node must be a webhook, scheduled, or manual trigger.

Before dispatching, the flow is validated with the same checks publish applies — a draft has never been through them. A flow that fails returns 422 listing every offending node at once, so all of them can be fixed in one pass.

Poll the Location URL to follow the run and read what each node produced.

Pass ?dryRun=true to validate the flow without starting a run.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dryRunNo
flowIdYes
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. Addedv0.22.0

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, it discloses substantial behavioral details: execution is identical to production, approval-gated nodes still wait for real approval, the run is recorded as a test, it does not affect history/dashboards/budgets, it holds the concurrency lock causing 409s, and validation failures return 422 listing all offending nodes. This gives an agent a clear model of side effects and failure behavior.

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 long but every paragraph earns its place: sibling distinction, execution semantics, side effects, concurrency behavior, validation behavior, and error handling. Key differentiators are front-loaded in the first two sentences, and the rest is structured by topic.

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 tool with no output schema, the description covers the full lifecycle: when to use, preconditions, execution semantics, side effects, concurrency conflicts, validation errors, how to follow the run via Location URL, and the dryRun escape hatch. An agent has enough context to invoke it correctly and interpret meaningful outcomes.

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?

The description adds meaningful semantics for dryRun ('validate the flow without starting a run'), which is useful given low schema coverage. However, flowId and Idempotency-Key receive no explicit explanation beyond their names and required status, and customerContext is left to the schema's own description. The description only partially compensates for the low schema_description_coverage.

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 states a specific action (runs a flow once as a test) and a specific resource (CloudFlow), while immediately distinguishing itself from the alternative that requires a published flow. This clearly separates it from trigger_cloud_flow even though the description refers to it by the older name 'actions/trigger'.

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 explicitly says to use this tool to verify a newly authored or edited flow before publishing, and contrasts it with the tool that requires a published flow. It also gives one additional usage condition: the first node must be webhook, scheduled, or manual trigger, and describes the dryRun alternative for validation without execution.

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