fabric-dw — MCP-сервер для Claude Code: SQL в Microsoft Fabric
MCP-сервер и CLI для Microsoft Fabric Data Warehouses и SQL Analytics Endpoints: запросы, планы, права и статистика прямо из агента.
claude mcp add --env FABRIC_AUTH=<FABRIC_AUTH> --env FABRIC_MCP_READONLY=<FABRIC_MCP_READONLY> --env FABRIC_MCP_ALLOW_DESTRUCTIVE=<FABRIC_MCP_ALLOW_DESTRUCTIVE> --env FABRIC_MCP_WORKSPACES=<FABRIC_MCP_WORKSPACES> --env FABRIC_MCP_ALLOW_REMOTE=<FABRIC_MCP_ALLOW_REMOTE> --transport stdio fabric-dw -- docker run -i --rm -e FABRIC_AUTH -e FABRIC_MCP_READONLY -e FABRIC_MCP_ALLOW_DESTRUCTIVE -e FABRIC_MCP_WORKSPACES -e FABRIC_MCP_ALLOW_REMOTE ghcr.io/sdebruyn/fabric-dw:2026.9.0Что делает fabric-dw
fabric-dw ставит два интерфейса к хранилищам Microsoft Fabric: консольную утилиту fdw и MCP-сервер, который отдаёт те же операции агенту как инструменты. Внутри — работа с рабочими пространствами, складами, SQL-эндпоинтами, схемами, таблицами, представлениями, запросами, снимками, точками восстановления, аудитом, статистикой, правами и пулами SQL.
Авторизация задаётся переменной FABRIC_AUTH. Значение по умолчанию (default) идёт по цепочке DefaultAzureCredential из azure-identity: переменные окружения, управляемая идентичность, Azure CLI, Azure Developer CLI, Azure PowerShell, интерактивный браузер. Любого из этих источников достаточно, поэтому на машине без настроенного доступа сервер не подключится к складу.
В комплекте идут скиллы для Claude: query-optimizer, warehouse-performance и dbt-setup. Ставятся они вместе с сервером через маркетплейс плагинов — одна пара команд для Claude и GitHub Copilot CLI. Рабочее пространство можно закрепить один раз через fdw config set workspace <NAME> и дальше не указывать -w в каждом вызове. Есть образ в Docker: по умолчанию его ENTRYPOINT — это MCP-сервер, а для CLI его переопределяют на fabric-dw.
Из полезного в CLI: fdw sql plan рисует оценочный план в SVG без SSMS и Windows, fdw queries running показывает, что выполняется сейчас, fdw tables read открывает таблицу в состоянии на момент в прошлом, а fdw tables export выгружает снимок в Parquet.
Какие задачи решает
- выполнить SQL-запрос к складу Fabric из терминала
- посмотреть оценочный план запроса в SVG без SSMS
- найти долго выполняющиеся запросы за последний час
- выгрузить снимок таблицы на момент времени в Parquet
- выдать или запретить доступ к отдельным столбцам
Примеры запросов агенту
- Покажи, какие запросы сейчас выполняются в SalesWH
- Выгрузи таблицу dbo.orders в состоянии на два часа назад в Parquet
- Разбери план запроса из
query.sqlи предложи, что переписать
Как установить fabric-dw
Командой платформы
claude mcp add --env FABRIC_AUTH=<FABRIC_AUTH> --env FABRIC_MCP_READONLY=<FABRIC_MCP_READONLY> --env FABRIC_MCP_ALLOW_DESTRUCTIVE=<FABRIC_MCP_ALLOW_DESTRUCTIVE> --env FABRIC_MCP_WORKSPACES=<FABRIC_MCP_WORKSPACES> --env FABRIC_MCP_ALLOW_REMOTE=<FABRIC_MCP_ALLOW_REMOTE> --transport stdio fabric-dw -- docker run -i --rm -e FABRIC_AUTH -e FABRIC_MCP_READONLY -e FABRIC_MCP_ALLOW_DESTRUCTIVE -e FABRIC_MCP_WORKSPACES -e FABRIC_MCP_ALLOW_REMOTE ghcr.io/sdebruyn/fabric-dw:2026.9.0Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Командой платформы
codex mcp add fabric-dw --env FABRIC_AUTH=<FABRIC_AUTH> --env FABRIC_MCP_READONLY=<FABRIC_MCP_READONLY> --env FABRIC_MCP_ALLOW_DESTRUCTIVE=<FABRIC_MCP_ALLOW_DESTRUCTIVE> --env FABRIC_MCP_WORKSPACES=<FABRIC_MCP_WORKSPACES> --env FABRIC_MCP_ALLOW_REMOTE=<FABRIC_MCP_ALLOW_REMOTE> -- docker run -i --rm -e FABRIC_AUTH -e FABRIC_MCP_READONLY -e FABRIC_MCP_ALLOW_DESTRUCTIVE -e FABRIC_MCP_WORKSPACES -e FABRIC_MCP_ALLOW_REMOTE ghcr.io/sdebruyn/fabric-dw:2026.9.0Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Файл настроек
{
"mcpServers": {
"fabric-dw": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FABRIC_AUTH",
"-e",
"FABRIC_MCP_READONLY",
"-e",
"FABRIC_MCP_ALLOW_DESTRUCTIVE",
"-e",
"FABRIC_MCP_WORKSPACES",
"-e",
"FABRIC_MCP_ALLOW_REMOTE",
"ghcr.io/sdebruyn/fabric-dw:2026.9.0"
],
"env": {
"FABRIC_AUTH": "<FABRIC_AUTH>",
"FABRIC_MCP_READONLY": "<FABRIC_MCP_READONLY>",
"FABRIC_MCP_ALLOW_DESTRUCTIVE": "<FABRIC_MCP_ALLOW_DESTRUCTIVE>",
"FABRIC_MCP_WORKSPACES": "<FABRIC_MCP_WORKSPACES>",
"FABRIC_MCP_ALLOW_REMOTE": "<FABRIC_MCP_ALLOW_REMOTE>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Файл настроек
{
"servers": {
"fabric-dw": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"FABRIC_AUTH",
"-e",
"FABRIC_MCP_READONLY",
"-e",
"FABRIC_MCP_ALLOW_DESTRUCTIVE",
"-e",
"FABRIC_MCP_WORKSPACES",
"-e",
"FABRIC_MCP_ALLOW_REMOTE",
"ghcr.io/sdebruyn/fabric-dw:2026.9.0"
],
"env": {
"FABRIC_AUTH": "<FABRIC_AUTH>",
"FABRIC_MCP_READONLY": "<FABRIC_MCP_READONLY>",
"FABRIC_MCP_ALLOW_DESTRUCTIVE": "<FABRIC_MCP_ALLOW_DESTRUCTIVE>",
"FABRIC_MCP_WORKSPACES": "<FABRIC_MCP_WORKSPACES>",
"FABRIC_MCP_ALLOW_REMOTE": "<FABRIC_MCP_ALLOW_REMOTE>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Командой платформы
gemini mcp add -e FABRIC_AUTH=<FABRIC_AUTH> -e FABRIC_MCP_READONLY=<FABRIC_MCP_READONLY> -e FABRIC_MCP_ALLOW_DESTRUCTIVE=<FABRIC_MCP_ALLOW_DESTRUCTIVE> -e FABRIC_MCP_WORKSPACES=<FABRIC_MCP_WORKSPACES> -e FABRIC_MCP_ALLOW_REMOTE=<FABRIC_MCP_ALLOW_REMOTE> fabric-dw docker run -i --rm -e FABRIC_AUTH -e FABRIC_MCP_READONLY -e FABRIC_MCP_ALLOW_DESTRUCTIVE -e FABRIC_MCP_WORKSPACES -e FABRIC_MCP_ALLOW_REMOTE ghcr.io/sdebruyn/fabric-dw:2026.9.0Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о fabric-dw
Как установить fabric-dw в Claude Code?
Одной командой: `claude mcp add --env FABRIC_AUTH=<FABRIC_AUTH> --env FABRIC_MCP_READONLY=<FABRIC_MCP_READONLY> --env FABRIC_MCP_ALLOW_DESTRUCTIVE=<FABRIC_MCP_ALLOW_DESTRUCTIVE> --env FABRIC_MCP_WORKSPACES=<FABRIC_MCP_WORKSPACES> --env FABRIC_MCP_ALLOW_REMOTE=<FABRIC_MCP_ALLOW_REMOTE> --transport stdio fabric-dw -- docker run -i --rm -e FABRIC_AUTH -e FABRIC_MCP_READONLY -e FABRIC_MCP_ALLOW_DESTRUCTIVE -e FABRIC_MCP_WORKSPACES -e FABRIC_MCP_ALLOW_REMOTE ghcr.io/sdebruyn/fabric-dw:2026.9.0`.
Что делает fabric-dw?
Даёт агенту инструменты для администрирования и запросов к Microsoft Fabric Data Warehouses и SQL Analytics Endpoints: склады, таблицы, статистика, права, снимки. Плюс CLI fdw для тех же задач из терминала.
Что нужно для работы fabric-dw?
Настроенный доступ Azure: цепочка DefaultAzureCredential берёт учётные данные из переменных окружения, управляемой идентичности, Azure CLI, Azure Developer CLI, Azure PowerShell или браузера. Режим авторизации переключается через FABRIC_AUTH.