mcp-fabric-api

mcp-fabric-api

MCP server for Microsoft Fabric REST APIs that enables data engineers and analysts to manage Fabric components using AI assistants.

Category
访问服务器

README

mcp-fabric-api

MCP (Model Context Protocol) server for the Microsoft Fabric REST APIs. Built for data engineers and data analysts who want to use AI assistants beyond Copilot — such as Claude, Claude Code, or any MCP-compatible client — to build and manage their Fabric components. Covers workspaces, lakehouses, warehouses, notebooks, pipelines, semantic models, reports, dataflows, eventhouses, eventstreams, reflexes, GraphQL APIs, SQL endpoints, variable libraries, git integration, deployment pipelines, mirrored databases, KQL databases, ML models, ML experiments, copy jobs, external data shares, and environments (Spark compute + libraries, with notebook attach/detach).

Safe by default: This server blocks all destructive operations (create, update, delete) until you explicitly configure the WRITABLE_WORKSPACES environment variable. Read operations always work. Set WRITABLE_WORKSPACES="*" to allow writes to all workspaces, or use patterns to limit access. See Workspace Safety Guard for details.

Prerequisites

  • Node.js 18+
  • Access to a Microsoft Fabric workspace
  • One of:
    • Azure CLI (az login) — easiest on Windows
    • Azure app registration with device code flow enabled — best for Mac / Claude Desktop
    • Service principal credentials — best for headless / automated scenarios

Quick Start

Windows (Azure CLI):

az login
npx @einlogic/mcp-fabric-api

Mac / Claude Desktop (Device Code):

AUTH_METHOD=device-code AZURE_CLIENT_ID=your-app-id AZURE_TENANT_ID=your-tenant-id npx @einlogic/mcp-fabric-api

On first API call, a sign-in URL and code will appear in the logs. Open the URL in your browser, enter the code, and authenticate.

Setup

Claude Desktop

Add to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Windows (uses Azure CLI credentials):

{
  "mcpServers": {
    "fabric": {
      "command": "npx",
      "args": ["-y", "@einlogic/mcp-fabric-api"]
    }
  }
}

macOS (uses device code flow):

{
  "mcpServers": {
    "fabric": {
      "command": "npx",
      "args": ["-y", "@einlogic/mcp-fabric-api"],
      "env": {
        "AUTH_METHOD": "device-code",
        "AZURE_CLIENT_ID": "your-app-client-id",
        "AZURE_TENANT_ID": "your-tenant-id"
      }
    }
  }
}

When the server starts, check the Claude Desktop logs for a sign-in prompt:

  • macOS: ~/Library/Logs/Claude/mcp-server-fabric.log
  • Windows: %APPDATA%\Claude\logs\mcp-server-fabric.log

The prompt will say: "To sign in, use a web browser to open https://microsoft.com/devicelogin and enter the code XXXXXXX". Complete the sign-in once and the token is cached for the session.

Claude Code CLI

Windows:

claude mcp add fabric -- npx -y @einlogic/mcp-fabric-api

macOS:

claude mcp add fabric -e AUTH_METHOD=device-code -e AZURE_CLIENT_ID=your-app-id -e AZURE_TENANT_ID=your-tenant-id -- npx -y @einlogic/mcp-fabric-api

To verify it was added:

claude mcp list

HTTP Mode (Remote)

For remote deployments, set environment variables:

export TRANSPORT=http
export PORT=3000
export AZURE_CLIENT_ID=your-client-id
export AZURE_CLIENT_SECRET=your-client-secret
export AZURE_TENANT_ID=your-tenant-id
npx @einlogic/mcp-fabric-api

The server exposes:

  • POST /mcp — MCP endpoint (StreamableHTTP)
  • GET /mcp — SSE stream for server notifications
  • DELETE /mcp — Session cleanup
  • GET /.well-known/oauth-protected-resource — OAuth metadata

Authentication Methods

The server supports multiple authentication methods via the AUTH_METHOD environment variable. Choose the method that fits your platform and scenario:

