Skip to main content
Glama

Create or update the silver, gold and check pipeline in Fabric (dry run by default)

create_pipeline
DestructiveIdempotent

Creates the pipeline export_item_definitions drafts with items=["pipeline"]: the silver and gold notebooks of create_silver_notebook and create_gold_views, a check notebook, and a data pipeline that runs them in that order, each only after the one before succeeded, so a failed check fails the run. Items of these names are updated in place. Requires workspace, a lakehouse source with schemas and name; Notebook.ReadWrite.All and DataPipeline.ReadWrite.All (or Item.ReadWrite.All), and Contributor. Returns JSON with the definitions and REST calls; with dry_run=false also each step's result. Changes Fabric only with dry_run=false: four definitions are replaced, nothing is deleted, nothing runs and no schedule is added. Errors: {error, kind, hint}.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "workspace": "<workspace>",
      "source": "<source>",
      "name": "<name>"
    },
    "name": "create_pipeline"
  }
}

Input Schema

NameRequiredDescriptionDefault
keysNoPrimary keys replacing the inferred ones. Default: inferred. Example: {"order_items": ["order_id", "line_no"]}.
nameYesDisplay name of the pipeline; its check notebook is <name>_check. Existing items with these names are updated in place. Example: "pipeline_shop".
schemaNoSchema in the source. Default "dbo".dbo
sourceYesLakehouse, warehouse or SQL database, name or id.
tablesNoExact table names to include. Default all.
dry_runNotrue (default) returns what would be created and the REST calls, changing nothing; false creates or updates.
confirmedNoRelationships the user confirmed, added to the plan. Default none. Example: [{"source": "orders", "source_cols": ["ship_to_id"], "target": "addresses", "target_cols": ["address_id"]}].
gold_nameNoDisplay name of the gold views notebook the pipeline runs, updated in place if it exists. Default "" (gold_<schema>). Example: "gold_shop".
workspaceYesFabric workspace, name or id.
gold_schemaNoLakehouse schema for the gold views. Default "gold". Example: "gold".gold
silver_nameNoDisplay name of the silver notebook the pipeline runs, updated in place if it exists. Default "" (silver_<schema>). Example: "silver_shop".
silver_schemaNoLakehouse schema with the silver tables create_silver_notebook writes. Default "silver".silver
show_personal_dataNotrue includes columns named like personal data; false (default) masks or omits them.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: sequencing ('each only after the one before succeeded, so a failed check fails the run'), overwrite semantics ('Items of these names are updated in place', 'four definitions are replaced'), explicit non-effects ('nothing is deleted, nothing runs and no schedule is added'), return content, and the error shape {error, kind, hint}. This is exactly the destructive-scope detail the destructiveHint=true flag cannot convey on its own, and it is consistent with it.

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?

Roughly 110 words for a 13-parameter, multi-artifact tool, with the primary effect front-loaded in the first clause and almost no filler. The tradeoff is that it reads as one dense block of semicolon-chained clauses, making it harder to scan than a short bulleted structure would be.

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?

For a high-complexity, open-world, multi-artifact mutation, it covers permissions, dry-run safety, ordering/failure behavior, idempotency, and error format, and an output schema exists so return shape need not be spelled out. The remaining gap is that several plan-shaping parameters (keys, tables, confirmed, show_personal_data) are only documented in the schema, not tied into the described workflow.

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 coverage is 100%, so the schema already documents all 13 parameters, and the description's baseline is therefore 3. It adds some meaning by tying silver_name/gold_name to the notebooks produced by the sibling tools and noting the '<name>_check' derivation, but it never mentions keys, tables, confirmed, show_personal_data, or gold_schema/silver_schema, so it does not meaningfully enrich the parameter surface.

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 and enumerates the exact artifacts produced: 'the silver and gold notebooks of create_silver_notebook and create_gold_views, a check notebook, and a data pipeline that runs them in that order'. It also distinguishes itself from the sibling notebook-creators by naming them, so an agent can tell this is the orchestration layer rather than the notebook authoring tool.

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?

Gives concrete preconditions: 'Requires workspace, a lakehouse source with schemas and name; Notebook.ReadWrite.All and DataPipeline.ReadWrite.All (or Item.ReadWrite.All), and Contributor', and explains the dry-run-first workflow via 'Changes Fabric only with dry_run=false'. It stops short of an explicit when-to-use-this-instead-of statement against siblings such as export_item_definitions or the individual create_* tools, so no exclusion guidance is present.

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.