ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

fabric-dw

โดย sdebruynรุ่น 2026.9.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.sdebruyn/fabric-dw-mcp

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

MCP server for Microsoft Fabric Data Warehouses and SQL Analytics Endpoints

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: การตลาดและโซเชียล

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

  • ผลตรวจเบื้องต้น: ผ่าน 1 จาก 1 ข้อ
  • รันในเครื่องคุณด้วยสิทธิ์ของผู้ใช้คุณ (ไฟล์ อินเทอร์เน็ต แอปต่าง ๆ)
  • ค่าที่คุณต้องใส่เอง: FABRIC_AUTH, FABRIC_MCP_READONLY, FABRIC_MCP_ALLOW_DESTRUCTIVE, FABRIC_MCP_WORKSPACES, FABRIC_MCP_ALLOW_REMOTE, FABRIC_LOG_LEVEL

ต้องเตรียมก่อน

  • Dockerติดตั้ง Docker ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "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",
        "-e",
        "FABRIC_LOG_LEVEL",
        "ghcr.io/sdebruyn/fabric-dw:2026.9.0"
      ],
      "env": {
        "FABRIC_AUTH": "ใส่ค่าของคุณ",
        "FABRIC_MCP_READONLY": "ใส่ค่าของคุณ",
        "FABRIC_MCP_ALLOW_DESTRUCTIVE": "ใส่ค่าของคุณ",
        "FABRIC_MCP_WORKSPACES": "ใส่ค่าของคุณ",
        "FABRIC_MCP_ALLOW_REMOTE": "ใส่ค่าของคุณ",
        "FABRIC_LOG_LEVEL": "ใส่ค่าของคุณ"
      }
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add fabric-dw --env FABRIC_AUTH='ใส่ค่าของคุณ' --env FABRIC_MCP_READONLY='ใส่ค่าของคุณ' --env FABRIC_MCP_ALLOW_DESTRUCTIVE='ใส่ค่าของคุณ' --env FABRIC_MCP_WORKSPACES='ใส่ค่าของคุณ' --env FABRIC_MCP_ALLOW_REMOTE='ใส่ค่าของคุณ' --env FABRIC_LOG_LEVEL='ใส่ค่าของคุณ' -- 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 -e FABRIC_LOG_LEVEL ghcr.io/sdebruyn/fabric-dw:2026.9.0

เติมค่าที่เว้นว่างไว้ก่อนรัน

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "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",
        "-e",
        "FABRIC_LOG_LEVEL",
        "ghcr.io/sdebruyn/fabric-dw:2026.9.0"
      ],
      "env": {
        "FABRIC_AUTH": "ใส่ค่าของคุณ",
        "FABRIC_MCP_READONLY": "ใส่ค่าของคุณ",
        "FABRIC_MCP_ALLOW_DESTRUCTIVE": "ใส่ค่าของคุณ",
        "FABRIC_MCP_WORKSPACES": "ใส่ค่าของคุณ",
        "FABRIC_MCP_ALLOW_REMOTE": "ใส่ค่าของคุณ",
        "FABRIC_LOG_LEVEL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "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",
        "-e",
        "FABRIC_LOG_LEVEL",
        "ghcr.io/sdebruyn/fabric-dw:2026.9.0"
      ],
      "env": {
        "FABRIC_AUTH": "ใส่ค่าของคุณ",
        "FABRIC_MCP_READONLY": "ใส่ค่าของคุณ",
        "FABRIC_MCP_ALLOW_DESTRUCTIVE": "ใส่ค่าของคุณ",
        "FABRIC_MCP_WORKSPACES": "ใส่ค่าของคุณ",
        "FABRIC_MCP_ALLOW_REMOTE": "ใส่ค่าของคุณ",
        "FABRIC_LOG_LEVEL": "ใส่ค่าของคุณ"
      }
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าที่ต้องใส่เอง

  • FABRIC_AUTH env
    Azure credential source: 'default' (DefaultAzureCredential chain), 'sp' (service principal, needs AZURE_TENANT_ID/AZURE_CLIENT_ID/AZURE_CLIENT_SECRET), or 'interactive' (browser sign-in).
  • FABRIC_MCP_READONLY env
    Set to 1 to restrict execute_sql to SELECT/WITH statements and block all mutating tools.
  • FABRIC_MCP_ALLOW_DESTRUCTIVE env
    Set to 1 to enable permanently-destructive tools (delete_*, clear_table, restore_warehouse_in_place). Disabled by default.
  • FABRIC_MCP_WORKSPACES env
    Comma-separated workspace names or GUIDs the server may touch. Unset allows all workspaces.
  • FABRIC_MCP_ALLOW_REMOTE env
    Set to 1 to allow the HTTP transport to bind on a non-loopback address. Always front with an authenticating reverse proxy.
  • FABRIC_LOG_LEVEL env
    Log level for the MCP server (DEBUG, INFO, WARNING, ERROR, CRITICAL).

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub sdebruyn ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด การตลาดและโซเชียลi

  • ดาวมากกว่า 0% ของอีก 3603 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 32% ของอีก 3603 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 3603 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

