msfabric-mcp
msfabric-mcp
Un servidor de Protocolo de Contexto de Modelo para Microsoft Fabric, sobre stdio, en Python.
Proporciona a un agente una única conexión que alcanza ambas mitades de Fabric:
el plano de control, a través de la API REST pública en
api.fabric.microsoft.com/v1(espacios de trabajo, elementos, almacenes de lago, almacenes de datos, cuadernos, el programador de trabajos), yel plano de datos, a través del punto de conexión de análisis de SQL de un almacén de datos o almacén de lago, detrás de una protección de solo lectura en lista de permitidos.
Además, DAX opcional contra un modelo semántico de Power BI.
Solo lectura de forma predeterminada. Las escrituras se rechazan a menos que el operador establezca
FABRIC_ALLOW_WRITES, e incluso entonces UPDATE y DELETE deben llevar un WHERE.
Paquete:
msfabric-mcpen PyPIRepositorio: https://github.com/NawafSheikh/fabric-mcp
Nombre en el registro de MCP:
io.github.nawafsheikh/msfabric-mcpLicencia: MIT
Posicionamiento honesto
Fabric MCP es un estante abarrotado a fecha de 2026-08-22. Esto es lo que ya existe y en qué se diferencia este. Nada de lo siguiente afirma que los demás sean malos.
Qué | Forma | Cubre |
Servidor MCP principal de Fabric (Microsoft, vista previa) | remoto, alojado por Microsoft, | ~30 herramientas del plano de control: espacios de trabajo, elementos, carpetas, capacidades, búsqueda de catálogo de OneLake, definiciones de elementos, operaciones de larga duración. Sin ejecución de T-SQL, sin ejecución de trabajos de cuaderno, sin DAX. (docs) |
Servidor MCP remoto de Power BI (Microsoft, vista previa) | remoto | metadatos de informes y modelos semánticos, y generación de DAX a través de Copilot (consume capacidad de Copilot). (docs) |
microsoft/fabric-rti-mcp | local, código abierto | Inteligencia en tiempo real: Eventhouse y Azure Data Explorer, KQL. Una carga de trabajo diferente del T-SQL de almacén de lago y almacén de datos. (repo) |
| local, código abierto | terreno superpuesto, cada uno con su propia parte |
| no relacionado | ese es el otro Fabric, el marco de trabajo de prompts |
Dónde se sitúa msfabric-mcp:
Un solo servidor en ambos planos. El servidor MCP principal de Microsoft es solo del plano de control; todavía necesitas una segunda cosa para ejecutar una consulta. Aquí,
list_itemsyrun_sqlviven en el mismo proceso y con la misma credencial.Stdio local, sin inscripción a la vista previa. Los servidores de Microsoft son remotos y están en vista previa. Esto se ejecuta en tu máquina contra la API REST de disponibilidad general, por lo que funciona en cualquier inquilino en el que ya puedas iniciar sesión.
La protección es el producto.
run_sqles una lista de permitidos, no una lista de bloqueados: una instrucción solo se ejecuta cuando se clasifica positivamente como lectura (o como escritura permitida con las escrituras habilitadas). Primero se eliminan los comentarios, se rechazan los lotes de instrucciones y la ejecución de procedimientos,OPENROWSET/OPENQUERY,GRANT/REVOKE,BACKUP/RESTOREySHUTDOWNse rechazan en todos los modos.Salida limitada. Cada conjunto de resultados está limitado en filas y en ancho de celda, y dice cuándo se truncó, para que un
SELECT *amplio no pueda inundar una ventana de contexto.
Si solo necesitas la navegación del plano de control dentro de un inquilino que tenga la vista previa habilitada, usa el servidor MCP principal de Microsoft; es de primera parte y siempre seguirá el ritmo de la API más rápido. Usa este cuando quieras SQL y trabajos en el mismo servidor, localmente, con un valor predeterminado estricto de solo lectura.
Related MCP server: Databricks MCP Server
Instalar
pip install msfabric-mcpEl acceso a SQL necesita un controlador. Elige uno:
pip install "msfabric-mcp[sql]" # pyodbc, plus ODBC Driver 18 for SQL Server
pip install "msfabric-mcp[mssql]" # mssql-python, no external ODBC managerpyodbc necesita ODBC Driver 18 for SQL Server instalado por separado (17 también funciona). El token de Entra se pasa con el atributo de conexión
SQL_COPT_SS_ACCESS_TOKEN(1256).mssql-python es el controlador de Microsoft, necesita Python 3.10+, instala su capa de conectividad con la rueda, y es compatible con Fabric Data Warehouse y el punto de conexión de análisis de SQL de Lakehouse.
Las herramientas REST no necesitan ninguno de los dos controladores. Puedes ejecutar el servidor sin ninguna configuración de SQL y aun así explorar espacios de trabajo, elementos y trabajos.
Requiere Python 3.11 o posterior.
Configurar
Todo proviene de variables de entorno. Nada sobre un inquilino, espacio de trabajo, almacén de datos
o host está compilado en el paquete. Consulta .env.example.
Autenticación
Tres modos, todos basados en azure-identity.
1. DefaultAzureCredential (el predeterminado). No establezcas nada. La cadena de credenciales
recoge una sesión de az login, un inicio de sesión de VS Code, una identidad administrada o la
entidad de servicio de entorno AZURE_CLIENT_ID / AZURE_TENANT_ID / AZURE_CLIENT_SECRET
estándar.
az login2. Entidad de servicio. Establece las tres y el modo se deduce:
Variable | Significado |
| id de directorio (inquilino) |
| id de aplicación (cliente) |
| secreto de cliente |
La entidad de servicio debe agregarse al espacio de trabajo con los roles de Administrador, Miembro o Colaborador, y la configuración de inquilino Las entidades de servicio pueden llamar a las API públicas de Fabric debe estar activada.
3. Código de dispositivo, para una máquina sin interfaz gráfica o una sesión SSH:
FABRIC_AUTH_MODE=device_code
FABRIC_CLIENT_ID=<a public client app registration>Los tokens se almacenan en caché en memoria por ámbito y se actualizan dos minutos antes de que caduquen. Nunca se escriben en el disco, nunca se registran y nunca aparecen en ningún mensaje de error que devuelva el servidor.
Ámbito y SQL
Variable | Predeterminado | Significado |
| sin establecer | espacio de trabajo predeterminado, para que las herramientas no tengan que repetirlo. Opcional: cada herramienta también acepta |
| sin establecer | solo el host del punto de conexión de análisis de SQL, sin protocolo. Se encuentra en la página de configuración del almacén de datos o almacén de lago. Opcional: sin él, las herramientas SQL explican que no están configuradas y las herramientas REST siguen funcionando. |
| sin establecer | nombre predeterminado del almacén de datos o almacén de lago |
|
|
|
Seguridad
Variable | Predeterminado | Significado |
|
| desactivado. Mientras esté desactivado, cada instrucción de escritura se rechaza con una explicación. Actívalo solo para un espacio de trabajo que estés dispuesto a cambiar. |
|
| filas devueltas por conjunto de resultados, con un máximo de 5000 |
|
| caracteres por celda, con un máximo de 4000 |
Ningún secreto se imprime jamás. health informa si un id. de inquilino, id. de cliente y
secreto están configurados, nunca sus valores, y los mensajes de error llevan una clase de excepción
y un breve detalle del servicio con la cadena de consulta eliminada.
Configuración del cliente
Claude Desktop, Claude Code o cualquier cliente MCP stdio:
{
"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"
}
}
}
}No pongas FABRIC_CLIENT_SECRET en un archivo de configuración que viva en un repositorio.
Usa az login, una identidad administrada o un administrador de secretos que inyecte la
variable en el proceso del servidor.
Herramientas
Herramienta | Alcance | Qué hace |
| REST | áreas de trabajo visibles para la identidad |
| REST | elementos de un área de trabajo, filtrados por tipo de elemento de Fabric |
| REST | metadatos de un elemento |
| REST | lakehouses |
| REST | warehouses |
| REST | notebooks |
| REST o SQL | tablas de lakehouse mediante la Tables API, o |
| SQL | columnas, tipos, nulidad, ordinal, desde |
| SQL | una única sentencia protegida |
| REST | inicia un trabajo |
| REST | estado, tiempos y motivo del fallo |
| Power BI | una consulta DAX |
| ambos | resumen de la configuración y una comprobación de alcanzabilidad |
Los argumentos de Notebook y lakehouse aceptan o un nombre para mostrar o un id; un nombre se resuelve mediante list_items sobre la marcha.
La protección SQL, en detalle
run_sql acepta una sentencia por llamada, con los comentarios eliminados antes de tomar cualquier decisión. Después:
Empieza por
SELECToWITHy no contieneSELECT ... INTOniFOR UPDATE: se clasifica como lectura, siempre permitida.Empieza por
INSERT,UPDATE,DELETE,MERGE,CREATE,ALTER,DROP,TRUNCATE, o es unSELECT ... INTO: se clasifica como escritura. Se rechaza a menos queFABRIC_ALLOW_WRITESesté definida.UPDATEyDELETEademás requieren una cláusulaWHEREincluso cuando las escrituras están habilitadas.Cualquier otra cosa: se rechaza, porque no coincide con ninguna de las dos formas.
EXEC/EXECUTE,sp_*,OPENROWSET,OPENDATASOURCE,OPENQUERY,BULK INSERT,GRANT,REVOKE,DENY,BACKUP,RESTORE,SHUTDOWN,RECONFIGURE: se rechazan en todos los modos.Varias sentencias separadas por
;: se rechazan, de modo que cada una se pueda juzgar por separado.
Los nombres de tabla y de esquema proporcionados a describe_table se validan como identificadores simples y la búsqueda en sí está parametrizada; un nombre no puede incluir/materializar SQL.
Esto es una protección contra los fallos de un agente, no sustitutiva de los permisos. Concede a la identidad el mínimo acceso que necesite; el rol del área de trabajo y los permisos de los objetos propios del warehouse siguen siendo el límite real.
Notas sobre execute_dax
Usa el endpoint JSON executeQueries en lugar de la más reciente Arrow executeDaxQueries, porque executeQueries funciona en capacidades Pro, PPU y de Premium/Fabric y no necesita una biblioteca Arrow. Su ese techo documentado es de 100,000 filas y 1,000,000 valores por consulta; FABRIC_MAX_ROWS se aplica encima de eso. La configuración de inquilino Dataset Execute Queries REST API debe estar habilitada, y el llamador necesita permiso de Build sobre el modelo semántico. Solo se aceptan consultas EVALUATE y DEFINE.
Qué toca
HTTPS saliente hacia
api.fabric.microsoft.com,api.powerbi.comy Microsoft Entra para los tokens.TDS saliente en el puerto 1433 hacia tu endpoint de análisis SQL, solo cuando se llama a una herramienta SQL y
FABRIC_SQL_ENDPOINTestá definida.Encrypt=yes,TrustServerCertificate=no.No escribe en el sistema de archivos local. No telemetría. No requiere de servicios de terceros.
Desarrollo
git clone https://github.com/NawafSheikh/fabric-mcp
cd fabric-mcp
pip install -e ".[dev]"
pytest
python -m buildToda la suite de pruebas se ejecuta sin red, sin un inquilino de Fabric y sin driver ODBC instalado: las llamadas REST pasan por un httpx.MockTransport, y la capa SQL usa una conectividad de fábrica inyectable que las pruebas rellenan con una conexión simulada compatible con DB-API.
Contribución
Se aceptan issues y pull requests en https://github.com/NawafSheikh/fabric-mcp/issues.
Fuentes
Verificado el 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