fabric-dw
OCI · GHCR.IO/SDEBRUYN/FABRIC-DW:2026.7.3 · SCANNED AUG 3
MCP server for Microsoft Fabric Data Warehouses and SQL Analytics Endpoints
Available components
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 →
Supply Chain Security0
- Malware scan not yet available for this package.Unverified
- CVE data not yet available for this package.Unverified
- Install-script risk not yet assessed.Unverified
- Dependency-health data not yet available.Unverified
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 14 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability62
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 19385 tokens (~161/item across 120 items; 120 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 Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 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.
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
oci · ghcr.io/sdebruyn/fabric-dw:2026.7.3
claude mcp add sdebruyn-fabric-dw-mcp -- docker run --rm -i ghcr.io/sdebruyn/fabric-dw:2026.7.3
codex mcp add sdebruyn-fabric-dw-mcp -- docker run --rm -i ghcr.io/sdebruyn/fabric-dw:2026.7.3
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"sdebruyn-fabric-dw-mcp": {
"type": "local",
"command": [
"docker",
"run",
"--rm",
"-i",
"ghcr.io/sdebruyn/fabric-dw:2026.7.3"
],
"enabled": true
}
}
} mcp_servers:
sdebruyn-fabric-dw-mcp:
command: "docker"
args: ["run", "--rm", "-i", "ghcr.io/sdebruyn/fabric-dw:2026.7.3"] {
"mcpServers": {
"sdebruyn-fabric-dw-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/sdebruyn/fabric-dw:2026.7.3"
]
}
}
} 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.
- 2 Aug 26 +3
- Stability: unverified → 0.20 ▲ functional
- 31 Jul 26 −3
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Jul 26 +26
- Tool coverage: unverified → 100 ▲ functional
- First check of Schema quality: fail functional
- First check of Schema quality: good functional
- First check of Tool coverage: 5 functional
- First check of Tool coverage: 100 functional
- First check of Schema quality: fail functional
- 26 Jul 26 11
First indexed and scored.
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
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 3 Aug 2026 · Analysed oci/ghcr.io/sdebruyn/fabric-dw:2026.7.3
Provenance none
Ecosystem: oci · Outcome: none
Reason: no_attestation
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.
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| group | string | yes | — |
| warehouse | string | yes | — |
| workspace | string | yes | — |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| fn_args | array | yes | — |
| fn_name | string | yes | — |
| fn_schema | — | — | — |
| item | string | yes | — |
| policy_name | string | yes | — |
| table_name | string | yes | — |
| table_schema | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| capacity_id | string | yes | — |
| workspace | string | yes | — |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| scope | string | — | — |
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| at | — | — | — |
| item | string | yes | — |
| new_table | string | yes | — |
| source | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | — | — | — |
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | — | — | — |
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| cluster_by | — | — | — |
| columns | array | yes | — |
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | — |
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | — |
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| description | — | — | — |
| name | — | — | — |
| warehouse | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| name | string | yes | — |
| workspace | string | yes | — |
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``).
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| policy_name | string | yes | — |
| predicates | array | yes | — |
| state | boolean | — | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| description | — | — | — |
| name | string | yes | — |
| snapshot_dt | — | — | — |
| warehouse | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| classifier_type | — | — | — |
| classifier_values | — | — | — |
| is_default | boolean | — | — |
| max_percent | integer | yes | — |
| name | string | yes | — |
| optimize_for_reads | boolean | — | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| column | string | yes | — |
| fullscan | boolean | — | — |
| item | string | yes | — |
| qualified_table | string | yes | — |
| sample_percent | — | — | — |
| stat_name | string | yes | — |
| workspace | string | yes | — |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| cluster_by | — | — | — |
| item | string | yes | — |
| qualified_name | string | yes | — |
| select_body | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| qualified_name | string | yes | — |
| select_body | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| collation | — | — | — |
| description | — | — | — |
| name | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| restore_point_id | string | yes | — |
| warehouse | string | yes | — |
| workspace | string | yes | — |
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| cascade | boolean | — | — |
| item | string | yes | — |
| name | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
delete_snapshot ~27
Delete a warehouse snapshot.
| Name | Type | Req | Description |
|---|---|---|---|
| snapshot | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| pool_name | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| qualified_table | string | yes | — |
| stat_name | string | yes | — |
| workspace | string | yes | — |
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
delete_warehouse ~27
Delete a Warehouse.
| Name | Type | Req | Description |
|---|---|---|---|
| warehouse | string | yes | — |
| workspace | string | yes | — |
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| columns | — | — | — |
| item | string | yes | — |
| object_name | — | — | — |
| permissions | string | yes | — |
| principal | string | yes | — |
| schema | — | — | — |
| scope | string | — | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| warehouse | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| column_name | string | yes | — |
| item | string | yes | — |
| table_name | string | yes | — |
| table_schema | string | yes | — |
| workspace | string | yes | — |
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| if_exists | boolean | — | — |
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
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"``).
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| policy_name | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| policy_name | string | yes | — |
| table_name | string | yes | — |
| table_schema | string | yes | — |
| workspace | string | yes | — |
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| retention_days | integer | — | — |
| warehouse | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
execute_sql ~505
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; only the **last** result set is returned. DDL/DML statements that produce no result set return ``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 the result set is larger the response includes ``"truncated": true``. Returns: A dict with keys ``columns`` (list[str]), ``rows`` (list[list[Any]]), ``rowcount`` (int; ``-1`` when the driver does not report a count), ``row_count_returned`` (int), and ``truncate…
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| max_rows | integer | — | — |
| query | string | yes | — |
| workspace | string | yes | — |
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| authentication | string | — | — |
| item | string | yes | — |
| profile_name | string | — | — |
| project_name | string | — | — |
| schema | string | — | — |
| target | string | — | — |
| threads | integer | — | — |
| with_sources | boolean | — | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| warehouse | string | yes | — |
| workspace | string | yes | — |
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| result | array | yes | — |
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
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``.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
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`` → ``{…
| Name | Type | Req | Description |
|---|---|---|---|
| format | string | — | — |
| item | string | yes | — |
| query | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| dist_statement_id | string | yes | — |
| item | string | yes | — |
| workspace | string | yes | — |
| Name | Type | Req | Description |
|---|---|---|---|
| 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"``).
| Name | Type | Req | Description |
|---|---|---|---|
| restore_point_id | string | yes | — |
| warehouse | string | yes | — |
| workspace | string | yes | — |
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).
| Name | Type | Req | Description |
|---|---|---|---|
| endpoint | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| pool_name | string | yes | — |
| workspace | string | yes | — |
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.
| Name | Type | Req | Description |
|---|---|---|---|
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.