Skip to main content
Glama
sdebruyn

fabric-dw-mcp-cli

by sdebruyn

generate_dbt_profile

Creates dbt project files (profiles.yml, dbt_project.yml, sources.yml) for a Fabric Data Warehouse, returning contents to set up dbt locally.

Instructions

Generate dbt-fabric project file contents for a Fabric Data Warehouse.

Returns the generated file contents as text strings. Because the MCP server cannot write to the caller's local filesystem, it is the caller's responsibility to write the returned strings to the appropriate files.

Authentication note: dbt-fabric is Entra-only. ServicePrincipal mode emits {{ env_var(...) }} placeholders for tenant_id / client_id / client_secret — no literal secrets are included in the output.

Args: workspace: Workspace name or GUID. item: Warehouse name or GUID. project_name: dbt project name (default: sanitized warehouse name). profile_name: dbt profile name (default: same as project_name). schema: Default schema (default: dbo). target: dbt output target name (default: dev). threads: Number of dbt threads (default: 4). authentication: dbt-fabric authentication string — auto (DefaultAzureCredential), CLI (interactive), or ServicePrincipal. Defaults to the server's auth mode. with_sources: When True, generate a _sources.yml from the warehouse's actual schemas and tables.

Returns: A dict with keys: - profiles_yml: content for profiles.yml. - dbt_project_yml: content for dbt_project.yml. - sources_yml: content for models/staging/_sources.yml. - requirements_txt: content for requirements.txt. - gitignore: content for .gitignore.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemYes
schemaNodbo
targetNodev
threadsNo
workspaceYes
profile_nameNo
project_nameNo
with_sourcesNo
authenticationNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

With no annotations, the description carries the full burden and discloses the two most important behaviors: the server cannot write to the caller's filesystem, and ServicePrincipal mode emits env_var placeholders with no literal secrets. It also documents the conditional behavior of with_sources and the exact return format, though it never explicitly states the operation is read-only and says nothing about error behavior for invalid workspace/item input.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but proportionally justified: every block — purpose, filesystem limitation, auth note, Args, Returns — adds information the schema and annotations fail to provide. It is front-loaded with purpose and the key behavioral caveat before the parameter reference, and each sentence earns its place.

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 9-parameter tool with zero annotations, zero schema descriptions, and a complex multi-file return contract, the description is nearly exhaustive: all parameters, all 5 return keys, and the critical auth and filesystem caveats are covered. Missing only error behavior for invalid workspace/item and an explicit side-effect profile, which are minor relative to what is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate — and it documents all 9 parameters with plain-language meaning and default resolution (e.g., project_name defaults to 'sanitized warehouse name', authentication defaults to the server's auth mode, with_sources triggers actual schema/table introspection). Every parameter receives context beyond its title, which is exceptional at this coverage level.

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: 'Generate dbt-fabric project file contents for a Fabric Data Warehouse.' The output contract (multi-file text contents) is uniquely identifiable, and no sibling tool performs file-content generation, so it is immediately distinguishable from the ~120 siblings without opening the schema.

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?

Provides clear operational context: the caller must write returned strings because the MCP server cannot write to the local filesystem, and the authentication note explains supported modes (auto/CLI/ServicePrincipal) and defaulting behavior. Does not explicitly state when-not-to-use or name alternatives, but no sibling tool competes for this generation task, so exclusion guidance is unnecessary.

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/sdebruyn/fabric-dw-mcp-cli'

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