fabric-dw ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (2026.9.0) เข้า registry 2 เดือนที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Docker ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี MCP YouTube Transcript, Google Analytics MCP, BibiGPT YouTube Video Summarizer

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

MCP YouTube Transcript

An MCP server retrieving transcripts of YouTube videos

โดย jkawamotoกำลังโต★ 495อัปเดต 11 วันที่ผ่านมา

รันบนเครื่อง

Google Analytics MCP

GA4 MCP server for AI agents: schema discovery, server-side aggregation, analysis-ready defaults.

โดย surendranbกำลังโต↓ 1.1K/สัปดาห์★ 244อัปเดต 11 วันที่ผ่านมา

รันบนเครื่อง

BibiGPT YouTube Video Summarizer

AI video summarizer: summarize and transcribe YouTube, Bilibili, TikTok and podcast videos.

โดย JimmyLvเริ่มต้น★ 137อัปเดต 11 วันที่ผ่านมา

รันบนคลาวด์✓ bibigpt.co

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

fabric-dw

Python CLI and MCP server for Microsoft Fabric Data Warehouses and SQL Analytics Endpoints: administer, query, optimize, and secure them from your terminal or your AI agent.

Full documentation: [fdw.debruyn.dev](https://fdw.debruyn.dev)

📣 Just announced! Read the story behind fabric-dw in the announcement blog post.

Description

fabric-dw provides two interfaces for managing Microsoft Fabric Data Warehouses and SQL Analytics Endpoints:

  • CLI: a command-line tool for common DW administration tasks.
  • MCP server: a Model Context Protocol server that exposes DW operations as tools for AI assistants.

Authentication is configured via the FABRIC_AUTH environment variable. The default (FABRIC_AUTH=default) uses azure-identity DefaultAzureCredential, which walks environment variables, Workload/Managed Identity, Azure CLI, Azure Developer CLI, Azure PowerShell, and interactive browser in order. Any of these will satisfy it. See the Authentication docs for the full chain, all supported sources, and debugging tips.

Installation

pip install fabric-dw

or run without installing:

uvx fabric-dw --help

or install persistently on PATH:

uv tool install fabric-dw

After installation, the fdw command is a short alias for fabric-dw; both invoke the same entry point. See the Install docs for MCP server setup, upgrading, and prerelease builds.

Quick Start

CLI

The workspace is a global root option -w / --workspace placed before the command group. Set a default once with fdw config set workspace and omit -w on every subsequent call. Workspace resolution order: (1) -w flag, (2) FABRIC_DW_DEFAULT_WORKSPACE env var, (3) configured default.

# Run without installing; install to get the fdw alias

uvx fabric-dw --help

Set a default workspace once; all subsequent commands pick it up

fdw config set workspace SalesWS

# -- Run and explain SQL --

Execute a query against a warehouse

fdw sql exec SalesWH -q "SELECT TOP 10 * FROM dbo.orders ORDER BY order_date DESC"

Capture an estimated execution plan as SVG -- no SSMS or Windows needed

fdw sql plan SalesWH -f query.sql --format svg -o plan.svg

-- Performance mission-control --

See what is running right now

fdw queries running SalesWH

Long-running queries from the past hour

fdw queries long-running SalesWH --ago 1h

Kill a runaway session by ID

fdw queries kill SalesWH 55

Most-repeated queries over the past 24 hours

fdw queries frequent SalesWH --ago 24h

-- Optimize --

Inspect a statistics histogram with inline terminal bar charts

fdw statistics show SalesWH dbo.orders st_order_date --histogram

Re-cluster a table on a new key (transactional CTAS-swap, auto-rollback on failure)

fdw tables cluster-by SalesWH dbo.orders --cluster-by customer_id

-- Time travel + export --

Browse the table as it looked 2 hours ago

fdw tables read SalesWH dbo.orders --ago 2h

Export a point-in-time snapshot to Parquet

fdw tables export SalesWH dbo.orders --output snapshot.parquet --ago 2h

-- Governance --

Grant SELECT on a specific table

fdw permissions sql grant SalesWH SELECT --to analyst@company.com --object dbo.orders

Deny access to sensitive columns (column-level security)

fdw permissions cls deny SalesWH SELECT --to contractor@company.com \ --object dbo.orders --columns salary,bonus

Create a row-level security policy (filter rows by SalesRep)

fdw permissions rls create SalesWH rls.SalesFilter \ --filter "rls.fn_sales_filter(SalesRep)" --on dbo.orders

-- Load + scaffold --

Load a local Parquet file and auto-create the table from its schema

fdw tables load SalesWH dbo.orders --file orders.parquet --create

Scaffold a full dbt-fabric project wired to the warehouse

fdw dbt init SalesWH ./my-dbt-project --project-name sales_dw --with-sources

MCP Server

Add to your MCP client configuration (e.g. Claude Desktop, VS Code):

{

"mcpServers": { "fabric-dw": { "command": "uvx", "args": ["--from", "fabric-dw", "fabric-dw-mcp"] } } }

The MCP server exposes all CLI operations as MCP tools (workspaces, warehouses, SQL endpoints, schemas, tables, views, queries, snapshots, restore points, audit, statistics, permissions, sql-pools). Bundled Claude Code agent skills (query-optimizer, warehouse-performance, dbt-setup) are included for deeper AI-assisted analysis. Set FABRIC_AUTH in the environment if you need a non-default auth mode.

Both the skills and the MCP server install in one command via the fabric-dw plugin marketplace, for Claude Code and GitHub Copilot CLI alike: /plugin marketplace add sdebruyn/fabric-dw-mcp-cli then /plugin install fabric-dw@fabric-dw. See the Agent Skills docs for details.

Run in Docker

The Docker image's default ENTRYPOINT is the MCP server (fabric-dw-mcp). Use it as-is with your MCP client, or override the entrypoint to run the CLI instead.

docker pull ghcr.io/sdebruyn/fabric-dw:latest

Run the MCP server (default entrypoint, connect via stdio from your MCP client):

docker run --rm -i \ -e AZURE_CLIENT_ID=… \ -e AZURE_TENANT_ID=… \ -e AZURE_CLIENT_SECRET=… \ -e FABRIC_AUTH=sp \ ghcr.io/sdebruyn/fabric-dw

Run the CLI instead (override the entrypoint):

docker run --rm \ --entrypoint fabric-dw \ -e AZURE_CLIENT_ID=… \ -e AZURE_TENANT_ID=… \ -e AZURE_CLIENT_SECRET=… \ -e FABRIC_AUTH=sp \ ghcr.io/sdebruyn/fabric-dw --help

Dev images (built from every main merge): ghcr.io/sdebruyn/fabric-dw:main or : .dev .

Package page: ghcr.io/sdebruyn/fabric-dw

Security environment variables
VariableDefaultDescription
FABRIC_MCP_READONLYunsetSet to 1 to restrict execute_sql to SELECT/WITH and block all mutating tools.
FABRIC_MCP_ALLOW_DESTRUCTIVEunsetSet to 1 to enable permanently-destructive tools (delete_*, clear_table, restore_warehouse_in_place). Disabled by default.
FABRIC_MCP_WORKSPACESunsetComma-separated workspace names or GUIDs the server may touch. Unset = all workspaces allowed.
FABRIC_MCP_ALLOW_REMOTEunsetSet to 1 to allow the HTTP transport (--transport http) to bind on a non-loopback address. A warning is logged; ensure an authenticating reverse proxy with TLS fronts the endpoint, and pass --allowed-host so Host validation stays on. See Hosting the MCP server.
HTTP transport

The MCP server can be started in HTTP mode for remote clients:

fabric-dw-mcp --transport http [--host 127.0.0.1] [--port 8000]

It binds to loopback by default, where Host and Origin validation is handled for you. Binding anywhere else requires FABRIC_MCP_ALLOW_REMOTE=1 and --allowed-host, and the endpoint has no built-in authentication or TLS, so always front it with an authenticating reverse proxy. See Hosting the MCP server for that setup.

Develop in a container

Open the repo in GitHub Codespaces or VS Code's Remote-Containers extension. The devcontainer pre-installs Python 3.14, uv, Azure CLI, and the GitHub CLI.

Contributing

See CONTRIBUTING.md for dev setup, branch flow, and how to run tests locally.

📖 Docs: fdw.debruyn.dev (or run uv run --only-group docs zensical serve locally).

Security

Please report vulnerabilities privately. See SECURITY.md.

Code of Conduct

This project follows the Contributor Covenant 2.1.

License

MIT. Copyright (c) 2026 Sam Debruyn

ถาม PopNx