Skip to main content
Glama

Update an existing data spec, step 2: run analysis after uploading

finish_data_spec_update

Call ONLY after the file(s) returned by update_data_spec have actually been uploaded (each PUT returned HTTP 200) — kicks off AI analysis and waits until the spec reaches "ready" or "failed". The upload is verified against storage first: if a file is missing this refuses, spends no credits, and hands back a fresh upload URL with the curl command to use. If it returns before the spec settles (timedOut: true), do NOT call this tool again just to keep checking — that re-attempts starting analysis. Poll with get_status (specId) instead until it reaches a terminal status.

Upload EVERY file update_data_spec listed before calling this. Analysis regenerates the parser and mapping from the spec's full stored input set, so a half-finished upload means the new files are combined with the old versions of the ones that did not make it — which produces a wrong mapping, not a failure. If an upload did not go through, go back and complete it first.

Input Schema

NameRequiredDescriptionDefault
specIdYesspecId returned by update_data_spec.
specNameYesName of the data spec being updated.
runAnalysisNoDefault true — set false to skip analysis and just confirm the upload.
workspaceIdNoWorkspace to act on. Defaults to your only workspace if you have exactly one.
loadSampleDataNoWhether analysis should also trigger the data-load job (default true).

Output Schema

NameRequiredDescriptionDefault
errorNo
specIdNo
statusNo"processing" | "ready" | "failed"
messageYes
progressNo
timedOutNo
lastJobIdNo
workspaceIdNo
errorDetailsNo
statusMessageNo
analysisEndTimeNo
analysisStartTimeNo
analysisDurationMsNo
hasTransformationConfigNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / specId / description
      Added value: +"specId returned by update_data_spec."
    • addedInput schema / properties / specName / description
      Added value: +"Name of the data spec being updated."
  2. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only supply a safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false); the description supplies the operationally important behavior on top: storage verification before running, refusal with no credit spend plus a fresh upload URL and curl command on failure, a timedOut:true early-return condition, and the consequence of an incomplete upload (silently wrong mapping rather than an error). This is exactly the non-idempotent, side-effecting context an agent needs.

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 hard prerequisite and then the re-entry warning, with each subsequent sentence carrying a distinct operational fact (verification/refund behavior, timedOut handling, partial-upload hazard). It is slightly long at two dense paragraphs, but almost nothing is 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?

Output schema exists so return values and the timedOut field need no explanation, and the description still covers prerequisites, failure semantics, credit behavior and the correct recovery path. For a multi-step, non-idempotent workflow tool this is complete enough to call safely.

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 documents specId, specName, runAnalysis, workspaceId and loadSampleData including defaults. The description reinforces the specId provenance ('returned by update_data_spec') and the meaning of a premature return, but adds no syntax or format detail beyond the schema, so 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 ('kicks off AI analysis and waits until the spec reaches ready or failed') and clearly positions itself as step 2 of a two-step flow whose step 1 is update_data_spec. An agent can distinguish it from update_data_spec and get_status 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?

Gives explicit preconditions ('Call ONLY after the file(s) returned by update_data_spec have actually been uploaded'), an explicit prohibition for re-entry ('do NOT call this tool again just to keep checking') and the named alternative for that case ('Poll with get_status (specId) instead'). Both the when and the when-not are spelled out.

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