Skip to main content
Glama

Data dictionary in Markdown

data_dictionary
Read-only

Writes hand-over documentation: tables, columns and types, keys and relationships with their rules, keyless tables, ambiguous columns, the ER diagram and an empty Description column. Requires workspace and source. Returns Markdown text, cut on a line above 60 000 characters. 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": "data_dictionary"
  }
}

Input Schema

NameRequiredDescriptionDefault
keysNoPrimary keys replacing the inferred ones. Default: inferred. Example: {"order_items": ["order_id", "line_no"]}.
schemaNoSchema in the source. Default "dbo".dbo
sourceYesLakehouse, warehouse or SQL database, name or id.
tablesNoTable names or globs to show. Default all. Example: ["sales_*"].
validateNotrue runs validate_plan's counting queries and includes the counts; false (default) reads metadata only.
confirmedNoRelationships the user confirmed, added to the plan. Default none. Example: [{"source": "orders", "source_cols": ["ship_to_id"], "target": "addresses", "target_cols": ["address_id"]}].
max_itemsNoCap on counting queries (one per key and relationship), 1–200. Default 60.
workspaceYesFabric workspace, name or id.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 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 / keys / description
      Added value: +"Primary keys replacing the inferred ones. Default: inferred. Example: {\"order_items\": [\"order_id\", \"line_no\"]}."
    • addedInput schema / properties / max_items / description
      Added value: +"Cap on counting queries (one per key and relationship), 1–200. Default 60."
    • addedInput schema / properties / schema / description
      Added value: +"Schema in the source. Default \"dbo\"."
    • addedInput schema / properties / source / description
      Added value: +"Lakehouse, warehouse or SQL database, name or id."
    • addedInput schema / properties / tables / description
      Added value: +"Table names or globs to show. Default all. Example: [\"sales_*\"]."
    • addedInput schema / properties / validate / description
      Added value: +"true runs validate_plan's counting queries and includes the counts; false (default) reads metadata only."
    • addedInput schema / properties / workspace / description
      Added value: +"Fabric workspace, name or id."
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Beyond the annotations (readOnly/destructive/openWorld) it discloses output truncation ('cut on a line above 60 000 characters'), the error envelope {error, kind, hint}, and confirms 'Changes nothing', which resolves any doubt raised by the verb 'Writes'. It doesn't say how the counting queries behave when validate is true (cost, runtime), which keeps it off a 5.

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 deliverable, then prerequisites, output shape, side-effect guarantee and error format — a sensible information order. The comma-separated inventory of document sections is dense but each item carries real signal; no sentence is redundant.

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?

An output schema exists, so the description needn't describe return structure, yet it still flags the Markdown format and the 60k truncation — the one return property an agent must know. Combined with the required params and the validate/counting-query distinction, it is nearly complete for an 8-parameter tool; only the interplay between validate, max_items and runtime cost is left unstated.

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 keys, schema, tables, validate, confirmed and max_items are all documented in the schema itself, including defaults and examples. The description adds only the required-parameter constraint (workspace, source); it does not explain how 'confirmed' interacts with inferred relationships beyond what the schema already says. Baseline 3 applies.

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 uses a specific verb ('Writes hand-over documentation') and enumerates the exact content produced: tables, columns and types, keys/relationships with rules, keyless tables, ambiguous columns, ER diagram, Description column. That is far more than a restatement of the name. It stops short of a 5 because it never names a sibling (analyze_schema, dbt_schema, list_tables) it must be distinguished from.

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?

Usage is implied by the artifact ('hand-over documentation') and by naming prerequisites ('Requires workspace and source'), but there is no explicit when-to-use versus analyze_schema/dbt_schema, and no when-not-to-use. The validate flag hints at a costing trade-off but the agent must infer the decision criteria.

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.