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.
set_audit_retention ~170
Update the audit log retention period without changing the audit enabled/disabled state. Audit must already be enabled; if disabled, enable it first with ``enable_audit``. 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. days: Retention period in days (1-3650). The API enforces its own upper bound.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | yes | — |
| warehouse | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
set_cluster_columns ~310
Change (or remove) the data-clustering columns of an existing table. Rebuilds the table via a transactional CTAS-swap: 1. ``CREATE TABLE [schema].[__recluster_<hex>] [WITH (CLUSTER BY (...))] AS SELECT * FROM [schema].[orig]`` 2. ``DROP TABLE [schema].[orig]`` 3. ``EXEC sp_rename`` to restore the original name All three steps run inside ONE transaction. Any failure rolls back automatically — no orphan temp table is left behind. CAUTION: This operation copies the full table (runtime is proportional to table size). Dependent views and stored procedures that reference this table by name are NOT automatically updated by ``sp_rename`` and may need refreshing after the swap. Only supported on Fabric Data Warehouses (not SQL Analytics Endpoints). 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``. cluster_by: New list of column names for the ``CLUSTER BY`` clause (up to 4). Pass ``null`` or an empty list to remove clustering (rebuilds table without ``CLUSTER BY``).
| Name | Type | Req | Description |
|---|---|---|---|
| cluster_by | — | — | — |
| item | string | yes | — |
| qualified_name | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
set_column_mask ~508
Apply or replace a dynamic data mask on a column. Executes ``ALTER TABLE ... ALTER COLUMN ... ADD MASKED WITH (FUNCTION = '...')``. ``ADD MASKED`` replaces any existing mask on the column without error. Blocked by ``FABRIC_MCP_READONLY``. Supported mask function types: - ``"default"`` -- full masking; no extra args. - ``"email"`` -- email masking (exposes first char and ``".com"`` suffix); no extra args. - ``"random"`` -- numeric random mask; requires *start* and *end*. - ``"partial"`` -- custom string partial mask; requires *prefix*, *padding*, and *suffix*. 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 to mask. fn_type: Mask function type -- ``"default"``, ``"email"``, ``"random"``, or ``"partial"`` (case-insensitive). start: Lower bound for ``random()`` masking (required when *fn_type* is ``"random"``). Must be <= *end*. end: Upper bound for ``random()`` masking (required when *fn_type* is ``"random"``). prefix: Leading characters to expose for ``partial()`` masking (required when *fn_type* is ``"partial"``). padding: Replacement padding string for ``partial()`` masking (required when *fn_type* is ``"partial"``). Must not contain ``"``, ``)``, ``;``, ``--``, control characters (including U+0085, U+2028, U+2029), and must not exceed 128 characters. suffix: Trailing characters to expose for ``partial()`` masking (required when *fn_type* is ``"partial"``).
| Name | Type | Req | Description |
|---|---|---|---|
| column_name | string | yes | — |
| end | — | — | — |
| fn_type | string | yes | — |
| item | string | yes | — |
| padding | — | — | — |
| prefix | — | — | — |
| start | — | — | — |
| suffix | — | — | — |
| table_name | string | yes | — |
| table_schema | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
set_data_lake_log_publishing ~163
Enable or disable Delta Lake log publishing on a warehouse. Executes ``ALTER DATABASE CURRENT SET DATA_LAKE_LOG_PUBLISHING = { AUTO | PAUSED }`` and returns the effective settings read back after the change. Only supported on Fabric Data Warehouses (not SQL Analytics Endpoints). SQL Analytics Endpoints are rejected with a ``ToolError``. Args: workspace: Workspace name or GUID. item: Warehouse name or GUID. SQL Analytics Endpoints are rejected. enabled: ``True`` to enable Delta Lake log publishing (``= AUTO``), ``False`` to disable it (``= PAUSED``).
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | yes | — |
| item | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
set_result_set_caching ~143
Enable or disable result-set caching on a warehouse. Executes ``ALTER DATABASE CURRENT SET RESULT_SET_CACHING { ON | OFF }`` and returns the effective settings read back after the change. Only supported on Fabric Data Warehouses (not SQL Analytics Endpoints). SQL Analytics Endpoints are rejected with a ``ToolError``. Args: workspace: Workspace name or GUID. item: Warehouse name or GUID. SQL Analytics Endpoints are rejected. enabled: ``True`` to enable result-set caching, ``False`` to disable it.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | yes | — |
| item | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
set_security_policy_state ~136
Enable or disable a row-level security policy. Executes ``ALTER SECURITY POLICY ... WITH (STATE = ON|OFF)``. Not destructive -- enabling or disabling a policy is reversible. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. policy_name: Qualified policy name (``"schema.name"`` or ``"name"``). enabled: ``True`` to enable the policy, ``False`` to disable it.
| Name | Type | Req | Description |
|---|---|---|---|
| enabled | boolean | yes | — |
| item | string | yes | — |
| policy_name | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
set_time_travel_retention ~148
Set the time-travel retention period on a warehouse. Executes ``ALTER DATABASE CURRENT SET TIME_TRAVEL_RETENTION_PERIOD = <n> DAYS`` and returns the effective settings read back after the change. Only supported on Fabric Data Warehouses (not SQL Analytics Endpoints). SQL Analytics Endpoints are rejected with a ``ToolError``. Args: workspace: Workspace name or GUID. item: Warehouse name or GUID. SQL Analytics Endpoints are rejected. days: Retention period in days. Must be in the range 1-120 (inclusive).
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | yes | — |
| item | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
set_workspace_collation ~174
Set the default Data Warehouse collation for a workspace. Args: workspace: Workspace name or GUID. collation: Collation to apply. 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`` Supplying an unsupported value will cause the Fabric API to return an error. See the Fabric documentation for the full list of supported collations.
| Name | Type | Req | Description |
|---|---|---|---|
| collation | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
show_statistics ~144
Show details of a statistic using DBCC SHOW_STATISTICS. Returns the stat header, density vector, and histogram steps. Both Data Warehouses and SQL Analytics Endpoints are supported. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. qualified_table: Qualified table name, e.g. ``dbo.sales``. stat_name: The name of the statistic to show. histogram_only: When True, return only the histogram steps.
| Name | Type | Req | Description |
|---|---|---|---|
| histogram_only | boolean | — | — |
| 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.
takeover_warehouse ~29
Take ownership of a Warehouse.
| Name | Type | Req | Description |
|---|---|---|---|
| warehouse | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
transfer_function ~223
Move a T-SQL user-defined function to another schema via ALTER SCHEMA TRANSFER. Function DDL is supported on both Data Warehouses and SQL Analytics Endpoints -- unlike table transfer, no endpoint guard applies here. CAUTION: ``ALTER SCHEMA ... TRANSFER`` does not rewrite the schema name inside the function's stored definition (``sys.sql_modules.definition``). After a transfer, ``get_function`` may still show the *old* schema name in the ``CREATE ... AS`` header, even though the function now lives in the new schema. This tool does not rewrite the definition text. Args: workspace: Workspace name or GUID. item: Warehouse or SQL Analytics Endpoint name or GUID. qualified_name: Current dot-separated qualified function name, e.g. ``dbo.fn_clean_input``. target_schema: Schema to move the function into, e.g. ``archive``.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| qualified_name | string | yes | — |
| target_schema | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
transfer_procedure ~214
Move a stored procedure to another schema via ``ALTER SCHEMA ... TRANSFER OBJECT::...``. Stored procedures are supported on both Fabric Data Warehouses and SQL Analytics Endpoints; unlike ``transfer_table``, no endpoint guard is applied here. CAUTION: ``ALTER SCHEMA ... TRANSFER`` moves the procedure but does NOT rewrite the schema name inside its stored definition. After a transfer, ``get_procedure`` may still show the OLD schema name in the ``CREATE ... AS`` header even though the procedure now lives in the new schema. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. qualified_name: Current dot-separated qualified procedure name, e.g. ``dbo.usp_load``. target_schema: Schema to move the procedure into, e.g. ``archive``.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| qualified_name | string | yes | — |
| target_schema | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
transfer_table ~217
Move a SQL table to another schema via ``ALTER SCHEMA ... TRANSFER OBJECT::...``. Data-Warehouse-only: transferring a table between schemas via T-SQL is not supported on the Fabric SQL Analytics Endpoint and can break the OneLake sync, so SQL Analytics Endpoints are rejected with a ``ToolError``. CAUTION: Permissions granted directly on the table are dropped by the engine when the schema changes. Dependent views and stored procedures that reference the table by its old schema-qualified name are NOT automatically updated and may need refreshing after the transfer. Args: workspace: Workspace name or GUID. item: Warehouse name or GUID. SQL Analytics Endpoints are rejected. qualified_name: Current dot-separated qualified table name, e.g. ``dbo.sales``. target_schema: Schema to move the table into, e.g. ``archive``.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| qualified_name | string | yes | — |
| target_schema | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
transfer_view ~259
Move a SQL view to another schema via ``ALTER SCHEMA ... TRANSFER OBJECT::...``. Works on both Data Warehouses and SQL Analytics Endpoints — no DW-only guard is applied. CAUTION: ``ALTER SCHEMA ... TRANSFER`` moves the view but does **not** rewrite the schema name inside the view's stored definition (``sys.sql_modules.definition``, ``OBJECT_DEFINITION()``). After a transfer, the returned (and any subsequent ``get_view``) ``definition`` may still show the *old* schema name in the ``CREATE ... AS`` header, even though the view now lives in the new schema. This tool does not rewrite the definition text — doing so would require parsing and regenerating SQL, which this project deliberately avoids. Args: workspace: Workspace name or GUID. item: Warehouse or SQL endpoint name or GUID. qualified_name: Current dot-separated qualified view name, e.g. ``dbo.vw_sales``. target_schema: Schema to move the view into, e.g. ``archive``.
| Name | Type | Req | Description |
|---|---|---|---|
| item | string | yes | — |
| qualified_name | string | yes | — |
| target_schema | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
update_function ~208
Redefine a T-SQL user-defined function via CREATE OR ALTER FUNCTION. Note: ALTER FUNCTION cannot change the function kind (e.g. scalar to inline TVF). The body must be compatible with the original function's kind. 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. 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 new 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.
update_procedure ~149
Redefine a stored procedure via CREATE OR ALTER 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 new 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.
update_restore_point ~120
Rename and/or update the description of a restore point. At least one of *name* or *description* must be provided. Args: workspace: Workspace name or GUID. warehouse: Warehouse name or GUID. restore_point_id: The restore point ID string. name: New display name (max 128 chars). description: New description (max 512 chars).
| Name | Type | Req | Description |
|---|---|---|---|
| description | — | — | — |
| name | — | — | — |
| restore_point_id | string | yes | — |
| warehouse | string | yes | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
update_sql_pool ~188
Update an existing SQL pool. Only the parameters you supply are changed. Args: workspace: Workspace name or GUID. name: Name of the pool to update. max_percent: New max resource percentage (1-100), or omit to keep current. is_default: Set or clear the default flag, or omit to keep current. optimize_for_reads: Enable/disable read optimisation, or omit to keep current. classifier_type: New classifier type, or omit to keep current. classifier_values: New classifier value list, or omit to keep current. Requires workspace admin role. This tool targets a **beta / preview** API.
| Name | Type | Req | Description |
|---|---|---|---|
| classifier_type | — | — | — |
| classifier_values | — | — | — |
| is_default | — | — | — |
| max_percent | — | — | — |
| name | string | yes | — |
| optimize_for_reads | — | — | — |
| workspace | string | yes | — |
Structured output declared, but exposes no named fields.
No examples provided.
update_statistics ~178
Update an existing statistic via UPDATE STATISTICS. 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 update. 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 |
|---|---|---|---|
| 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.
update_view ~261
Redefine a SQL view via CREATE OR ALTER 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 new 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.