Skip to main content
Glama

Export what the creating tools would create, in Fabric's Git format

export_item_definitions
Read-only

Exports what the creating tools would create as files in Fabric's Git format: a . folder per item, views as .sql, a README; items=["pipeline"] adds a data pipeline draft (silver, gold, then a check that fails the run); items=["catalog"] the OneLake catalog descriptions and tags per item with the REST calls (not sent). Requires workspace and source. Returns JSON with the files, the items and what was skipped and why. Changes nothing. 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": "export_item_definitions"
  }
}

Input Schema

NameRequiredDescriptionDefault
keysNoPrimary keys replacing the inferred ones. Default: inferred. Example: {"order_items": ["order_id", "line_no"]}.
itemsNoWhich creating tools to export: create_backend, create_semantic_model, create_views, create_silver_notebook, create_drift_monitor, create_gold_views; or "pipeline", a draft no tool creates (silver, gold, then a check), with the silver and gold notebooks; or "catalog", item descriptions and tags (alone: no files). Default: all creating tools. Example: ["create_backend", "pipeline"].
namesNo{tool: display name} per exported item. Default: <source>_api, <source>_model, silver_<schema>, drift_monitor_<schema>, gold_<schema>, pipeline_<schema> (its check notebook: <name>_check). Example: {"create_backend": "shop_api"}.
schemaNoSchema in the source. Default "dbo".dbo
sourceYesLakehouse, warehouse or SQL database, name or id.
tablesNoExact table names to include. Default all.
writableNotrue includes create, update and delete mutations in the API; false (default) gives a read-only API. Example: true.
confirmedNoRelationships the user confirmed, added to the plan. Default none. Example: [{"source": "orders", "source_cols": ["ship_to_id"], "target": "addresses", "target_cols": ["address_id"]}].
workspaceYesFabric workspace, name or id.
check_rowsNotrue: with row counts. Default false.
gold_schemaNoLakehouse schema for the gold views. Default "gold". Example: "gold".gold
views_schemaNoSchema the T-SQL views go into; created if missing. Default "krusgraph". Example: "reporting".krusgraph
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. Changed2 schema fields changed
    • addedInput schema / properties / check_rows
      Added value: +{
      +  "default": false,
      +  "description": "true: with row counts. Default false.",
      +  "title": "Check Rows",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / items / description
      Previous value: -"Which creating tools to export: create_backend, create_semantic_model, create_views, create_silver_notebook, create_drift_monitor, create_gold_views; or \"pipeline\", a draft no tool creates (silver, gold, then a check), with the silver and gold notebooks. Default: all creating tools. Example: [\"create_backend\", \"pipeline\"]."New value: +"Which creating tools to export: create_backend, create_semantic_model, create_views, create_silver_notebook, create_drift_monitor, create_gold_views; or \"pipeline\", a draft no tool creates (silver, gold, then a check), with the silver and gold notebooks; or \"catalog\", item descriptions and tags (alone: no files). Default: all creating tools. Example: [\"create_backend\", \"pipeline\"]."
  2. Changed2 schema fields changed
    • changedInput schema / properties / items / description
      Previous value: -"Which creating tools to export: create_backend, create_semantic_model, create_views, create_silver_notebook, create_drift_monitor, create_gold_views. Default: all. Example: [\"create_backend\", \"create_semantic_model\"]."New value: +"Which creating tools to export: create_backend, create_semantic_model, create_views, create_silver_notebook, create_drift_monitor, create_gold_views; or \"pipeline\", a draft no tool creates (silver, gold, then a check), with the silver and gold notebooks. Default: all creating tools. Example: [\"create_backend\", \"pipeline\"]."
    • changedInput schema / properties / names / description
      Previous value: -"{tool: display name} per exported item. Default: <source>_api, <source>_model, silver_<schema>, drift_monitor_<schema>, gold_<schema>. Example: {\"create_backend\": \"shop_api\"}."New value: +"{tool: display name} per exported item. Default: <source>_api, <source>_model, silver_<schema>, drift_monitor_<schema>, gold_<schema>, pipeline_<schema> (its check notebook: <name>_check). Example: {\"create_backend\": \"shop_api\"}."
  3. Changed13 schema fields changed
    • addedInput schema / properties / confirmed / description
      Added value: +"Relationships the user confirmed, added to the plan. Default none. Example: [{\"source\": \"orders\", \"source_cols\": [\"ship_to_id\"], \"target\": \"addresses\", \"target_cols\": [\"address_id\"]}]."
    • addedInput schema / properties / gold_schema / description
      Added value: +"Lakehouse schema for the gold views. Default \"gold\". Example: \"gold\"."
    • addedInput schema / properties / items / description
      Added value: +"Which creating tools to export: create_backend, create_semantic_model, create_views, create_silver_notebook, create_drift_monitor, create_gold_views. Default: all. Example: [\"create_backend\", \"create_semantic_model\"]."
    • addedInput schema / properties / keys / description
      Added value: +"Primary keys replacing the inferred ones. Default: inferred. Example: {\"order_items\": [\"order_id\", \"line_no\"]}."
    • addedInput schema / properties / names / description
      Added value: +"{tool: display name} per exported item. Default: <source>_api, <source>_model, silver_<schema>, drift_monitor_<schema>, gold_<schema>. Example: {\"create_backend\": \"shop_api\"}."
    • addedInput schema / properties / schema / description
      Added value: +"Schema in the source. Default \"dbo\"."
    • addedInput schema / properties / show_personal_data / description
      Added value: +"true includes columns named like personal data; false (default) masks or omits them."
    • addedInput schema / properties / silver_schema / description
      Added value: +"Lakehouse schema with the silver tables create_silver_notebook writes. Default \"silver\"."
    • addedInput schema / properties / source / description
      Added value: +"Lakehouse, warehouse or SQL database, name or id."
    • addedInput schema / properties / tables / description
      Added value: +"Exact table names to include. Default all."
    • addedInput schema / properties / views_schema / description
      Added value: +"Schema the T-SQL views go into; created if missing. Default \"krusgraph\". Example: \"reporting\"."
    • addedInput schema / properties / workspace / description
      Added value: +"Fabric workspace, name or id."
    • addedInput schema / properties / writable / description
      Added value: +"true includes create, update and delete mutations in the API; false (default) gives a read-only API. Example: true."
  4. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so 'Changes nothing' is corroborative rather than revelatory, but the description adds non-obvious behavior: the catalog REST calls are 'not sent', skipped items are reported with reasons, the pipeline draft includes a check that intentionally fails the run, and errors surface as {error, kind, hint}. That is genuine context beyond the annotation set. It doesn't discuss the size/volume of the returned file payload, which is the main practical risk for a read-only export.

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 purpose and the required inputs are front-loaded, and no sentence is filler — even the parentheticals carry payload. The tradeoff is density: two long run-on sentences with nested parentheses make the pipeline/catalog semantics harder to parse than a short bulleted list would. It is appropriately sized for a 14-parameter tool, just not optimally structured for scanning.

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 14-parameter, read-only export with an output schema, the description covers the essential burdens: prerequisites, the meaning of the special 'items' modes, the guarantee that nothing is mutated, and the error envelope shape. Return contents needn't be detailed because an output schema exists. What's missing is how the many optional shaping parameters (keys, confirmed, show_personal_data, writable, check_rows) interact with each exported item type — though the schema documents each individually.

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 100%, so the baseline is 3; the description earns above that by explaining the two magic values of 'items' in terms of what they actually emit ('pipeline' → silver, gold, then a check that fails the run; 'catalog' → OneLake catalog descriptions and tags with REST calls not sent). Those distinctions go past the schema's enum-like list and tell the agent what it will get. The other 12 parameters (keys, confirmed, show_personal_data, check_rows, writable, schemas) are left entirely to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: it exports the artifacts the creating tools would produce, rendered as Fabric Git-format files (.sql views, README, per-item folder, optional pipeline/catalog extras). It situates itself relative to the create_* family by describing the export as 'what the creating tools would create', so an agent can distinguish it from the individual create_backend/create_views tools. It stops short of explicitly naming a sibling it replaces, which keeps it just below a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states prerequisites ('Requires workspace and source') and explains that items=["pipeline"] adds a draft no tool creates and items=["catalog"] yields descriptions/tags alone with no files, which is real usage guidance for the non-obvious modes. It never says when an agent should export instead of calling the corresponding create_* tools, nor what the default (all creating tools) is good for versus a targeted subset, so the guidance is implied rather than explicit.

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.