Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

fabric-dw

OCI · GHCR.IO/SDEBRUYN/FABRIC-DW:2026.9.0

MCP server for Microsoft Fabric Data Warehouses and SQL Analytics Endpoints

0 this week 60 Trust /100

Last scanned (20 hours ago)

Scores higher than 98% of OCI servers

Category Databases

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: this image's dependency list comes from an SBOM its publisher attached, which nothing verifies, so we will not report it as a clean result. View diagnostics → Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this image's dependency list comes from an SBOM its publisher attached. It names packages and versions but not whether each is deprecated, still maintained or linked to its source, so there is nothing we can fairly grade.Unverified
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to sdebruyn/fabric-dw-mcp-cli). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 55 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability66
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 20729 tokens (~168/item across 123 items; 123 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage73
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 5% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 23 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "delete_warehouse" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 124 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 1 Nov 26 0
    • Stability: 0.97 → pass security
  • 31 Oct 26 0
    • Stability: pass → 0.97 functional
  • 24 Oct 26 0
    • Stability: 0.97 → pass security
  • 23 Oct 26 0
    • Stability: pass → 0.97 functional
  • 17 Oct 26 0
    • Stability: 0.97 → pass security
  • 16 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 14 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 77 to 83. That category is still filling its 30-day observation window: 23 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Analysed oci/ghcr.io/sdebruyn/fabric-dw:2026.9.0

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem oci
Reason Verified
Discovered via OCI referrers API
Source repo sdebruyn/fabric-dw-mcp-cli
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/sdebruyn/fabric-dw-mcp-cli/.github/workflows/docker.yml@refs/tags/v2026.9.0
Rekor log index 2770810681
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha256:c67d33ae0696a73e9a9ea194d1879e70ff01d036e7a4990b196d703d223860f7

Background: How many MCP packages publish verified provenance →

Vulnerabilities 72 ungraded findings

From the publisher's SBOM, not graded. These advisories match packages listed in the SBOM the publisher attached to this image. A publisher naming a vulnerable package in their own image is credible, so we show them. Nothing verifies that SBOM, though, so the Known CVEs signal does not grade the image from it.

ID CVE Severity Vector Fix available
GHSA-2g87-pp6c-29x5 high yes
GHSA-494j-54xm-rwp3 CVE-2026-111063 medium yes
GHSA-5wr8-gcqf-gqf3 CVE-2026-111064 high yes
GHSA-6cjc-53gc-5rqm CVE-2026-111065 medium yes
GHSA-9xw5-w5jj-pvcg CVE-2026-111066 high yes
GHSA-f9xw-jh8m-3mwq CVE-2026-111748 medium yes
GHSA-gx76-c99x-2c96 CVE-2026-111749 low yes
GHSA-pqxq-w44r-73xw CVE-2026-111750 medium yes
GHSA-6q48-6c7w-9gw2 critical yes
PYSEC-2026-4320 none yes
GHSA-567q-5qvw-pf92 CVE-2026-112907 low CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L yes
GHSA-6627-m3xw-93mp CVE-2026-112908 medium CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L yes
GHSA-69hj-f68j-2879 CVE-2026-112909 medium CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N yes
GHSA-8mx5-7m5m-r77g CVE-2026-112910 medium CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L yes
GHSA-9c4x-gm8v-wgc4 CVE-2026-112911 medium CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H yes
GHSA-9vhv-jxww-xfm5 CVE-2026-112913 low CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L yes
GHSA-cwqr-hh33-gh44 CVE-2026-112915 medium CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H yes
GHSA-fq56-3cx3-fjxp CVE-2026-112935 medium CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N yes
GHSA-j8f7-rjxc-mr56 CVE-2026-112936 medium CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L yes
GHSA-m462-7rxw-wvpg CVE-2026-112938 medium CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H yes
GHSA-rfpc-qcw5-3pc4 CVE-2026-112939 medium CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N yes
GHSA-v4x8-3wr5-3wq8 CVE-2026-112940 high CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H yes
GHSA-5h93-6whr-6q8j CVE-2026-116685 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N yes
GHSA-84m7-p3x7-pcfv CVE-2026-59951 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-rwrf-2pqf-9j8j CVE-2026-116686 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H yes
GHSA-w4fh-qvv9-3v23 CVE-2026-116684 medium CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:N yes
GHSA-6v7p-g79w-8964 CVE-2026-57585 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-j586-36cw-2gc2 CVE-2026-114613 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
PYSEC-2026-3625 CVE-2026-57585 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-54p9-h82j-f925 CVE-2026-104874 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yes
PYSEC-2026-4244 CVE-2026-104874 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yes
GHSA-xcq7-p3pf-p88h CVE-2026-114603 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yes
GHSA-2gx3-rcp4-g85q CVE-2026-101917 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yes
GHSA-42vr-xj54-vc7v CVE-2026-101918 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yes
GHSA-8wjv-2p76-3863 CVE-2026-102265 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yes
GHSA-9j54-fg26-wv3r CVE-2026-102266 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N yes
GHSA-9v7f-9g4p-ffgj CVE-2026-102267 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N yes
GHSA-ffc3-869f-jxw9 CVE-2026-102268 critical CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N yes
GHSA-gvp8-978c-rx2q CVE-2026-103001 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N no
GHSA-hxm8-2xgr-2p9m CVE-2026-102269 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N yes
GHSA-jwrc-g2q2-pq5p CVE-2026-102270 medium CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H yes
GHSA-p4g4-x82p-q773 CVE-2026-102271 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N yes
GHSA-pxh4-856f-4h89 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N yes
GHSA-r6x4-923q-g947 CVE-2026-102272 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N yes
GHSA-w2cx-738m-mc7w CVE-2026-102273 high CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N yes
GHSA-w6j9-cwv2-h6wq CVE-2026-102274 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H yes
GHSA-x33g-cr3x-6449 CVE-2026-102275 medium CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:H/A:N yes
PYSEC-2026-4140 CVE-2026-101917 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yes
PYSEC-2026-4141 CVE-2026-101918 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yes
PYSEC-2026-4142 CVE-2026-102265 medium CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L yes

Showing 50 of 72 vulnerabilities.

Background: What a vulnerability scan can and cannot prove →

MCP tools · 123 exposed · ~20,549 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_audit_group ~175

Add a single audit action group without overwriting the others. Idempotent -- if the group is already present the current settings are returned unchanged. Auditing must already be enabled. CAUTION: changes take effect immediately on the live audit policy. CAUTION: Each audit write reads current settings via an eventually-consistent GET that may lag a recent PATCH by several minutes. Two audit writes issued within that window can cause the second to silently revert the first. Space audit writes at least a few minutes apart. Args: workspace: Workspace name or GUID. warehouse: Warehouse or SQL analytics endpoint name or GUID. group: Action group name, e.g. ``BATCH_COMPLETED_GROUP``.

NameTypeReqDescription
groupstringyes–
warehousestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

add_security_predicate ~229

Add a FILTER predicate to an existing row-level security policy. Executes ``ALTER SECURITY POLICY ... ADD FILTER PREDICATE``. There is no predicate-type or operation parameter (#966): Fabric Data Warehouse supports FILTER predicates only. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. policy_name: Qualified policy name (``"schema.name"`` or ``"name"``). fn_name: Name of the predicate function. fn_args: Column names to pass to the predicate function. table_schema: Schema name of the target table. table_name: Name of the target table. fn_schema: Schema name of the predicate function (optional -- omit when the function lives in the default schema).

NameTypeReqDescription
fn_argsarrayyes–
fn_namestringyes–
fn_schema–––
itemstringyes–
policy_namestringyes–
table_namestringyes–
table_schemastringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

assign_workspace_to_capacity ~57

Assign a workspace to a Fabric capacity. Args: workspace: Workspace name or GUID. capacity_id: UUID of the capacity to assign the workspace to.

NameTypeReqDescription
capacity_idstringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

clear_cache ~138

Erase cached workspace and item name-to-UUID mappings. Args: scope: Which portion of the cache to clear. - ``"workspaces"`` — clear only workspace name→UUID entries. - ``"items"`` — clear only item (warehouse/endpoint) entries. - ``"all"`` (default) — clear all entries. Returns: A dict with keys ``scope`` (the value used), ``workspaces_cleared`` (number of workspace entries removed), and ``items_cleared`` (number of item workspace buckets removed).

NameTypeReqDescription
scopestring––

Structured output declared, but exposes no named fields.

No examples provided.

clear_table ~151

Truncate a SQL table (remove all rows, keep structure). Only supported on Fabric Data Warehouses (not SQL Analytics Endpoints). The service rejects SQL Analytics Endpoints with a ``ToolError``. CAUTION: This is a destructive, irreversible operation. All rows will be permanently deleted. The table structure and schema are preserved. Confirm with the user before calling. Args: workspace: Workspace name or GUID. item: Warehouse name or GUID. SQL Analytics Endpoints are rejected. qualified_name: Dot-separated qualified table name, e.g. ``dbo.sales``.

NameTypeReqDescription
itemstringyes–
qualified_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

clone_table ~200

Create a zero-copy clone of a table using ``CREATE TABLE … AS CLONE OF …``. Only supported on Fabric Data Warehouses (not SQL Analytics Endpoints). Args: workspace: Workspace name or GUID. item: Warehouse name or GUID. source: Qualified source table name, e.g. ``dbo.sales``. new_table: Qualified name for the new cloned table, e.g. ``dbo.sales_clone``. at: Optional ISO-8601 UTC timestamp for a point-in-time clone, e.g. ``2024-05-20T14:00:00``. Must be within the data-retention window (30 days by default). When omitted, the clone reflects the current state of the source table.

NameTypeReqDescription
at–––
itemstringyes–
new_tablestringyes–
sourcestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

count_table_rows ~154

Return the total row count of a table via ``SELECT COUNT_BIG(*)``. Works on both Fabric Data Warehouses and SQL Analytics Endpoints. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. qualified_name: Dot-separated qualified table name, e.g. ``dbo.sales``. as_of: Optional ISO-8601 UTC timestamp for a point-in-time (time-travel) count. When supplied the query uses ``OPTION (FOR TIMESTAMP AS OF ...)``. Omit to count the latest data.

NameTypeReqDescription
as_of–––
itemstringyes–
qualified_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

count_view_rows ~156

Return the total row count of a view via ``SELECT COUNT_BIG(*)``. Works on both Fabric Data Warehouses and SQL Analytics Endpoints. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. qualified_name: Dot-separated qualified view name, e.g. ``dbo.vw_sales``. as_of: Optional ISO-8601 UTC timestamp for a point-in-time (time-travel) count. When supplied the query uses ``OPTION (FOR TIMESTAMP AS OF ...)``. Omit to count the latest data.

NameTypeReqDescription
as_of–––
itemstringyes–
qualified_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

create_empty_table ~332

Create an empty table from an explicit column spec (DDL only, no data). Builds ``CREATE TABLE [schema].[table] (col TYPE [NULL|NOT NULL], …)`` from the supplied column definitions. No data is read or inserted; this is a pure DDL operation. Server-side file access is unreliable in MCP deployments, so CSV/Parquet inference is not available via this tool — use the ``fabric-dw tables create --from-parquet`` or ``--from-csv`` CLI commands instead. Only supported on Fabric Data Warehouses (not SQL Analytics Endpoints). When ``cluster_by`` is supplied, each column must appear in ``columns``. Args: workspace: Workspace name or GUID. item: Warehouse name or GUID. qualified_name: Dot-separated qualified table name, e.g. ``dbo.sales``. columns: List of column definitions, each a dict with: ``name`` (str) — column identifier; ``sql_type`` (str) — Fabric-DW T-SQL type, e.g. ``"INT"``, ``"VARCHAR(255)"``; ``nullable`` (bool, optional, default true) — whether the column allows NULL. cluster_by: Optional list of column names for the ``CLUSTER BY`` clause (up to 4). Each name must appear in ``columns``.

NameTypeReqDescription
cluster_by–––
columnsarrayyes–
itemstringyes–
qualified_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

create_function ~200

Create a new T-SQL user-defined function. Scalar UDFs and inline TVFs are preview features on Fabric DW as of mid-2026. Function DDL is supported on both Data Warehouses and SQL Analytics Endpoints. CAUTION: ``body`` is executed verbatim as DDL. Ensure the body matches the user's intent before calling this tool. The body should include the parameter list, RETURNS clause, and function body (everything that follows ``CREATE FUNCTION [schema].[name]``). Args: workspace: Workspace name or GUID. item: Warehouse or SQL Analytics Endpoint name or GUID. qualified_name: Dot-separated qualified function name, e.g. ``dbo.fn_clean_input``. body: The function body (parameter list, RETURNS clause, and implementation).

NameTypeReqDescription
bodystringyes–
itemstringyes–
qualified_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

create_procedure ~141

Create a new stored procedure. Stored procedures are supported on both Fabric Data Warehouses and SQL Analytics Endpoints. CAUTION: ``body`` is executed verbatim as DDL. Ensure the body matches the user's intent before calling this tool. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. qualified_name: Dot-separated qualified procedure name, e.g. ``dbo.usp_load``. body: The procedure body (the AS … section).

NameTypeReqDescription
bodystringyes–
itemstringyes–
qualified_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

create_restore_point ~86

Create a restore point for a warehouse at the current timestamp. Args: workspace: Workspace name or GUID. warehouse: Warehouse name or GUID. name: Optional display name (max 128 chars). description: Optional description (max 512 chars).

NameTypeReqDescription
description–––
name–––
warehousestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

create_schema ~105

Create a new SQL schema on a warehouse or SQL Analytics Endpoint. Both Fabric Data Warehouses and SQL Analytics Endpoints support ``CREATE SCHEMA`` per the Microsoft Fabric T-SQL reference. Args: workspace: Workspace name or GUID. item: Warehouse or SQL Analytics Endpoint name or GUID. name: The schema name. Must be a valid SQL identifier.

NameTypeReqDescription
itemstringyes–
namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

create_security_policy ~240

Create a row-level security policy. Executes ``CREATE SECURITY POLICY`` with one or more FILTER predicates. There is no predicate-type option (#966): Fabric Data Warehouse supports FILTER predicates only. Each entry in *predicates* must include: - ``fn_schema``: schema of the predicate function - ``fn_name``: name of the predicate function - ``fn_args``: list of column names to pass to the function - ``table_schema``: schema of the target table - ``table_name``: name of the target table Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. policy_name: Qualified policy name (``"schema.name"`` or ``"name"``). predicates: List of predicate definitions (see above). state: Initial policy state -- ``True`` to enable, ``False`` to disable (default: ``True``).

NameTypeReqDescription
itemstringyes–
policy_namestringyes–
predicatesarrayyes–
stateboolean––
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

create_snapshot ~113

Create a new warehouse snapshot. Args: workspace: Workspace name or GUID. warehouse: Warehouse name or GUID. name: Display name for the new snapshot. description: Optional description. snapshot_dt: Optional ISO-8601 datetime string for the snapshot point-in-time. Naive datetimes (no timezone offset) are interpreted as UTC.

NameTypeReqDescription
description–––
namestringyes–
snapshot_dt–––
warehousestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

create_sql_pool ~184

Add a new custom SQL pool to a workspace. Args: workspace: Workspace name or GUID. name: Pool name (must be unique within the workspace). max_percent: Max resource percentage (1-100). is_default: Whether this pool is the default pool. Defaults to false. optimize_for_reads: Enable read optimisation. Defaults to true. classifier_type: Classifier type (e.g. ``"Application Name"``). classifier_values: List of classifier values (e.g. application names). Requires workspace admin role. This tool targets a **beta / preview** API.

NameTypeReqDescription
classifier_type–––
classifier_values–––
is_defaultboolean––
max_percentintegeryes–
namestringyes–
optimize_for_readsboolean––
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

create_statistics ~205

Create a single-column statistic on a table. Only supported on Data Warehouses (SQL Analytics Endpoints are read-only). Only single-column statistics are supported (Fabric limitation). Args: workspace: Workspace name or GUID. item: Warehouse name or GUID. SQL Analytics Endpoints are rejected. qualified_table: Qualified table name, e.g. ``dbo.sales``. column: Column name to build the statistic on. stat_name: Name for the new statistic. fullscan: When True (default), use WITH FULLSCAN. Ignored when sample_percent is provided. sample_percent: Sample percentage (1-100). When provided, overrides fullscan and uses WITH SAMPLE n PERCENT.

NameTypeReqDescription
columnstringyes–
fullscanboolean––
itemstringyes–
qualified_tablestringyes–
sample_percent–––
stat_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

create_table ~386

Create a new SQL table via CTAS (CREATE TABLE AS SELECT). Only supported on Fabric Data Warehouses (not SQL Analytics Endpoints). The service rejects SQL Analytics Endpoints with a ``ToolError``. CAUTION: ``select_body`` is executed verbatim as DDL on the warehouse. Ensure the body matches the user's intent before calling this tool. ``select_body`` must be a single read-only SELECT or WITH (CTE) statement. The guard is always on and fail-closed: a write keyword (DELETE, DROP, INSERT, etc.) or a semicolon anywhere in the body is rejected, even inside a string literal or quoted identifier. If a legitimate query body contains a write keyword (e.g. a column alias 'DELETE'), rewrite the expression to avoid the keyword. When ``cluster_by`` is supplied, the DDL becomes ``CREATE TABLE … WITH (CLUSTER BY ([c1], [c2])) AS SELECT …``. Column existence is not validated for CTAS because the result columns come from the SELECT and are not known ahead of time. Args: workspace: Workspace name or GUID. item: Warehouse name or GUID. SQL Analytics Endpoints are rejected. qualified_name: Dot-separated qualified table name, e.g. ``dbo.sales``. select_body: Single read-only SELECT or WITH (CTE) statement for the CTAS source. Write keywords and semicolons are rejected fail-closed, even inside string literals or quoted identifiers. cluster_by: Optional list of column names for the ``CLUSTER BY`` clause (up to 4).

NameTypeReqDescription
cluster_by–––
itemstringyes–
qualified_namestringyes–
select_bodystringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

create_view ~254

Create a new SQL view. CAUTION: ``select_body`` is executed verbatim as DDL. Ensure the body matches the user's intent before calling this tool. ``select_body`` must be a single read-only SELECT or WITH (CTE) statement. The guard is always on and fail-closed: a write keyword (DELETE, DROP, INSERT, etc.) or a semicolon anywhere in the body is rejected, even inside a string literal or quoted identifier. If a legitimate view body contains a write keyword (e.g. a column alias 'DELETE'), rewrite the expression to avoid the keyword. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. qualified_name: Dot-separated qualified view name, e.g. ``dbo.vw_sales``. select_body: Single read-only SELECT or WITH (CTE) statement for the view body. Write keywords and semicolons are rejected fail-closed, even inside string literals or quoted identifiers.

NameTypeReqDescription
itemstringyes–
qualified_namestringyes–
select_bodystringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

create_warehouse ~214

Create a new Warehouse in a workspace. Args: workspace: Workspace name or GUID. name: Display name for the new warehouse. collation: Optional default collation for the new warehouse. Fabric Data Warehouse supports a fixed set of collations. Supported values include: - ``Latin1_General_100_BIN2_UTF8`` (recommended default) - ``Latin1_General_100_CI_AS_KS_WS_SC_UTF8`` - ``Latin1_General_CI_AS`` - ``SQL_Latin1_General_CP1_CI_AS`` When omitted, the workspace default collation is used. Supplying an unsupported value will cause the Fabric API to return an error. See the Fabric documentation for the full list of supported collations. description: Optional description for the new warehouse.

NameTypeReqDescription
collation–––
description–––
namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

delete_restore_point ~76

Delete a user-defined restore point. System-created restore points cannot be deleted. Args: workspace: Workspace name or GUID. warehouse: Warehouse name or GUID. restore_point_id: The restore point ID string.

NameTypeReqDescription
restore_point_idstringyes–
warehousestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

delete_schema ~211

Drop a SQL schema from a warehouse. CAUTION: This is a destructive, irreversible operation. The schema will be permanently deleted. If the schema still contains tables or views, the operation will fail unless *cascade* is ``True``. CAUTION: When *cascade* is ``True``, **all tables and views in the schema are permanently deleted along with their data**. Confirm explicitly with the user before calling with ``cascade=True``. Both Fabric Data Warehouses and SQL Analytics Endpoints support ``DROP SCHEMA`` per the Microsoft Fabric T-SQL reference. Args: workspace: Workspace name or GUID. item: Warehouse or SQL Analytics Endpoint name or GUID. name: The schema name to drop. cascade: When ``True``, drop all tables and views in the schema first. Defaults to ``False``.

NameTypeReqDescription
cascadeboolean––
itemstringyes–
namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

delete_snapshot ~27

Delete a warehouse snapshot.

NameTypeReqDescription
snapshotstringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

delete_sql_pool ~70

Delete an SQL pool from a workspace. Args: workspace: Workspace name or GUID. pool_name: Name of the pool to delete. Requires workspace admin role. This tool targets a **beta / preview** API.

NameTypeReqDescription
pool_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

delete_statistics ~124

Drop a statistic via DROP STATISTICS. CAUTION: This is a destructive, irreversible operation. Only supported on Data Warehouses (SQL Analytics Endpoints are read-only). Args: workspace: Workspace name or GUID. item: Warehouse name or GUID. SQL Analytics Endpoints are rejected. qualified_table: Qualified table name, e.g. ``dbo.sales``. stat_name: Name of the statistic to drop.

NameTypeReqDescription
itemstringyes–
qualified_tablestringyes–
stat_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

delete_table ~137

Drop a SQL table. Only supported on Fabric Data Warehouses (not SQL Analytics Endpoints). The service rejects SQL Analytics Endpoints with a ``ToolError``. CAUTION: This is a destructive, irreversible operation. The table and all its data will be permanently deleted. Confirm with the user before calling. Args: workspace: Workspace name or GUID. item: Warehouse name or GUID. SQL Analytics Endpoints are rejected. qualified_name: Dot-separated qualified table name, e.g. ``dbo.sales``.

NameTypeReqDescription
itemstringyes–
qualified_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

delete_warehouse ~27

Delete a Warehouse.

NameTypeReqDescription
warehousestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

deny_permission ~303

Deny permissions on a securable to a principal. Executes ``DENY <permissions> ON <scope> TO <principal>``. Blocked by ``FABRIC_MCP_READONLY``. Does NOT require ``FABRIC_MCP_ALLOW_DESTRUCTIVE``. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. permissions: Comma-separated permission tokens (e.g. ``"SELECT"``). principal: Principal name to deny (Entra UPN, app GUID, or role name). scope: Securable class -- ``"DATABASE"`` (default), ``"SCHEMA"``, or ``"OBJECT"``. schema: Schema name (required when scope is ``"SCHEMA"``). object_name: Qualified object name ``<schema>.<object>`` (required when scope is ``"OBJECT"``). columns: Optional list of column names for column-level security (OBJECT scope only; permissions must be SELECT, UPDATE, or REFERENCES). Pass ``None`` (omit) for no column restriction. Passing an empty list raises a ``ToolError``.

NameTypeReqDescription
columns–––
itemstringyes–
object_name–––
permissionsstringyes–
principalstringyes–
schema–––
scopestring––
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

disable_audit ~110

Disable SQL auditing on a warehouse or SQL analytics endpoint. CAUTION: Each audit write reads current settings via an eventually-consistent GET that may lag a recent PATCH by several minutes. Two audit writes issued within that window can cause the second to silently revert the first. Space audit writes at least a few minutes apart. Args: workspace: Workspace name or GUID. warehouse: Warehouse or SQL analytics endpoint name or GUID.

NameTypeReqDescription
warehousestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

disable_sql_pools ~60

Disable custom SQL Pools for a workspace, preserving pool configuration. Re-enabling with enable_sql_pools restores the previously saved configuration. Requires workspace admin role. This tool targets a **beta / preview** API.

NameTypeReqDescription
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

drop_column_mask ~167

Remove a dynamic data mask from a column. Executes ``ALTER TABLE ... ALTER COLUMN ... DROP MASKED``. This is a permanently destructive operation -- the mask is removed from the column and unmasked values become visible to all users who query the column. Requires ``FABRIC_MCP_ALLOW_DESTRUCTIVE=1``. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. table_schema: Schema name of the target table. table_name: Name of the target table. column_name: Name of the column whose mask to remove.

NameTypeReqDescription
column_namestringyes–
itemstringyes–
table_namestringyes–
table_schemastringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

drop_function ~148

Drop a T-SQL user-defined function. Function DDL is supported on both Data Warehouses and SQL Analytics Endpoints. Args: workspace: Workspace name or GUID. item: Warehouse or SQL Analytics Endpoint name or GUID. qualified_name: Dot-separated qualified function name, e.g. ``dbo.fn_clean_input``. if_exists: When ``true``, a missing function is treated as a no-op and ``{"dropped": false}`` is returned instead of raising an error. Defaults to ``false``.

NameTypeReqDescription
if_existsboolean––
itemstringyes–
qualified_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

drop_procedure ~93

Drop a stored procedure. Stored procedures are supported on both Fabric Data Warehouses and SQL Analytics Endpoints. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. qualified_name: Dot-separated qualified procedure name, e.g. ``dbo.usp_load``.

NameTypeReqDescription
itemstringyes–
qualified_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

drop_security_policy ~119

Drop a row-level security policy. Executes ``DROP SECURITY POLICY``. This is a permanently destructive operation -- the policy and all its predicates are removed. Requires ``FABRIC_MCP_ALLOW_DESTRUCTIVE=1``. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. policy_name: Qualified policy name (``"schema.name"`` or ``"name"``).

NameTypeReqDescription
itemstringyes–
policy_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

drop_security_predicate ~176

Drop the FILTER predicate from an existing row-level security policy. Executes ``ALTER SECURITY POLICY ... DROP FILTER PREDICATE ON``. The T-SQL ``DROP PREDICATE ON`` syntax takes no operation qualifier. There is no predicate-type parameter (#966): Fabric Data Warehouse supports FILTER predicates only. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. policy_name: Qualified policy name (``"schema.name"`` or ``"name"``). table_schema: Schema name of the target table. table_name: Name of the target table.

NameTypeReqDescription
itemstringyes–
policy_namestringyes–
table_namestringyes–
table_schemastringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

drop_view ~75

Drop a SQL view. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. qualified_name: Dot-separated qualified view name, e.g. ``dbo.vw_sales``.

NameTypeReqDescription
itemstringyes–
qualified_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

enable_audit ~147

Enable SQL auditing on a warehouse or SQL analytics endpoint. CAUTION: The pre-flight GET used to round-trip the existing action-group list is eventually consistent and may lag a recent PATCH by several minutes. If the action-group list was changed within that window, this call may silently revert it. Space audit writes at least a few minutes apart. Args: workspace: Workspace name or GUID. warehouse: Warehouse or SQL analytics endpoint name or GUID. retention_days: Log retention in days (0-3650; 0 = unlimited). Default 0.

NameTypeReqDescription
retention_daysinteger––
warehousestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

enable_sql_pools ~46

Enable custom SQL Pools for a workspace without modifying pool definitions. Requires workspace admin role. This tool targets a **beta / preview** API.

NameTypeReqDescription
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

execute_sql ~580

Execute an arbitrary SQL statement or batch against a warehouse or SQL Analytics Endpoint. Prefer dedicated tools for common operations: use read_table or read_view to fetch rows, count_table_rows or count_view_rows to count, list_tables, list_views, list_schemas to discover objects, get_table_columns or get_view_columns to inspect schemas, and delete_table, rename_table, or clear_table to mutate. Dedicated tools return structured, typed results with no dialect pitfalls or batch-truncation surprises. WARNING: this tool executes arbitrary SQL against the target. DDL (DROP, ALTER, TRUNCATE) and DML (DELETE, UPDATE) are permitted unless ``FABRIC_MCP_READONLY=1`` is set. Use only when the user explicitly requests data modification. Default to SELECT when the user's intent is read-only investigation. Supports both Warehouse and SQL Analytics Endpoint items. Multi-statement batches are allowed; the tool keeps the last result set that has a column list (i.e. the last query), not the last statement. A batch that ends with DDL/DML after a query, such as ``SELECT id FROM t; UPDATE t SET x = 1;``, returns the ``SELECT`` result and does not separately report that the ``UPDATE`` ran. A statement with no result set at all (DDL/DML with nothing else in the batch) returns ``columns=[]`` and ``rows=[]``. ``datetime`` and ``Decimal`` column values are pre-serialised to strings. ``bytes`` / varbinary columns are base64-encoded and their column names are suffixed with ``__base64``. For large tables, add a TOP clause or WHERE predicate to the query rather than relying solely on ``max_rows``. The driver fetches at most ``max_rows + 1`` rows (enough to detect truncation) so memory is bounded, but pushing the limit into the query itself is always more efficient. Args: workspace: Workspace name or GUID. item: Warehouse or SQL Analytics Endpoint name or GUID. query: SQL statement or batch to execute. max_rows: Maximum rows to return (1-10000, default 1000). When t…

NameTypeReqDescription
itemstringyes–
max_rowsinteger––
querystringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

generate_dbt_profile ~425

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``.

NameTypeReqDescription
authenticationstring––
itemstringyes–
profile_namestring––
project_namestring––
schemastring––
targetstring––
threadsinteger––
with_sourcesboolean––
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

get_audit_settings ~60

Fetch the current SQL audit settings for a warehouse or SQL analytics endpoint. Args: workspace: Workspace name or GUID. warehouse: Warehouse or SQL analytics endpoint name or GUID.

NameTypeReqDescription
warehousestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

get_cluster_columns ~114

Return the data-clustering columns of a table, ordered by clustering ordinal. Only supported on Fabric Data Warehouses. SQL Analytics Endpoints raise a ``ToolError``. Returns an empty list when no clustering columns are defined. Args: workspace: Workspace name or GUID. item: Warehouse name or GUID. qualified_name: Dot-separated qualified table name, e.g. ``dbo.sales``.

NameTypeReqDescription
itemstringyes–
qualified_namestringyes–
workspacestringyes–
NameTypeReqDescription
resultarrayyes–

No examples provided.

get_function ~133

Fetch the full definition of a T-SQL user-defined function (schema.fn). Returns the function definition (from ``sys.sql_modules``) and its parameter list (from ``sys.parameters``). Scalar UDFs and inline TVFs are supported on both Data Warehouses and SQL Analytics Endpoints. Args: workspace: Workspace name or GUID. item: Warehouse or SQL Analytics Endpoint name or GUID. qualified_name: Dot-separated qualified function name, e.g. ``dbo.fn_clean_input``.

NameTypeReqDescription
itemstringyes–
qualified_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

get_procedure ~100

Fetch the full definition of a stored procedure (schema.proc). Stored procedures are supported on both Fabric Data Warehouses and SQL Analytics Endpoints. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. qualified_name: Dot-separated qualified procedure name, e.g. ``dbo.usp_load``.

NameTypeReqDescription
itemstringyes–
qualified_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

get_query_plan ~584

Capture the estimated SHOWPLAN_XML execution plan for a SQL query without executing it. This tool does NOT execute the query — it only retrieves the estimated execution plan as SHOWPLAN_XML. Because no data is modified, this tool is permitted even under ``FABRIC_MCP_READONLY=1``. The plan XML uses the standard namespace ``http://schemas.microsoft.com/sqlserver/2004/07/showplan`` and can be opened in SSMS, Azure Data Studio, or uploaded to pastetheplan.com for visual analysis. Since the query is not executed, DDL/DML query text is safe to plan without modifying any data. Supports both Warehouse and SQL Analytics Endpoint items. **Format options:** - ``"xml"`` *(default, backwards-compatible)* — returns the raw SHOWPLAN_XML string in ``plan_xml``. Existing callers relying on ``{"plan_xml": str}`` continue to work unchanged. - ``"tree"`` — parses the XML into a native nested list of dicts (one entry per statement) in ``plan``. Best for agent reasoning over the plan structure. - ``"json"`` — same tree, serialised to an indented JSON string in ``plan_json``. Ready to write out or pass through as compact text. - ``"mermaid"`` — renders a Mermaid ``flowchart TD`` diagram string in ``mermaid``. Paste into mermaid.live or embed in GitHub Markdown. **Artifact formats (SVG/HTML/DOT) are CLI-only.** They write files to disk and are only available via ``fdw sql plan --format <fmt> -o <file>``. The MCP server never writes files (ambiguous cwd, invisible side-effects). Args: workspace: Workspace name or GUID. item: Warehouse or SQL Analytics Endpoint name or GUID. query: SQL statement to generate an estimated execution plan for. format: Output format — one of ``"xml"`` (default), ``"tree"``, ``"json"``, or ``"mermaid"``. Returns: A dict whose shape depends on *format*: - ``xml`` → ``{"format": "xml", "plan_xml": str}`` - ``tree`` → ``{"format": "tree", "plan": list[dict]}`` - ``json`` → ``{…

NameTypeReqDescription
formatstring––
itemstringyes–
querystringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

get_request_detail ~100

Look up a completed query from queryinsights.exec_requests_history. Uses distributed_statement_id to retrieve full query text and execution metrics after the query completes. Args: workspace: Workspace name or GUID. item: Warehouse or SQL Analytics Endpoint name or GUID. dist_statement_id: The GUID identifying the distributed statement to look up.

NameTypeReqDescription
dist_statement_idstringyes–
itemstringyes–
workspacestringyes–
NameTypeReqDescription
result–yes–

No examples provided.

get_restore_point ~82

Return a single restore point by ID. Args: workspace: Workspace name or GUID. warehouse: Warehouse name or GUID. restore_point_id: The restore point ID string (e.g. ``"1726617378000"``).

NameTypeReqDescription
restore_point_idstringyes–
warehousestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

get_sql_endpoint ~36

Return details for a single SQL analytics endpoint (name or GUID).

NameTypeReqDescription
endpointstringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

get_sql_pool ~69

Return details for a single SQL pool by name. Args: workspace: Workspace name or GUID. pool_name: The pool name. Requires workspace admin role. This tool targets a **beta / preview** API.

NameTypeReqDescription
pool_namestringyes–
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

get_sql_pools_status ~100

Return whether custom SQL Pools are enabled for a workspace. Returns only the workspace-level enabled/disabled switch (``customSQLPoolsEnabled``). Use ``list_sql_pools`` to see the pool list, or ``get_sql_pool`` for a single pool's details. Requires workspace admin role. This tool targets a **beta / preview** API endpoint that may change before general availability.

NameTypeReqDescription
workspacestringyes–

Structured output declared, but exposes no named fields.

No examples provided.

Install

How do I install the fabric-dw MCP server?

fabric-dw runs locally as a container image, launched with docker run --rm -i -e FABRIC_AUTH -e FABRIC_MCP_READONLY -e FABRIC_MCP_ALLOW_DESTRUCTIVE -e FABRIC_MCP_WORKSPACES -e FABRIC_MCP_ALLOW_REMOTE -e FABRIC_LOG_LEVEL ghcr.io/sdebruyn/fabric-dw:2026.9.0. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · ghcr.io/sdebruyn/fabric-dw:2026.9.0

# add to Claude Code
claude mcp add sdebruyn-fabric-dw-mcp -- docker run --rm -i -e FABRIC_AUTH -e FABRIC_MCP_READONLY -e FABRIC_MCP_ALLOW_DESTRUCTIVE -e FABRIC_MCP_WORKSPACES -e FABRIC_MCP_ALLOW_REMOTE -e FABRIC_LOG_LEVEL ghcr.io/sdebruyn/fabric-dw:2026.9.0

This image reads FABRIC_AUTH, FABRIC_MCP_READONLY, FABRIC_MCP_ALLOW_DESTRUCTIVE, FABRIC_MCP_WORKSPACES, FABRIC_MCP_ALLOW_REMOTE and FABRIC_LOG_LEVEL. Set them in your client's env block for this server; docker run -e passes each one through to the container.

Common questions

What is the fabric-dw MCP server?

fabric-dw is an MCP server listed in the public MCP registry as io.github.sdebruyn/fabric-dw-mcp. MCP server for Microsoft Fabric Data Warehouses and SQL Analytics Endpoints. This page covers its container image (ghcr.io/sdebruyn/fabric-dw:2026.9.0).

Is the fabric-dw MCP server safe to use?

fabric-dw scores 60 out of 100 on VerifyMCP. The SBOM its publisher attached lists packages with 72 known advisories as of 4 November 2026. We do not grade that SBOM, as nothing verifies it. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the fabric-dw MCP server expose?

fabric-dw exposes 123 tools: assign_workspace_to_capacity, list_capacities, list_workspaces, get_workspace, set_workspace_collation, and 118 more. Their descriptions and schemas cost roughly 20,549 tokens of context every time the server is loaded.

Is the fabric-dw MCP server still maintained?

fabric-dw is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the fabric-dw MCP server under?

fabric-dw declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.