Skip to main content
Glama
Coalesce-Software-Inc

coalesce-transform-mcp

Official

Run and Wait

run_and_wait

Start a Coalesce refresh run and poll until completion or timeout. Returns status and results, including any errors or timeout information.

Instructions

Start a Coalesce refresh run and poll until completion or timeout. Returns a task that can be polled for status.

Requires Snowflake auth via environment variables (Key Pair or PAT). Provide exactly one of runDetails.environmentID or runDetails.workspaceID. If the user provides a job name instead of an ID, look it up with find_jobs_by_name (or list_environment_jobs) first.

Args:

  • runDetails.environmentID (string, optional): Target deployed environment (numeric ID as string)

  • runDetails.workspaceID (string, optional): Target workspace for a development run (numeric ID as string)

  • runDetails.jobID (string, optional): Specific job to run

  • runDetails.includeNodesSelector (string, optional): Node filter

  • runDetails.excludeNodesSelector (string, optional): Node exclusion

  • runDetails.parallelism (number, optional): Max parallel nodes

  • runDetails.forceIgnoreWorkspaceStatus (boolean, optional): Force run

  • confirmRunAllNodes (boolean): Required when no job/node scope

  • parameters (object, optional): Runtime parameters

  • pollInterval (number, optional): Seconds between checks (default: 10, range: 5–300)

  • timeout (number, optional): Max wait seconds (default: 1800, range: 30–3600)

Returns: { status, results, resultsError?, incomplete?, timedOut? }

Inspect timedOut, incomplete, and resultsError fields before continuing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
timeoutNoMax seconds to wait (default: 1800, min: 30, max: 3600)
parametersNoArbitrary key-value parameters to pass to the run
runDetailsYes
pollIntervalNoSeconds between status checks (default: 10, min: 5, max: 300)
confirmRunAllNodesNoMust be set to true when no jobID, includeNodesSelector, or excludeNodesSelector is provided. This confirms you intend to run ALL nodes in the target.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
statusNo
resultsNo
timedOutNo
incompleteNo
resultsErrorNo
Behavior4/5

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

Annotations already indicate readOnlyHint=false and non-destructive nature. The description adds context: it initiates a long-running refresh, polls until timeout, and requires inspecting fields like timedOut and incomplete. It also mentions auth requirements. However, it does not detail potential side effects (e.g., data changes from the run), though the annotations suggest non-destructive behavior.

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?

The description is well-structured with a brief overview, prerequisites, bullet-pointed arguments, and return value section. It front-loads the main purpose. While slightly verbose (e.g., repeating 'Returns a task that can be polled for status' is redundant given the polling behavior), it remains clear and organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (nested objects, 5 top-level params) and the presence of an output schema, the description covers the key aspects: authentication, parameter constraints, return fields, and post-execution inspection. It lacks details on error messages or pagination but is sufficient for an agent to use the tool correctly.

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?

Schema coverage is 80%, so the schema already describes most parameters. The description adds value by explaining default values (pollInterval:10, timeout:1800), ranges, and the mutual exclusivity of environmentID/workspaceID. It clarifies that confirmRunAllNodes is required when no job/node scope is specified, which the schema also notes but the description reiterates concisely.

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 clearly states the tool's function: 'Start a Coalesce refresh run and poll until completion or timeout.' This specific verb-resource combination distinguishes it from siblings like start_run (no wait) and run_status (status-only). The title 'Run and Wait' reinforces the dual action.

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?

The description provides explicit prerequisites (Snowflake auth via env vars), mutual exclusivity of environmentID/workspaceID, and a lookup resolution if job name is provided. It also notes when confirmRunAllNodes is required. While it gives some guidance, it does not explicitly contrast with alternative tools (e.g., when to use retry_and_wait instead) beyond implying it's for starting and waiting.

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/Coalesce-Software-Inc/coalesce-transform-mcp'

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