Install
$ agentstack add mcp-microsoft-fabric-rti-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
[](https://insiders.vscode.dev/redirect/mcp/install?name=ms-fabric-rti&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22microsoft-fabric-rti-mcp%22%5D%7D) [](https://pepy.tech/projects/microsoft-fabric-rti-mcp)
🎯 Overview
A comprehensive Model Context Protocol (MCP) server implementation for Microsoft Fabric Real-Time Intelligence (RTI). This server enables AI agents to interact with Fabric RTI services by providing tools through the MCP interface, allowing for seamless data querying, analysis, and streaming capabilities.
> [!NOTE] > This project is in Public Preview and implementation may significantly change prior to General Availability.
🔍 How It Works
The Fabric RTI MCP Server acts as a bridge between AI agents and Microsoft Fabric RTI services:
- 🔄 MCP Protocol: Uses the Model Context Protocol to expose Fabric RTI capabilities as tools
- 🏗️ Natural Language to KQL: AI agents can translate natural language requests into KQL queries and Eventstream management
- 💡 Secure Authentication: Leverages Azure Identity for seamless, secure access to your resources
- ⚡ Real-time Data Access: Direct connection to Eventhouse and Eventstreams for live data analysis
- 📊 Unified Interface: For both analytics and streaming workloads with intelligent parameter suggestions
✨ Supported Services
Eventhouse (Kusto): Execute KQL queries against Microsoft Fabric RTI Eventhouse and Azure Data Explorer (ADX).
Eventstreams: Manage Microsoft Fabric Eventstreams for real-time data processing:
- List Eventstreams in workspaces
- Get Eventstream details and definitions
- Create new Eventstreams
- Update existing Eventstreams
- Delete Eventstreams
Activator: Create and manage Microsoft Fabric Activator triggers for real-time alerting:
- Create new triggers with KQL source monitoring
- Set up email and Teams notifications when a condition occurs
- List Activator artifacts in workspaces
Map: Create and manage Microsoft Fabric Map to visualize geospatial data:
- Create a new map from a provided configuration
- Visualize data on maps
- List Map items in workspaces
- Delete Map items
🧠 Copilot Skills
This repository includes a KQL Copilot Skill (.github/skills/kql/) that gives AI agents deep KQL expertise when writing, debugging, or reviewing Kusto queries. The skill covers:
- Syntax gotchas and self-correction patterns for common KQL errors
- Dynamic type discipline, join patterns, datetime pitfalls
- Memory-safe query patterns and result-size discipline
- Advanced functions: graph queries, vector similarity, geospatial operations, time series
- Query templates for deduplication, top-N, sessionization, pivoting, and more
- Full error-to-fix mapping for rapid recovery
The skill references the Fabric RTI MCP tools (kusto_query, kusto_command, kusto_sample_entity, etc.) so agents know how to execute queries through this MCP server.
🚧 Coming soon
- Other RTI items
🔍 Example Prompts
Eventhouse Analytics:
- "Get databases in my Eventhouse"
- "Sample 10 rows from table 'StormEvents' in Eventhouse"
- "What can you tell me about StormEvents data?"
- "Analyze the StormEvents to come up with trend analysis across past 10 years of data"
- "Analyze the commands in 'CommandExecution' table and categorize them as low/medium/high risks"
- "Before running this query, check the execution plan and tell me if it's expensive"
- "Compare these two query approaches and tell me which is more efficient"
- "Check the cluster health — do we have enough capacity for a heavy analytics job?"
Eventstream Management:
- "List all Eventstreams in my workspace"
- "Show me the details of my IoT data Eventstream"
- "Create a new Eventstream for processing sensor data"
- "Update my existing Eventstream to add a new destination"
Activator Alerts:
- "Using the StormEvents table, notify me via email when there is a flood in Illinois"
- "Create a teams alert to notify me when my success rate drops below 95%"
- "List all Activator artifacts in my workspace"
Map Visualization:
- "List all Map items in my workspace"
- "Create a new Map and add LakeHouse with name 'MyLakeHouse' as a data source to Map item 'MyMap'"
- "Delete a Map item with name 'MyMap' from my workspace"
Available tools
Eventhouse (Kusto) - 13 Tools:
kusto_known_services- List all available Kusto services configured in the MCPkusto_query- Execute KQL queries on the specified databasekusto_command- Execute Kusto management commands (.show,.create,.alter,.drop)kusto_list_entities- List entities (databases, tables, external tables, materialized views, functions, graphs) in a cluster or databasekusto_describe_database- Get schema information for all entities in a databasekusto_describe_database_entity- Get detailed schema for a specific entity (table, external table, materialized view, function, graph)kusto_graph_query- Execute graph queries using snapshots or transient graphskusto_sample_entity- Retrieve sample records from a table, external table, materialized view, or functionkusto_ingest_inline_into_table- Ingest inline CSV data into a specified tablekusto_get_shots- Retrieve semantically similar query examples from a shots table using AI embeddingskusto_deeplink_from_query- Generate a deeplink URL to open a KQL query in Azure Data Explorer Web Explorer or Microsoft Fabric query workbenchkusto_show_queryplan- Retrieve the execution plan for a KQL query without running it. Returns planning stats (PlanSize, RelopSize), the logical operator tree, and execution hints (estimated row counts, concurrency/spread hints, per-shard scan info with filter detection). Useful for comparing query approaches, catching expensive joins, and validating query syntax before execution.kusto_diagnostics- Run a best-effort suite of cluster diagnostic commands and return a unified summary. Sections: capacity (resource slots), cluster (nodes/hardware), principal roles (caller permissions), internal diagnostics (health/utilization), workload groups, rowstores, and ingestion failures (last 24h). Each section runs independently — permission failures on one section don't block others.
Eventstreams - 17 Tools:
Core Operations (6 tools):
eventstream_list- List all Eventstreams in your Fabric workspaceeventstream_get- Get detailed information about a specific Eventstreameventstream_get_definition- Retrieve complete JSON definition of an Eventstreameventstream_create- Create new Eventstreams with custom configuration (auto-includes default stream)eventstream_update- Modify existing Eventstream settings and destinationseventstream_delete- Remove Eventstreams and associated resources
Builder Tools (11 tools):
- Session Management:
eventstream_start_definition,eventstream_get_current_definition,eventstream_clear_definition - Sources:
eventstream_add_sample_data_source,eventstream_add_custom_endpoint_source - Streams:
eventstream_add_derived_stream - Destinations:
eventstream_add_eventhouse_destination,eventstream_add_custom_endpoint_destination - Validation:
eventstream_validate_definition,eventstream_create_from_definition,eventstream_list_available_components
> 💡 Pro Tip: All tools work with natural language! Just describe what you want to do and the AI agent will use the appropriate tools automatically.
Activator - 2 Tools:
activator_list_artifacts- List all Activator artifacts in a Fabric workspaceactivator_create_trigger- Create new Activator triggers with KQL source monitoring and email/Teams alerts
Map - 7 Tools:
map_list- List all Map items in your Fabric workspacemap_get- Get detailed information about a specific Map itemmap_get_definition- Retrieve the full JSON definition of a Map itemmap_create- Create a new Map item from a provided configurationmap_update_definition- Replace the full JSON definition of an existing Map itemmap_update- Partially update properties of an existing Map itemmap_delete- Delete a Map item and its associated configuration
Getting Started
Prerequisites
- Install either the stable or Insiders release of VS Code:
- Install the GitHub Copilot and GitHub Copilot Chat extensions
- Install
uv
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
or, check here for other install options
- Open VS Code in an empty folder
Install from PyPI (Pip)
The Fabric RTI MCP Server is available on PyPI, so you can install it using pip. This is the easiest way to install the server.
From VS Code
- Open the command palette (Ctrl+Shift+P) and run the command
MCP: Add Server - Select install from Pip
- When prompted, enter the package name
microsoft-fabric-rti-mcp - Follow the prompts to install the package and add it to your settings.json or your mcp.json file
The process should end with the below settings in your settings.json or your mcp.json file.
settings.json
{
"mcp": {
"servers": {
"fabric-rti-mcp": {
"command": "uvx",
"args": [
"microsoft-fabric-rti-mcp"
],
"env": {
"KUSTO_SERVICE_URI": "https://help.kusto.windows.net/",
"KUSTO_SERVICE_DEFAULT_DB": "Samples",
"FABRIC_API_BASE": "https://api.fabric.microsoft.com/v1"
}
}
}
}
}
> Note: All environment variables are optional. The KUSTO_SERVICE_URI and KUSTO_SERVICE_DEFAULT_DB provide default cluster and database settings. The AZ_OPENAI_EMBEDDING_ENDPOINT is only needed for semantic search functionality in the kusto_get_shots tool.
From GitHub Copilot CLI
Use the interactive command within a GitHub Copilot CLI session:
/mcp add
Or manually add to your ~/.copilot/mcp-config.json:
{
"mcpServers": {
"fabric-rti-mcp": {
"command": "uvx",
"args": [
"microsoft-fabric-rti-mcp"
],
"env": {
"KUSTO_SERVICE_URI": "https://help.kusto.windows.net/",
"KUSTO_SERVICE_DEFAULT_DB": "Samples",
"FABRIC_API_BASE": "https://api.fabric.microsoft.com/v1"
}
}
}
}
For more information, see the GitHub Copilot CLI documentation.
🔧 Manual Install (Install from source)
- Make sure you have Python 3.10+ installed properly and added to your PATH.
- Clone the repository
- Install the dependencies (
pip install .oruv tool install .) - Add the settings below into your vscode
settings.jsonor yourmcp.jsonfile. - Modify the path to match the repo location on your machine.
- Modify the cluster uri in the settings to match your cluster.
- Modify the cluster default database in the settings to match your database.
- Modify the embeddings endpoint in the settings to match yours. This step is optional and needed only in case you supply a shots table
{
"mcp": {
"servers": {
"fabric-rti-mcp": {
"command": "uv",
"args": [
"--directory",
"C:/path/to/fabric-rti-mcp/",
"run",
"-m",
"fabric_rti_mcp.server"
],
"env": {
"KUSTO_SERVICE_URI": "https://help.kusto.windows.net/",
"KUSTO_SERVICE_DEFAULT_DB": "Samples",
"FABRIC_API_BASE": "https://api.fabric.microsoft.com/v1"
}
}
}
}
}
🐛 Debugging the MCP Server locally
Assuming you have python installed and the repo cloned:
Install locally
pip install -e ".[dev]"
Configure
Follow the [Manual Install](#🔧-manual-install-install-from-source) instructions.
Attach the debugger
Use the Python: Attach configuration in your launch.json to attach to the running server. Once VS Code picks up the server and starts it, navigate to its output:
- Open command palette (Ctrl+Shift+P) and run the command
MCP: List Servers - Navigate to
fabric-rti-mcpand selectShow Output - Pick up the process ID (PID) of the server from the output
- Run the
Python: Attachconfiguration in yourlaunch.jsonfile, and paste the PID of the server in the prompt - The debugger will attach to the server process, and you can start debugging
🧪 Test the MCP Server
Via GitHub Copilot
- Open GitHub Copilot in VS Code and switch to Agent mode
- You should see the Fabric RTI MCP Server in the list of tools
- Try prompts that tell the agent to use the RTI tools, such as:
- Eventhouse: "List my Kusto tables" or "Show me a sample from the StormEvents table"
- Eventstreams: "List all Eventstreams in my workspace" or "Show me details of my data processing Eventstream"
- The agent should be able to use the Fabric RTI MCP Server tools to complete your query
⚙️ Configuration
The MCP server can be configured using the following environment variables:
Required Environment Variables
None - the server will work with default settings for demo purposes.
Optional Environment Variables
| Variable | Service | Description | Default | Example | |----------|---------|-------------|---------|---------| | KUSTO_SERVICE_URI | Kusto | Default Kusto cluster URI | None | https://mycluster.westus.kusto.windows.net | | KUSTO_SERVICE_DEFAULT_DB | Kusto | Default database name for Kusto queries | NetDefaultDB | MyDatabase | | AZ_OPENAI_EMBEDDING_ENDPOINT | Kusto | Azure OpenAI embedding endpoint for semantic search in kusto_get_shots | None | https://your-resource.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2024-10-21;impersonate | | KUSTO_KNOWN_SERVICES | Kusto | JSON array of preconfigured Kusto services | None | [{"service_uri":"https://cluster1.kusto.windows.net","default_database":"DB1","description":"Prod"}] | | KUSTO_EAGER_CONNECT | Kusto | Whether to eagerly connect to default service on startup (not recommended) | false | true or false | | KUSTO_ALLOW_UNKNOWN_SERVICES | Kusto | Security setting to allow connections to services not in KUSTO_KNOWN_SERVICES | true | true or false | | KUSTO_SHOTS_TABLE | Kusto | Default shots table name for kusto_get_shots when not provided as a parameter | None | MyDatabase.ShotsTable | | FABRIC_API_BASE | Global | Base URL for Microsoft Fabric API | https://api.fabric.microsoft.com/v1 | https://api.fabric.microsoft.com/v1 | | FABRIC_BASE_URL | Global | Base URL for Microsoft Fabric web interface | `https://fabr
…
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: microsoft
- Source: microsoft/fabric-rti-mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.