Method AUTH_METHOD Required env vars Best for
Azure CLI (default) default None Windows with az login
Device Code device-code AZURE_CLIENT_ID, AZURE_TENANT_ID Mac / Claude Desktop
Client Secret client-secret AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_TENANT_ID Headless / automated
Interactive Browser interactive-browser None (optional: AZURE_CLIENT_ID, AZURE_TENANT_ID) Systems with browser access

Default (Azure CLI): Uses the DefaultAzureCredential chain from the Azure Identity SDK. On a developer machine this picks up credentials from az login. No extra configuration needed. This is the original behavior and works best on Windows where Claude Desktop can access the Azure CLI token cache.

Device Code: On first API call, prints a URL and one-time code to stderr. You open the URL in any browser, enter the code, and sign in with your Azure account. The token is cached in memory for the session. This is the recommended method for Mac users with Claude Desktop, because the Claude Desktop process on macOS cannot access the Azure CLI token cache.

To use device code flow, you need an Azure app registration with "Allow public client flows" enabled:

  1. Go to Azure Portal > App registrations > New registration
  2. Name it (e.g., "Fabric MCP") and register
  3. Under Authentication > Advanced settings, set "Allow public client flows" to Yes
  4. Under API permissions, add https://api.fabric.microsoft.com/Workspace.ReadWrite.All (or the scopes your tools need)
  5. Copy the Application (client) ID and your Directory (tenant) ID

Client Secret: Uses a service principal with client credentials. Requires an Azure app registration with a client secret. Suitable for CI/CD pipelines, automated scripts, or any headless environment where interactive sign-in is not possible.

Interactive Browser: Opens a browser window for OAuth sign-in. Works on systems where the server process can launch a browser. Optional AZURE_CLIENT_ID and AZURE_TENANT_ID can be provided to target a specific app and tenant.

Workspace Safety Guard

Control which workspaces allow write operations (create, update, delete) via the WRITABLE_WORKSPACES environment variable. Only workspaces matching the configured name patterns will permit CUD (Create, Update, Delete) operations. Read operations are never restricted.

Default behavior: When WRITABLE_WORKSPACES is not set or empty, all destructive operations are blocked. You must explicitly configure this variable to enable writes.

WRITABLE_WORKSPACES value Behavior
Not set / empty All writes blocked (safe default)
* All workspaces writable
*-Dev,*-Test,Sandbox* Only matching workspaces writable

Set comma-separated glob patterns:

WRITABLE_WORKSPACES=*-Dev,*-Test,Sandbox*

Wildcard examples:

  • * matches all workspaces (allow everything)
  • *-Dev matches "Sales-Dev", "Finance-Dev"
  • Sandbox* matches "Sandbox-123", "Sandbox-Mike"
  • Exact-Name matches only "Exact-Name" (case-insensitive)

Guarded tools (102 total) — every tool that creates, updates, or deletes workspace items:

