| set_workspaceB | Set the current workspace for the session. Args:
workspace: Name or ID of the workspace
ctx: Context object containing client information
Returns:
A string confirming the workspace has been set.
|
| list_workspacesA | List all available Fabric workspaces. Args:
ctx: Context object containing client information
Returns:
A string containing the list of workspaces or an error message.
|
| create_workspaceA | Create a new Fabric workspace. Args:
display_name: Workspace display name
capacity_id: Optional capacity ID
description: Optional description
domain_id: Optional domain identifier
ctx: Context object containing client information
Returns:
A string confirming creation or an error message.
|
| set_warehouseB | Set the current warehouse for the session. Args:
warehouse: Name or ID of the warehouse
ctx: Context object containing client information
Returns:
A string confirming the warehouse has been set.
|
| list_warehousesA | List all warehouses in a Fabric workspace. Args:
workspace: Name or ID of the workspace (optional)
ctx: Context object containing client information
Returns:
A string containing the list of warehouses or an error message.
|
| create_warehouseB | Create a new warehouse in a Fabric workspace. Args:
name: Name of the warehouse
workspace: Name or ID of the workspace (optional)
description: Description of the warehouse (optional)
ctx: Context object containing client information
Returns:
A string confirming the warehouse has been created or an error message.
|
| set_lakehouseA | Set the current lakehouse for the session. Args:
lakehouse: Name or ID of the lakehouse
ctx: Context object containing client information
Returns:
A string confirming the lakehouse has been set.
|
| list_lakehousesA | List all lakehouses in a Fabric workspace. Args:
workspace: Name or ID of the workspace (optional)
ctx: Context object containing client information
Returns:
A string containing the list of lakehouses or an error message.
|
| create_lakehouseC | Create a new lakehouse in a Fabric workspace. Args:
name: Name of the lakehouse
workspace: Name or ID of the workspace (optional)
description: Description of the lakehouse (optional)
ctx: Context object containing client information
Returns:
A string confirming the lakehouse has been created or an error message.
|
| set_tableD | – |
| list_tablesD | – |
| get_lakehouse_table_schemaD | – |
| get_all_lakehouse_schemasD | – |
| table_previewD | – |
| table_schemaD | – |
| describe_historyD | – |
| optimize_deltaD | – |
| vacuum_deltaD | – |
| list_semantic_modelsA | List all semantic models in a Fabric workspace. Args:
workspace: Name or ID of the workspace (optional)
ctx: Context object containing client information
Returns:
A string containing the list of semantic models or an error message.
|
| get_semantic_modelA | Get a specific semantic model by ID. Args:
workspace: Name or ID of the workspace (optional)
model_id: ID of the semantic model (optional)
ctx: Context object containing client information
Returns:
A string containing the details of the semantic model or an error message.
|
| get_model_schemaB | Get the complete schema of a semantic model including tables, columns, measures, and relationships. This retrieves the model definition in TMSL format and parses the structure.
Args:
workspace: Name or ID of the workspace (optional)
model: Name or ID of the semantic model (optional)
ctx: Context object containing client information
Returns:
A dictionary containing the model schema with tables, columns, measures, and relationships.
|
| list_measuresB | List all DAX measures in a semantic model. Args:
workspace: Name or ID of the workspace (optional)
model: Name or ID of the semantic model (optional)
ctx: Context object containing client information
Returns:
A list of measures with their definitions.
|
| get_measureA | Get a specific DAX measure definition by name. Args:
measure_name: Name of the measure to retrieve
workspace: Name or ID of the workspace (optional)
model: Name or ID of the semantic model (optional)
ctx: Context object containing client information
Returns:
The measure definition including DAX expression.
|
| create_measureA | Create a new DAX measure in a semantic model. Args:
measure_name: Name of the measure to create
dax_expression: DAX formula for the measure
table_name: Name of the table to add the measure to
workspace: Name or ID of the workspace (optional)
model: Name or ID of the semantic model (optional)
format_string: Display format string (e.g., "#,0.00", "0.0%") (optional)
description: Description of the measure (optional)
is_hidden: Whether to hide the measure from client tools (default: False)
ctx: Context object containing client information
Returns:
A dictionary containing success status and the created measure details.
|
| update_measureA | Update an existing DAX measure in a semantic model. Args:
measure_name: Current name of the measure to update
workspace: Name or ID of the workspace (optional)
model: Name or ID of the semantic model (optional)
dax_expression: New DAX formula (optional)
format_string: New display format string (optional)
description: New description (optional)
is_hidden: New hidden status (optional)
new_name: New name for the measure (optional)
ctx: Context object containing client information
Returns:
A dictionary containing success status and the updated measure details.
|
| delete_measureB | Delete a DAX measure from a semantic model. Args:
measure_name: Name of the measure to delete
workspace: Name or ID of the workspace (optional)
model: Name or ID of the semantic model (optional)
ctx: Context object containing client information
Returns:
A dictionary containing success status and deletion details.
|
| analyze_dax_queryA | Analyze a DAX query for performance insights and execution plan. This tool executes a DAX query and returns performance metrics including
execution time, scan counts, and optionally the query execution plan.
Args:
dax_query: DAX query to analyze
workspace: Name or ID of the workspace (optional)
model: Name or ID of the semantic model (optional)
include_execution_plan: Whether to include detailed execution plan (default: True)
ctx: Context object containing client information
Returns:
A dictionary containing query results, execution metrics, and optionally the execution plan.
|
| list_reportsC | List all reports in a Fabric workspace. Args:
workspace: Name or ID of the workspace (optional)
ctx: Context object containing client information
Returns:
A string containing the list of reports or an error message.
|
| get_reportC | Get a specific report by ID. Args:
workspace: Name or ID of the workspace (optional)
report_id: ID of the report (optional)
ctx: Context object containing client information
Returns:
A string containing the report details or an error message.
|
| load_data_from_urlB | Load data from a URL into a delta table in a lakehouse via OneLake. Args:
url: The URL to download data from (CSV or Parquet supported).
destination_table: The name of the table to load data into.
workspace: Name or ID of the workspace (optional).
lakehouse: Name or ID of the lakehouse (optional).
warehouse: Name or ID of the warehouse (optional, uses SQL for warehouses).
ctx: Context object containing client information.
Returns:
A string confirming the data load or an error message.
|
| run_notebook_jobC | Submit a notebook job run with optional parameters and configuration. |
| get_run_statusC | Poll a notebook job run until completion. |
| cancel_notebook_jobB | Cancel a running notebook job instance. |
| install_requirementsC | Install Python requirements for the workspace Spark environment. |
| install_wheelC | Install a wheel package into the workspace Spark environment. |
| cluster_infoC | Retrieve Spark cluster information for the workspace. |
| list_notebooksA | List all notebooks in a Fabric workspace. Args:
workspace: Name or ID of the workspace (optional)
ctx: Context object containing client information
Returns:
A string containing the list of notebooks or an error message.
|
| create_notebookA | Create a new notebook in a Fabric workspace. Args:
workspace: Name or ID of the workspace
notebook_name: Name of the new notebook
content: Content of the notebook (in JSON format). If not provided, creates a basic Hello Fabric notebook.
ctx: Context object containing client information
Returns:
A string containing the ID of the created notebook or an error message.
|
| get_notebook_contentA | Get the content of a specific notebook in a Fabric workspace. Args:
workspace: Name or ID of the workspace
notebook_id: ID or name of the notebook
ctx: Context object containing client information
Returns:
A string containing the notebook content in JSON format or an error message.
|
| create_pyspark_notebookB | Create a new PySpark notebook from a template in a Fabric workspace. Args:
workspace: Name or ID of the workspace
notebook_name: Name of the new notebook
template_type: Type of PySpark template ('basic', 'etl', 'analytics', 'ml')
ctx: Context object containing client information
Returns:
A string containing the ID of the created notebook or an error message.
|
| generate_pyspark_codeB | Generate PySpark code for common operations. Args:
operation: Type of operation ('read_table', 'write_table', 'transform', 'join', 'aggregate')
source_table: Source table name (format: lakehouse.table_name)
target_table: Target table name (format: lakehouse.table_name)
columns: Comma-separated list of columns
filter_condition: Filter condition for data
ctx: Context object containing client information
Returns:
A string containing the generated PySpark code or an error message.
|
| validate_pyspark_codeB | Validate PySpark code for syntax and best practices. Args:
code: PySpark code to validate
ctx: Context object containing client information
Returns:
A string containing validation results and suggestions.
|
| update_notebook_cellA | Update a specific cell in a notebook. Args:
workspace: Name or ID of the workspace
notebook_id: ID or name of the notebook
cell_index: Index of the cell to update (0-based)
cell_content: New content for the cell
cell_type: Type of cell ('code' or 'markdown')
ctx: Context object containing client information
Returns:
A string confirming the update or an error message.
|
| create_fabric_notebookB | Create a new notebook optimized for Microsoft Fabric using advanced templates. Args:
workspace: Name or ID of the workspace
notebook_name: Name of the new notebook
template_type: Type of Fabric template ('fabric_integration', 'streaming')
ctx: Context object containing client information
Returns:
A string containing the ID of the created notebook or an error message.
|
| generate_fabric_codeA | Generate Fabric-specific PySpark code for lakehouse operations. Args:
operation: Type of operation ('read_lakehouse', 'write_lakehouse', 'merge_delta', 'performance_monitor')
lakehouse_name: Name of the lakehouse
table_name: Name of the source table
target_table: Name of the target table (for write/merge operations)
ctx: Context object containing client information
Returns:
A string containing the generated Fabric-specific PySpark code.
|
| validate_fabric_codeC | Validate PySpark code for Microsoft Fabric compatibility and performance. Args:
code: PySpark code to validate for Fabric compatibility
ctx: Context object containing client information
Returns:
A string containing detailed validation results and Fabric-specific recommendations.
|
| analyze_notebook_performanceB | Analyze a notebook's code for performance optimization opportunities in Fabric. Args:
workspace: Name or ID of the workspace
notebook_id: ID or name of the notebook
ctx: Context object containing client information
Returns:
A string containing performance analysis and optimization recommendations.
|
| resolve_itemC | Resolve an item name or ID to its canonical ID and metadata. |
| list_itemsC | List workspace items, optionally filtered by type or search term. |
| get_permissionsA | Retrieve the role assignments for a workspace. Note: Fabric REST API does not support item-level permissions.
This returns workspace-level role assignments instead.
|
| set_permissionsA | Add a workspace role assignment (Admin, Member, Contributor, Viewer). Note: Fabric REST API supports workspace-level roles, not item-level permissions.
Args:
workspace: Workspace name or ID
principal_id: User, group, or service principal ID (UUID)
principal_type: "User", "Group", or "ServicePrincipal"
role: "Admin", "Member", "Contributor", or "Viewer"
|
| onelake_lsC | List files and folders within a OneLake lakehouse path. |
| onelake_readC | Read file contents from OneLake. |
| onelake_writeC | Write text or base64 content to OneLake. |
| onelake_rmC | Delete a file or directory from OneLake. |
| onelake_create_shortcutA | Create a OneLake shortcut from one lakehouse to another.
This allows you to reference data from a target lakehouse without duplicating it.
Perfect for medallion architectures where Dev/Test/Prod read from a central Bronze layer.
Args:
lakehouse: Source lakehouse name or ID (where the shortcut will appear)
shortcut_name: Name for the shortcut
shortcut_path: Path in source where shortcut appears (e.g., "Tables", "Files/exports")
target_workspace: Target workspace name or ID (containing the data)
target_lakehouse: Target lakehouse name or ID (containing the data)
target_path: Path in target to link to (e.g., "Tables/customers_raw", "Files/bronze")
workspace: Source workspace name or ID (optional, uses context if not provided)
conflict_policy: Action when shortcut exists (Abort, GenerateUniqueName, CreateOrOverwrite, OverwriteOnly)
ctx: Context object
Returns:
Dictionary with shortcut details including name, path, and target
Example:
# Create shortcut from DEV silver lakehouse to central Bronze
onelake_create_shortcut(
workspace="DEV-Analytics",
lakehouse="silver_dev",
shortcut_name="bronze_customers",
shortcut_path="Tables",
target_workspace="RAW-Bronze-Central",
target_lakehouse="bronze_central",
target_path="Tables/customers_raw"
)
|
| onelake_list_shortcutsA | List all OneLake shortcuts in a lakehouse.
Args:
lakehouse: Lakehouse name or ID
workspace: Workspace name or ID (optional, uses context if not provided)
ctx: Context object
Returns:
Dictionary with list of shortcuts
Example:
onelake_list_shortcuts(
workspace="DEV-Analytics",
lakehouse="silver_dev"
)
|
| onelake_delete_shortcutA | Delete a OneLake shortcut from a lakehouse.
Args:
lakehouse: Lakehouse name or ID containing the shortcut
shortcut_path: Path where shortcut exists (e.g., "Tables", "Files/exports")
shortcut_name: Name of the shortcut to delete
workspace: Workspace name or ID (optional, uses context if not provided)
ctx: Context object
Returns:
Dictionary with success status
Example:
onelake_delete_shortcut(
workspace="DEV-Analytics",
lakehouse="silver_dev",
shortcut_path="Tables",
shortcut_name="bronze_customers"
)
|
| sql_queryC | Run a SQL query against a lakehouse or warehouse endpoint. |
| sql_explainB | Retrieve an estimated execution plan for a query. |
| sql_exportC | Export query results to OneLake as CSV or Parquet. |
| pipeline_runD | – |
| pipeline_statusD | – |
| pipeline_logsD | – |
| dataflow_refreshD | – |
| schedule_listD | – |
| schedule_setD | – |
| create_data_pipelineA | Create a Data Pipeline in a Fabric workspace with custom activities and dependencies.
Perfect for orchestrating medallion architecture workflows (Bronze → Silver → Gold).
Args:
pipeline_name: Name for the pipeline
pipeline_definition: Pipeline JSON definition with activities and dependencies
workspace: Workspace name or ID (optional, uses context if not provided)
description: Optional description for the pipeline
ctx: Context object
Returns:
Dictionary with pipeline details including ID and status
Example - Bronze to Silver to Gold cascade:
pipeline_definition = {
"properties": {
"activities": [
{
"name": "Bronze_Ingestion",
"type": "Notebook",
"typeProperties": {
"notebook": {"name": "bronze_ingest_notebook"}
},
"dependsOn": []
},
{
"name": "Silver_Transform",
"type": "Notebook",
"typeProperties": {
"notebook": {"name": "silver_transform_notebook"}
},
"dependsOn": [
{
"activity": "Bronze_Ingestion",
"dependencyConditions": ["Succeeded"]
}
]
},
{
"name": "Gold_Transform",
"type": "Notebook",
"typeProperties": {
"notebook": {"name": "gold_transform_notebook"}
},
"dependsOn": [
{
"activity": "Silver_Transform",
"dependencyConditions": ["Succeeded"]
}
]
}
]
}
}
create_data_pipeline(
pipeline_name="Medallion_ETL_Pipeline",
pipeline_definition=pipeline_definition,
workspace="PROD-Analytics",
description="Orchestrates Bronze → Silver → Gold transformations"
)
|
| get_pipeline_definitionA | Get the definition of an existing Data Pipeline including activities and dependencies.
Args:
pipeline: Pipeline name or ID
workspace: Workspace name or ID (optional, uses context if not provided)
ctx: Context object
Returns:
Dictionary with pipeline definition including decoded activities
Example:
get_pipeline_definition(
pipeline="Medallion_ETL_Pipeline",
workspace="PROD-Analytics"
)
|
| semantic_model_refreshD | – |
| dax_queryD | – |
| report_exportD | – |
| report_params_listD | – |
| graph_userA | Query Azure AD user profile details via Microsoft Graph. |
| graph_mailA | Send mail via Microsoft Graph on behalf of the current identity. |
| graph_teams_messageB | Post a message to a Teams channel via Microsoft Graph. Args:
team_id: The target Microsoft Teams team identifier.
channel_id: The channel identifier within the team.
text: The message body to send.
content_type: Graph contentType, defaults to "html". Can be "html", "text", "markdown".
ctx: FastMCP context.
|
| graph_driveA | List files in a OneDrive or SharePoint drive via Microsoft Graph. |
| save_teams_channel_aliasB | Create or update a named alias for a Teams channel (team_id + channel_id). |
| list_teams_channel_aliasesA | List all saved Teams channel aliases. |
| delete_teams_channel_aliasB | Delete a saved Teams channel alias. |
| graph_teams_message_aliasA | Post a message to a Teams channel using a saved alias. Resolves the alias into `(team_id, channel_id)` and forwards to `graph_teams_message`.
|
| get_sql_endpointB | Retrieve the SQL endpoint for a specified lakehouse or warehouse.
Args:
workspace: Name or ID of the workspace (optional).
lakehouse: Name or ID of the lakehouse (optional).
warehouse: Name or ID of the warehouse (optional).
type: Type of resource ('lakehouse' or 'warehouse'). If not provided, it will be inferred.
ctx: Context object containing client information.
Returns:
A string containing the resource type, name/ID, and its SQL endpoint.
|
| clear_contextA | Clear the current session context. Returns:
A string confirming the context has been cleared.
|