msfabric-mcp
msfabric-mcp
Microsoft Fabric용 Model Context Protocol 서버로, Python으로 작성되었으며 stdio를 통해 동작합니다.
이 서버는 에이전트에게 Fabric의 양쪽 절반에 모두 도달하는 단일 연결을 제공합니다:
컨트롤 플레인(control plane) —
api.fabric.microsoft.com/v1의 공개 REST API를 통해 (workspace, item, lakehouse, warehouse, notebook, 작업 스케줄러),데이터 플레인(data plane) — warehouse 또는 lakehouse의 SQL 분석 엔드포인트를 통해, 허용 목록(allowlist) 기반 읽기 전용 가드 뒤에서 동작합니다.
추가로 Power BI 의미론적 모델에 대한 선택적 DAX도 지원합니다.
기본적으로 읽기 전용입니다. 운영자가 FABRIC_ALLOW_WRITES를 설정하지 않는 한 쓰기는 거부되며,
설정하더라도 UPDATE 및 DELETE에는 반드시 WHERE 절이 있어야 합니다.
패키지: PyPI의
msfabric-mcpMCP 레지스트리 이름:
io.github.nawafsheikh/msfabric-mcp라이선스: MIT
정직한 포지셔닝
2026-08-22 기준으로 Fabric MCP는 이미 많은 서버가 존재하는 분야입니다. 아래는 이미 존재하는 것들과 이 서버가 다른 점입니다. 아래 내용 중 어느 것도 다른 서버가 나쁘다는 주장이 아닙니다.
항목 | 형태 | 범위 |
Fabric Core MCP Server (Microsoft, 미리 보기) | 원격, Microsoft 호스팅, MCP 레지스트리의 | ~30개의 컨트롤 플레인 도구: workspace, item, 폴더, 용량, OneLake 카탈로그 검색, item 정의, 장기 실행 작업. T-SQL 실행, notebook 작업 실행, DAX 없음. (문서) |
Power BI 원격 MCP 서버 (Microsoft, 미리 보기) | 원격 | 보고서 및 의미론적 모델 메타데이터, Copilot을 통한 DAX 생성(Copilot 용량을 소비함). (문서) |
microsoft/fabric-rti-mcp | 로컬, 오픈 소스 | 실시간 인텔리전스: Eventhouse 및 Azure Data Explorer, KQL. lakehouse 및 warehouse T-SQL과는 다른 워크로드입니다. (저장소) |
PyPI의 | 로컬, 오픈 소스 | 각자 고유한 범위로 겹치는 영역 |
PyPI 및 npm의 | 무관 | 그것은 다른 Fabric, 즉 |
msfabric-mcp의 위치:
두 플레인을 모두 아우르는 단일 서버. Microsoft의 Core MCP 서버는 컨트롤 플레인 전용이므로 쿼리를 실행하려면 두 번째 도구가 여전히 필요합니다. 여기서는
list_items와run_sql이 동일한 프로세스와 동일한 자격 증명 안에 있습니다.로컬 stdio, 미리 보기 등록 불필요. Microsoft 서버는 원격이며 미리 보기 상태입니다. 이 서버는 일반 공급(GA) REST API에 대해 사용자 머신에서 실행되므로 이미 로그인할 수 있는 모든 테넌트에서 작동합니다.
가드가 곧 제품입니다.
run_sql은 차단 목록(blocklist)이 아닌 허용 목록(allowlist)입니다: 문장은 읽기(또는 쓰기가 활성화된 경우 허용된 쓰기)로 긍정적으로 분류된 경우에만 실행됩니다. 주석은 먼저 제거되고, 문장 배치는 거부되며, 프로시저 실행,OPENROWSET/OPENQUERY,GRANT/REVOKE,BACKUP/RESTORE및SHUTDOWN은 모든 모드에서 거부됩니다.출력 크기 제한. 모든 결과 집합은 행 수와 셀 너비가 제한되며, 잘렸을 때 이를 명시하므로 넓은
SELECT *가 컨텍스트 창을 넘칠 수 없습니다.
미리 보기가 활성화된 테넌트에서 컨트롤 플레인 탐색만 필요하다면 Microsoft의 Core MCP 서버를 사용하세요. 1사(社) 제공이며 항상 API를 더 빠르게 추적할 것입니다. SQL과 작업을 동일한 서버에서, 로컬에서, 엄격한 읽기 전용 기본값으로 사용하려면 이 서버를 사용하세요.
Related MCP server: Databricks MCP Server
설치
pip install msfabric-mcpSQL 액세스에는 드라이버가 필요합니다. 하나를 선택하세요:
pip install "msfabric-mcp[sql]" # pyodbc, plus ODBC Driver 18 for SQL Server
pip install "msfabric-mcp[mssql]" # mssql-python, no external ODBC managerpyodbc는 ODBC Driver 18 for SQL Server를 별도로 설치해야 합니다(17도 작동함). Entra 토큰은
SQL_COPT_SS_ACCESS_TOKEN연결 속성(1256)으로 전달됩니다.mssql-python은 Microsoft 자체 드라이버로, Python 3.10+가 필요하며, wheel과 함께 연결 계층을 설치하고, Fabric Data Warehouse 및 Lakehouse SQL 분석 엔드포인트를 지원합니다.
REST 도구에는 드라이버가 필요하지 않습니다. SQL 구성 없이도 서버를 실행하고 workspace, item 및 작업을 탐색할 수 있습니다.
Python 3.11 이상이 필요합니다.
구성
모든 것은 환경 변수에서 비롯됩니다. 테넌트, workspace, warehouse 또는 호스트에 관한
어떤 것도 패키지에 컴파일되어 있지 않습니다. .env.example을 참조하세요.
인증
세 가지 모드가 있으며, 모두 azure-identity를 기반으로 합니다.
1. DefaultAzureCredential(기본값). 아무것도 설정하지 마세요. 자격 증명 체인이
az login 세션, VS Code 로그인, 관리 ID(managed identity) 또는 표준
AZURE_CLIENT_ID / AZURE_TENANT_ID / AZURE_CLIENT_SECRET
환경 서비스 주체를 자동으로 감지합니다.
az login2. 서비스 주체. 세 가지를 모두 설정하면 모드가 자동으로 감지됩니다:
변수 | 의미 |
| 디렉터리(테넌트) ID |
| 애플리케이션(클라이언트) ID |
| 클라이언트 비밀 |
서비스 주체는 Admin, Member 또는 Contributor 권한으로 workspace에 추가되어야 하며, 테넌트 설정 서비스 주체가 Fabric 공개 API를 호출할 수 있음이 켜져 있어야 합니다.
3. 디바이스 코드, 헤드리스 머신 또는 SSH 세션용:
FABRIC_AUTH_MODE=device_code
FABRIC_CLIENT_ID=<a public client app registration>토큰은 범위별로 메모리에 캐시되며 만료 2분 전에 갱신됩니다. 디스크에 기록되거나, 로그에 남거나, 서버가 반환하는 오류 메시지에 나타나지 않습니다.
범위 및 SQL
변수 | 기본값 | 의미 |
| 설정 안 됨 | 기본 workspace이므로 도구가 이를 반복할 필요가 없습니다. 선택 사항: 모든 도구는 |
| 설정 안 됨 | SQL 분석 엔드포인트 호스트만, 프로토콜 없음. warehouse 또는 lakehouse 설정 페이지에서 찾을 수 있습니다. 선택 사항: 설정하지 않으면 SQL 도구가 구성되지 않았음을 설명하고 REST 도구는 계속 작동합니다. |
| 설정 안 됨 | 기본 warehouse 또는 lakehouse 이름 |
|
|
|
안전
변수 | 기본값 | 의미 |
|
| 꺼짐. 꺼져 있는 동안 모든 쓰기 문장은 설명과 함께 거부됩니다. 변경할 의향이 있는 workspace에서만 켜세요. |
|
| 결과 집합당 반환되는 행 수, 최대 5000 |
|
| 셀당 문자 수, 최대 4000 |
어떤 비밀도 출력되지 않습니다. health는 테넌트 ID, 클라이언트 ID 및 비밀이 구성되었는지
여부만 보고하며 값은 절대 보고하지 않습니다. 오류 메시지에는 예외 클래스와 쿼리 문자열이
제거된 짧은 서비스 세부 정보가 포함됩니다.
클라이언트 구성
Claude Desktop, Claude Code 또는 모든 stdio MCP 클라이언트:
{
"mcpServers": {
"fabric": {
"command": "msfabric-mcp",
"env": {
"FABRIC_WORKSPACE_ID": "00000000-0000-0000-0000-000000000000",
"FABRIC_SQL_ENDPOINT": "your-endpoint.datawarehouse.fabric.microsoft.com",
"FABRIC_SQL_DATABASE": "your_warehouse"
}
}
}
}FABRIC_CLIENT_SECRET을 저장소에 있는 구성 파일에 넣지 마세요.
az login, 관리 ID 또는 변수를 서버 프로세스에 주입하는 비밀 관리자를 사용하세요.
도구
도구 | 도달 범위 | 기능 |
| REST | ID에 표시되는 작업 영역 |
| REST | 작업 영역의 항목( Fabric 항목 유형으로 필터링됨) |
| REST | 단일 항목의 메타데이터 |
| REST | 레이크하우스 |
| REST | 웨어하우스 |
| REST | 노트북 |
| REST 또는 SQL | Tables API를 통한 레이크하우스 테이블 또는 SQL 엔드포인트를 통한 |
| SQL |
|
| SQL | 보호되는 단일 문 |
| REST |
|
| REST | 상태, 타이밍, 실패 이유 |
| Power BI | DAX |
| 둘 다 | 구성 요약 및 연결 가능성 프로브 |
노트북 및 레이크하우스 인수는 표시 이름 또는 id를 허용하며,
이름은 list_items를 통해 즉시 확인됩니다.
SQL 가드, 정확히
run_sql은 호출당 하나의 문을 허용하며, 어떤 결정을 내리기 전에 주석이 제거됩니다. 그런 다음:
SELECT또는WITH로 시작하고SELECT ... INTO또는FOR UPDATE를 포함하지 않음: 읽기로 분류, 항상 허용.INSERT,UPDATE,DELETE,MERGE,CREATE,ALTER,DROP,TRUNCATE로 시작하거나SELECT ... INTO인 경우: 쓰기로 분류.FABRIC_ALLOW_WRITES가 설정되지 않은 경우 거부됨.UPDATE및DELETE는 쓰기가 활성화된 경우에도 추가로WHERE절이 필요함.그 외의 모든 것: 두 형태 모두 일치하지 않으므로 거부됨.
describe_table에 제공된 테이블 및 스키마 이름은 일반 식별자로 확인되며 조회 자체가 매개변수화되므로 이름이 SQL을 담을 수 없습니다.
이것은 에이전트의 실수에 대한 가드이지 권한을 대체하는 것이 아닙니다. ID에 필요한 최소한의 액세스 권한을 부여하세요. 작업 영역 역할과 웨어하우스 자체의 개체 권한이 여전히 실제 경계입니다.
execute_dax 참고 사항
최신 Arrow executeDaxQueries 대신 JSON executeQueries 엔드포인트를 사용합니다. executeQueries는 Pro, PPU 및 Premium/Fabric 용량에서 작동하며 Arrow 라이브러리가 필요 없기 때문입니다. 문서화된 최대 한도는 쿼리당 100,000행과 1,000,000값이며, FABRIC_MAX_ROWS가 그 위에 적용됩니다. 테넌트 설정 Dataset Execute Queries REST API가 활성화되어 있어야 하며, 호출자는 의미 체계 모델에 대한 Build 권한이 필요합니다. EVALUATE 및 DEFINE 쿼리만 허용됩니다.
접촉 대상
토큰을 위한
api.fabric.microsoft.com,api.powerbi.com및 Microsoft Entra로의 아웃바운드 HTTPS.SQL 도구가 호출되고
FABRIC_SQL_ENDPOINT가 설정된 경우에만 SQL 분석 엔드포인트의 1433 포트로의 아웃바운드 TDS.Encrypt=yes,TrustServerCertificate=no.로컬 파일 시스템 쓰기 없음. 원격 측정 없음. 타사 서비스 없음.
개발
git clone https://github.com/NawafSheikh/fabric-mcp
cd fabric-mcp
pip install -e ".[dev]"
pytest
python -m build전체 테스트 스위트는 네트워크, Fabric 테넌트, ODBC 드라이버 설치 없이 실행됩니다. REST 호출은 httpx.MockTransport를 거치고, SQL 계층은 테스트가 가짜 DB-API 연결로 채우는 주입 가능한 연결 팩토리를 사용합니다.
기여
이슈 및 풀 리퀘스트는 https://github.com/NawafSheikh/fabric-mcp/issues에서 환영합니다.
출처
2026-08-22 확인됨.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to access enterprise data from Unity Catalog (vector search, functions, Genie spaces) and perform developer actions in Databricks like managing notebooks and running jobs.
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Databricks workspaces programmatically, providing comprehensive tools for cluster management, notebook operations, job orchestration, Unity Catalog data governance, user management, permissions control, and FinOps cost analytics.263MIT
- AlicenseBqualityDmaintenanceEnables AI agents to interact with Microsoft Fabric by exposing tools for managing workspaces, notebooks, SQL queries, pipelines, and Livy Spark sessions. It provides a comprehensive set of operations for data engineering and analytics tasks using standard Azure authentication.374MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to interact with Microsoft Fabric and Power BI services through the Model Context Protocol. Users can manage workspaces, execute DAX queries, refresh datasets, and create Fabric notebooks using natural language.6142MIT
Related MCP Connectors
Shared, permission-aware company context for AI agents, with provenance, approvals and audit.
Debug, build, and manage Power Automate cloud flows with AI agents
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NawafSheikh/fabric-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server