Domain Guarded tools
Workspace workspace_update, workspace_delete
Lakehouse lakehouse_create, lakehouse_update, lakehouse_delete, lakehouse_load_table, lakehouse_create_shortcut, lakehouse_update_definition, lakehouse_delete_shortcut
Warehouse warehouse_create, warehouse_update, warehouse_delete, warehouse_update_definition
Notebook notebook_create, notebook_update, notebook_delete, notebook_update_definition, notebook_attach_environment, notebook_detach_environment
Pipeline pipeline_create, pipeline_update, pipeline_delete, pipeline_create_schedule, pipeline_update_schedule, pipeline_delete_schedule, pipeline_update_definition
Semantic Model semantic_model_create_bim, semantic_model_create_tmdl, semantic_model_update_details, semantic_model_delete, semantic_model_update_bim, semantic_model_update_tmdl, semantic_model_take_over
Report report_create_definition, report_update, report_delete, report_clone, report_update_definition, report_rebind
Dataflow dataflow_create, dataflow_update, dataflow_delete
Eventhouse eventhouse_create, eventhouse_update, eventhouse_delete
Eventstream eventstream_create, eventstream_update, eventstream_delete, eventstream_update_definition
Reflex reflex_create, reflex_update, reflex_delete, reflex_update_definition
GraphQL API graphql_api_create, graphql_api_update, graphql_api_delete
Variable Library variable_library_create, variable_library_update, variable_library_delete, variable_library_update_definition
Git Integration git_connect, git_disconnect, git_initialize_connection, git_commit_to_git, git_update_from_git, git_update_credentials
Deployment Pipeline deployment_pipeline_assign_workspace, deployment_pipeline_unassign_workspace, deployment_pipeline_deploy
Mirrored Database mirrored_database_create, mirrored_database_update, mirrored_database_delete, mirrored_database_update_definition, mirrored_database_start_mirroring, mirrored_database_stop_mirroring
KQL Database kql_database_create, kql_database_update, kql_database_delete, kql_database_update_definition
ML Model ml_model_create, ml_model_update, ml_model_delete
ML Experiment ml_experiment_create, ml_experiment_update, ml_experiment_delete
Copy Job copy_job_create, copy_job_update, copy_job_delete, copy_job_update_definition
External Data Share external_data_share_create, external_data_share_revoke
Environment environment_create, environment_update, environment_update_definition, environment_delete, environment_publish, environment_cancel_publish, environment_import_staging_external_libraries, environment_upload_staging_custom_library, environment_delete_staging_custom_library, environment_remove_staging_external_library, environment_update_staging_spark_compute

Not guarded: Read operations (list, get, get_definition, get_bim, get_tmdl), query execution (DAX, KQL, SQL, GraphQL), run/refresh/cancel operations, export operations, and deployment pipeline CRUD (tenant-level, not workspace-scoped).

Claude Desktop config with guard (Windows):

{
  "mcpServers": {
    "fabric": {
      "command": "npx",
      "args": ["-y", "@einlogic/mcp-fabric-api"],
      "env": {
        "WRITABLE_WORKSPACES": "*-Dev,*-Test,Sandbox*"
      }
    }
  }
}

Claude Desktop config with guard (macOS):

{
  "mcpServers": {
    "fabric": {
      "command": "npx",
      "args": ["-y", "@einlogic/mcp-fabric-api"],
      "env": {
        "AUTH_METHOD": "device-code",
        "AZURE_CLIENT_ID": "your-app-client-id",
        "AZURE_TENANT_ID": "your-tenant-id",
        "WRITABLE_WORKSPACES": "*-Dev,*-Test,Sandbox*"
      }
    }
  }
}

Claude Code CLI with guard:

WRITABLE_WORKSPACES="*-Dev,*-Test" claude mcp add fabric -- npx -y @einlogic/mcp-fabric-api

Error when not configured:

WRITABLE_WORKSPACES is not configured. Destructive actions are blocked by default. Set WRITABLE_WORKSPACES to a comma-separated list of workspace name patterns, or "*" to allow all.

Error when workspace not in allow list:

Workspace "Production-Analytics" is not in the writable workspaces list. Allowed patterns: *-Dev, *-Test, Sandbox*

Debug Logging

Enable verbose debug logging to diagnose API errors, inspect request/response details, and trace long-running operations. All log output goes to stderr (visible in Claude Desktop's log files, never interferes with JSON-RPC on stdout).

Set the LOG_LEVEL environment variable to debug:

Claude Desktop config:

{
  "mcpServers": {
    "fabric": {
      "command": "npx",
      "args": ["-y", "@einlogic/mcp-fabric-api"],
      "env": {
        "LOG_LEVEL": "debug"
      }
    }
  }
}

Claude Code CLI:

LOG_LEVEL=debug claude mcp add fabric -- npx -y @einlogic/mcp-fabric-api

What gets logged at debug level:

Category Details logged
HTTP requests Method, full URL, request body size in bytes
HTTP responses Status code, duration (ms), x-ms-request-id header
Definition uploads Part paths, payload types, payload sizes — never payload content
API errors Full error body including errorCode, details[], innererror, relatedResource, x-ms-request-id
LRO polling Operation ID, poll count, elapsed time, final status
Pagination Page count, items per page, total items
SQL/KQL queries Server, database, duration, column/row counts — never query text or result data
Rate limiting Retry-after duration, affected endpoint

Compliance: Debug logging never captures actual data content — no query text, no query results, no definition payloads, no bearer tokens. Only structural metadata (URLs, sizes, counts, timing, error details) is logged.

Viewing logs in Claude Desktop:

  • macOS: ~/Library/Logs/Claude/mcp-server-fabric.log
  • Windows: %APPDATA%\Claude\logs\mcp-server-fabric.log

You can also tail the log in real time:

# macOS
tail -f ~/Library/Logs/Claude/mcp-server-fabric.log

# Windows (PowerShell)
Get-Content "$env:APPDATA\Claude\logs\mcp-server-fabric.log" -Wait

The x-ms-request-id value logged with every API error is the key identifier needed when opening a support case with Microsoft for Fabric API issues.

Read vs Write Tool Annotations

Every tool declares MCP ToolAnnotations so MCP clients can distinguish read-only tools from mutations when presenting them in a configuration UI. This lets users enable all read tools in a single toggle while requiring explicit approval for writes.

Annotation Meaning Typical tool names
readOnlyHint: true Pure read, no state change *_list, *_get, *_get_definition, DAX queries, export operations
readOnlyHint: false, destructiveHint: false Creates or updates state *_create, *_update, *_run, *_refresh, *_publish, *_import, *_upload
readOnlyHint: false, destructiveHint: true Deletes, cancels, or removes *_delete, *_cancel_run, *_remove_*, *_revoke, *_disconnect, *_detach_*

All 219 tools carry these hints. The workspace safety guard (WRITABLE_WORKSPACES) still applies independently on top of whatever the client permits.

File-Based I/O

To avoid large payloads overwhelming MCP clients, definition tools use file paths instead of inline content. The server reads files from disk when sending definitions to Fabric, and writes files to disk when retrieving definitions from Fabric.

Input tools — the server reads definition files from the specified path and uploads to Fabric:

Tool Parameter Description
semantic_model_create_bim definitionFilePath Path to model.bim JSON file
semantic_model_update_bim definitionFilePath Path to model.bim JSON file
semantic_model_create_tmdl filesDirectoryPath Directory of .tmdl and .pbism files
semantic_model_update_tmdl filesDirectoryPath Directory of .tmdl and .pbism files
notebook_update_definition definitionDirectoryPath Directory containing notebook definition files
eventstream_update_definition definitionDirectoryPath Directory containing eventstream definition files
report_create_definition definitionDirectoryPath Directory of PBIR report definition files
report_update_definition definitionDirectoryPath Directory of PBIR report definition files
variable_library_create definitionDirectoryPath Directory of .json and .platform files
variable_library_update_definition definitionDirectoryPath Directory of .json and .platform files
lakehouse_update_definition partsDirectoryPath Directory of definition files (or inline parts)
warehouse_update_definition partsDirectoryPath Directory of definition files (or inline parts)
pipeline_update_definition partsDirectoryPath Directory of definition files (or inline parts)
reflex_update_definition partsDirectoryPath Directory of definition files (or inline parts)
mirrored_database_update_definition partsDirectoryPath Directory of definition files (or inline parts)
kql_database_update_definition partsDirectoryPath Directory of definition files (or inline parts)
copy_job_update_definition partsDirectoryPath Directory of definition files (or inline parts)
environment_create definitionDirectoryPath (optional) Directory of environment definition files to seed on create
environment_update_definition definitionDirectoryPath Directory of environment definition files
environment_import_staging_external_libraries yamlFilePath Path to an environment.yml file (replaces external library list)
environment_upload_staging_custom_library libraryFilePath Path to .jar / .py / .whl / .tar.gz (max 100 MB)

Output tools — the server retrieves definitions from Fabric and writes them to disk:

Tool Parameter What gets written
semantic_model_get_bim outputFilePath Single model.bim JSON file
semantic_model_get_tmdl outputDirectoryPath TMDL files preserving folder structure
notebook_get_definition outputDirectoryPath Notebook definition files
lakehouse_get_definition outputDirectoryPath Lakehouse definition files
warehouse_get_definition outputDirectoryPath Warehouse definition files
pipeline_get_definition outputDirectoryPath Pipeline definition files
report_get_definition outputDirectoryPath Report definition files (report.json, pages, visuals)
dataflow_get_definition outputDirectoryPath Dataflow definition files
eventstream_get_definition outputDirectoryPath Eventstream definition files
graphql_api_get_definition outputDirectoryPath GraphQL schema definition files
reflex_get_definition outputDirectoryPath Reflex definition files
variable_library_get_definition outputDirectoryPath Variable library files (variables.json, valueSets/)
mirrored_database_get_definition outputDirectoryPath Mirrored database definition files
kql_database_get_definition outputDirectoryPath KQL database definition files
copy_job_get_definition outputDirectoryPath Copy job definition files
environment_get_definition outputDirectoryPath Environment definition files
environment_export_staging_external_libraries outputFilePath Staging environment.yml
environment_export_published_external_libraries outputFilePath Published environment.yml

TMDL directory structure example:

/tmp/my-model/
  model.tmdl
  definition.pbism
  definition/
    tables/
      Sales.tmdl
      Product.tmdl
    relationships.tmdl

Development

git clone https://github.com/your-org/mcp-fabric-api.git
cd mcp-fabric-api
npm install
npm run build
npm start
npm run dev          # Watch mode
npm run inspect      # Launch MCP Inspector

Tools (219 total)

Auth (4 tools)

Tool Description
auth_get_current_account Show current Azure identity, tenant, and token expiry
auth_list_available_accounts List subscriptions/tenants from local az login state (does not query Entra)
auth_switch_tenant Switch to a different Azure tenant (with rollback on failure)
auth_clear_token_cache Clear cached tokens to force re-acquisition

Workspace (6 tools)

Tool Description
workspace_list List all accessible Fabric workspaces
workspace_get Get details of a specific workspace
workspace_create Create a new workspace
workspace_update Update a workspace's name or description
workspace_delete Delete a workspace
workspace_list_items List all items in a workspace (with optional type filter)

Lakehouse (14 tools)

Tool Description
lakehouse_list List all lakehouses in a workspace
lakehouse_get Get lakehouse details (SQL endpoint, OneLake paths)
lakehouse_create Create a new lakehouse (LRO, schemas enabled by default)
lakehouse_update Update lakehouse name or description
lakehouse_delete Delete a lakehouse
lakehouse_list_tables List all tables in a lakehouse (falls back to SQL endpoint for schema-enabled lakehouses)
lakehouse_load_table Load data into a table from OneLake (LRO). Not supported for schema-enabled lakehouses
lakehouse_create_shortcut Create a OneLake shortcut (file, folder, table, or schema level) with support for multiple target types
lakehouse_get_sql_endpoint Get SQL endpoint details
lakehouse_get_definition Get lakehouse definition (LRO). Writes files to outputDirectoryPath
lakehouse_update_definition Update lakehouse definition (LRO). Reads from partsDirectoryPath or inline parts
lakehouse_list_shortcuts List all OneLake shortcuts in a lakehouse
lakehouse_get_shortcut Get details of a specific OneLake shortcut
lakehouse_delete_shortcut Delete a OneLake shortcut

Warehouse (9 tools)

Tool Description
warehouse_list List all warehouses in a workspace
warehouse_get Get warehouse details including connection string and provisioning status
warehouse_create Create a new warehouse (LRO)
warehouse_update Update warehouse name or description
warehouse_delete Delete a warehouse
warehouse_get_sql_endpoint Get SQL connection details for a warehouse
warehouse_list_tables List all tables in a warehouse
warehouse_get_definition Get warehouse definition (LRO). Writes files to outputDirectoryPath
warehouse_update_definition Update warehouse definition (LRO). Reads from partsDirectoryPath or inline parts

Notebook (12 tools)

Tool Description
notebook_list List all notebooks in a workspace
notebook_get Get notebook details
notebook_create Create a new notebook (LRO)
notebook_update Update notebook name or description
notebook_delete Delete a notebook
notebook_get_definition Get notebook definition (LRO). Writes files to outputDirectoryPath
notebook_update_definition Update notebook definition (LRO). Reads files from definitionDirectoryPath
notebook_run Run a notebook on demand
notebook_get_run_status Get notebook run status
notebook_cancel_run Cancel a running notebook
notebook_attach_environment Attach a Fabric Environment to a notebook by mutating its definition metadata (handles both .py and .ipynb notebooks)
notebook_detach_environment Remove the attached environment from a notebook

Pipeline (15 tools)

Tool Description
pipeline_list List all data pipelines
pipeline_get Get pipeline details
pipeline_create Create a new pipeline
pipeline_update Update pipeline name or description
pipeline_delete Delete a pipeline
pipeline_run Run a pipeline on demand
pipeline_get_run_status Get pipeline run status
pipeline_cancel_run Cancel a running pipeline
pipeline_list_runs List all run instances
pipeline_list_schedules List pipeline schedules
pipeline_create_schedule Create a pipeline schedule
pipeline_update_schedule Update a pipeline schedule
pipeline_delete_schedule Delete a pipeline schedule
pipeline_get_definition Get pipeline definition (LRO). Writes files to outputDirectoryPath
pipeline_update_definition Update pipeline definition (LRO). Reads from partsDirectoryPath or inline parts

Semantic Model (15 tools)

Tool Description
semantic_model_list List all semantic models
semantic_model_get_details Get semantic model metadata (name, ID, description) — does not return the definition
semantic_model_create_bim Create a semantic model from a BIM/JSON file (LRO). Reads model.bim from definitionFilePath
semantic_model_create_tmdl Create a semantic model from TMDL files (LRO). Reads .tmdl/.pbism from filesDirectoryPath
semantic_model_update_details Update semantic model name or description — does not modify the definition
semantic_model_delete Delete a semantic model
semantic_model_refresh Trigger a model refresh (Power BI API)
semantic_model_execute_dax Execute a DAX query (Power BI API)
semantic_model_get_bim Get definition in BIM/JSON format (LRO). Writes model.bim to outputFilePath
semantic_model_get_tmdl Get definition in TMDL format (LRO). Writes TMDL files to outputDirectoryPath
semantic_model_update_bim Update definition from BIM/JSON file (LRO). Reads model.bim from definitionFilePath
semantic_model_update_tmdl Update definition from TMDL files (LRO). Reads .tmdl/.pbism from filesDirectoryPath
semantic_model_get_refresh_history Get refresh history (Power BI API)
semantic_model_take_over Take over ownership of a semantic model (Power BI API)
semantic_model_get_datasources Get data sources of a semantic model (Power BI API)

Report (13 tools)

Tool Description
report_list List all reports
report_get Get report details
report_create_definition Create a new report from PBIR definition files (LRO). Reads from definitionDirectoryPath
report_update Update report name or description
report_delete Delete a report
report_clone Clone a report (Power BI API)
report_export Export report to file format (PDF, PPTX, PNG, etc.) via Power BI API
report_get_export_status Check report export status
report_get_definition Get report definition (LRO). Writes files to outputDirectoryPath
report_update_definition Update report definition from PBIR directory (LRO). Reads from definitionDirectoryPath
report_rebind Rebind a report to a different semantic model/dataset (Power BI API)
report_get_pages Get the list of pages in a report (Power BI API)
report_get_datasources Get data sources used by a report (Power BI API)

Dataflow Gen2 (8 tools)

Tool Description
dataflow_list List all Dataflow Gen2 items
dataflow_get Get dataflow details
dataflow_create Create a new dataflow
dataflow_update Update dataflow name or description
dataflow_delete Delete a dataflow
dataflow_refresh Trigger a dataflow refresh
dataflow_get_refresh_status Get refresh job status
dataflow_get_definition Get dataflow definition (LRO). Writes files to outputDirectoryPath

Eventhouse (7 tools)

Tool Description
eventhouse_list List all eventhouses
eventhouse_get Get eventhouse details
eventhouse_create Create a new eventhouse (LRO)
eventhouse_update Update eventhouse name or description
eventhouse_delete Delete an eventhouse
eventhouse_get_sql_endpoint Get query service URI and connection details
eventhouse_execute_kql Execute a KQL query against a KQL database

Eventstream (7 tools)

Tool Description
eventstream_list List all eventstreams
eventstream_get Get eventstream details
eventstream_create Create a new eventstream (LRO)
eventstream_update Update eventstream name or description
eventstream_delete Delete an eventstream
eventstream_get_definition Get eventstream definition (LRO). Writes files to outputDirectoryPath
eventstream_update_definition Update eventstream definition (LRO). Reads from definitionDirectoryPath

Reflex / Activator (7 tools)

Tool Description
reflex_list List all Reflex (Activator) items
reflex_get Get reflex details
reflex_create Create a new reflex
reflex_update Update reflex name or description
reflex_delete Delete a reflex
reflex_get_definition Get reflex definition (LRO). Writes files to outputDirectoryPath
reflex_update_definition Update reflex definition (LRO). Reads from partsDirectoryPath or inline parts

GraphQL API (7 tools)

Tool Description
graphql_api_list List all GraphQL API items
graphql_api_get Get GraphQL API details
graphql_api_create Create a new GraphQL API
graphql_api_update Update GraphQL API name or description
graphql_api_delete Delete a GraphQL API
graphql_api_get_definition Get GraphQL schema definition (LRO). Writes files to outputDirectoryPath
graphql_api_execute_query Execute a GraphQL query

SQL Endpoint (4 tools)

Tool Description
sql_endpoint_list List all SQL endpoints
sql_endpoint_get Get SQL endpoint details
sql_endpoint_get_connection_string Get TDS connection string
sql_endpoint_execute_query Execute a T-SQL query against a lakehouse or warehouse SQL endpoint

Variable Library (7 tools)

Tool Description
variable_library_list List all variable libraries in a workspace
variable_library_get Get variable library details including active value set name
variable_library_create Create a variable library, optionally with definition files from definitionDirectoryPath (LRO)
variable_library_update Update name, description, or active value set
variable_library_delete Delete a variable library
variable_library_get_definition Get definition (LRO). Writes files (variables.json, valueSets/) to outputDirectoryPath
variable_library_update_definition Update definition from directory of .json and .platform files (LRO)

Git Integration (9 tools)

Tool Description
git_get_connection Get Git connection details for a workspace
git_get_status Get Git status of items (sync state between workspace and remote)
git_connect Connect a workspace to a Git repository (Azure DevOps or GitHub)
git_disconnect Disconnect a workspace from its Git repository
git_initialize_connection Initialize a Git connection after connecting (LRO)
git_commit_to_git Commit workspace changes to the connected Git repository (LRO)
git_update_from_git Update workspace from the connected Git repository (LRO)
git_get_credentials Get Git credentials configuration for the current user
git_update_credentials Update Git credentials configuration for the current user

Deployment Pipeline (12 tools)

Tool Description
deployment_pipeline_list List all deployment pipelines accessible to the user
deployment_pipeline_get Get details of a specific deployment pipeline
deployment_pipeline_create Create a new deployment pipeline
deployment_pipeline_update Update deployment pipeline name or description
deployment_pipeline_delete Delete a deployment pipeline
deployment_pipeline_list_stages List all stages in a deployment pipeline
deployment_pipeline_list_stage_items List all items in a specific stage
deployment_pipeline_assign_workspace Assign a workspace to a pipeline stage
deployment_pipeline_unassign_workspace Unassign a workspace from a pipeline stage
deployment_pipeline_deploy Deploy items from one stage to another (LRO)
deployment_pipeline_list_operations List operations (deployment history)
deployment_pipeline_get_operation Get details of a specific deployment operation

Mirrored Database (11 tools)

Tool Description
mirrored_database_list List all mirrored databases in a workspace
mirrored_database_get Get details of a specific mirrored database
mirrored_database_create Create a new mirrored database (LRO)
mirrored_database_update Update mirrored database name or description
mirrored_database_delete Delete a mirrored database
mirrored_database_get_definition Get mirrored database definition (LRO). Writes files to outputDirectoryPath
mirrored_database_update_definition Update definition (LRO). Reads from partsDirectoryPath or inline parts
mirrored_database_start_mirroring Start mirroring for a mirrored database
mirrored_database_stop_mirroring Stop mirroring for a mirrored database
mirrored_database_get_mirroring_status Get the mirroring status
mirrored_database_get_tables_mirroring_status Get mirroring status of individual tables

KQL Database (7 tools)

Tool Description
kql_database_list List all KQL databases in a workspace
kql_database_get Get details of a specific KQL database
kql_database_create Create a new KQL database (LRO). Requires a parent eventhouse
kql_database_update Update KQL database name or description
kql_database_delete Delete a KQL database
kql_database_get_definition Get KQL database definition (LRO). Writes files to outputDirectoryPath
kql_database_update_definition Update definition (LRO). Reads from partsDirectoryPath or inline parts

ML Model (5 tools)

Tool Description
ml_model_list List all ML models in a workspace
ml_model_get Get details of a specific ML model
ml_model_create Create a new ML model (LRO)
ml_model_update Update ML model name or description
ml_model_delete Delete an ML model

ML Experiment (5 tools)

Tool Description
ml_experiment_list List all ML experiments in a workspace
ml_experiment_get Get details of a specific ML experiment
ml_experiment_create Create a new ML experiment (LRO)
ml_experiment_update Update ML experiment name or description
ml_experiment_delete Delete an ML experiment

Copy Job (11 tools)

Tool Description
copy_job_list List all copy jobs in a workspace
copy_job_get Get details of a specific copy job
copy_job_create Create a new copy job
copy_job_update Update copy job name or description
copy_job_delete Delete a copy job
copy_job_get_definition Get copy job definition (LRO). Writes files to outputDirectoryPath
copy_job_update_definition Update definition (LRO). Reads from partsDirectoryPath or inline parts
copy_job_run Run a copy job on demand
copy_job_get_run_status Get copy job run status
copy_job_cancel_run Cancel a running copy job
copy_job_list_runs List all run instances for a copy job

External Data Share (4 tools)

Tool Description
external_data_share_list List all external data shares for an item
external_data_share_get Get details of a specific external data share
external_data_share_create Create a new external data share for an item
external_data_share_revoke Revoke an external data share

Environment (20 tools)

Fabric Environments are the attachable runtime unit for notebooks and Spark job definitions — they bundle a runtime version, a Spark compute configuration, and a set of libraries. Tools cover the full CRUD surface plus the staging/publish lifecycle.

Tool Description
environment_list List all environments in a workspace
environment_get Get environment metadata including publish state
environment_create Create a new environment (optionally seeded with a definition from definitionDirectoryPath)
environment_update Update environment display name or description
environment_delete Delete an environment
environment_get_definition Get the environment public definition (LRO). Writes files to outputDirectoryPath
environment_update_definition Override the environment public definition (LRO). Reads from definitionDirectoryPath
environment_publish Trigger a publish to make staging changes effective (LRO)
environment_cancel_publish Cancel an ongoing publish operation
environment_list_staging_libraries List staging libraries (published + pending)
environment_export_staging_external_libraries Export staging external libraries as environment.yml to outputFilePath
environment_import_staging_external_libraries Upload environment.yml from yamlFilePath to replace the external library list
environment_upload_staging_custom_library Upload a .jar / .py / .whl / .tar.gz from libraryFilePath (max 100 MB)
environment_delete_staging_custom_library Delete a custom library from staging by filename
environment_remove_staging_external_library Remove a single external library from staging (one at a time)
environment_get_staging_spark_compute Get the staging Spark compute configuration
environment_update_staging_spark_compute Update staging Spark compute (pool, cores, memory, runtime, sparkProperties)
environment_list_published_libraries List published (currently effective) libraries
environment_get_published_spark_compute Get published Spark compute configuration
environment_export_published_external_libraries Export published external libraries as environment.yml to outputFilePath

License

AGPL-3.0

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选