@einlogic/mcp-fabric-api 1.3.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -47
- package/build/core/workspace-guard.d.ts +1 -1
- package/build/core/workspace-guard.d.ts.map +1 -1
- package/build/core/workspace-guard.js +7 -4
- package/build/core/workspace-guard.js.map +1 -1
- package/build/server.d.ts.map +1 -1
- package/build/server.js +3 -1
- package/build/server.js.map +1 -1
- package/build/tools/eventstream.d.ts.map +1 -1
- package/build/tools/eventstream.js +18 -11
- package/build/tools/eventstream.js.map +1 -1
- package/build/tools/graphql-api.d.ts.map +1 -1
- package/build/tools/graphql-api.js +18 -10
- package/build/tools/graphql-api.js.map +1 -1
- package/build/tools/lakehouse.d.ts.map +1 -1
- package/build/tools/lakehouse.js +86 -2
- package/build/tools/lakehouse.js.map +1 -1
- package/build/tools/notebook.js +1 -1
- package/build/tools/notebook.js.map +1 -1
- package/build/tools/reflex.d.ts.map +1 -1
- package/build/tools/reflex.js +18 -10
- package/build/tools/reflex.js.map +1 -1
- package/build/tools/report.d.ts.map +1 -1
- package/build/tools/report.js +17 -20
- package/build/tools/report.js.map +1 -1
- package/build/tools/semantic-model.d.ts.map +1 -1
- package/build/tools/semantic-model.js +50 -60
- package/build/tools/semantic-model.js.map +1 -1
- package/build/tools/variable-library.d.ts +5 -0
- package/build/tools/variable-library.d.ts.map +1 -0
- package/build/tools/variable-library.js +155 -0
- package/build/tools/variable-library.js.map +1 -0
- package/build/utils/file-reader.d.ts +2 -0
- package/build/utils/file-reader.d.ts.map +1 -1
- package/build/utils/file-reader.js +19 -2
- package/build/utils/file-reader.js.map +1 -1
- package/build/utils/file-utils.d.ts +11 -0
- package/build/utils/file-utils.d.ts.map +1 -0
- package/build/utils/file-utils.js +84 -0
- package/build/utils/file-utils.js.map +1 -0
- package/package.json +29 -1
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# mcp-fabric-api
|
|
2
2
|
|
|
3
|
-
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, and
|
|
3
|
+
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, and variable libraries.
|
|
4
|
+
|
|
5
|
+
> **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](#workspace-safety-guard) for details.
|
|
4
6
|
|
|
5
7
|
## Prerequisites
|
|
6
8
|
|
|
@@ -77,7 +79,13 @@ The server exposes:
|
|
|
77
79
|
|
|
78
80
|
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.
|
|
79
81
|
|
|
80
|
-
> **Default behavior: When `WRITABLE_WORKSPACES` is not set or empty, all
|
|
82
|
+
> **Default behavior: When `WRITABLE_WORKSPACES` is not set or empty, all destructive operations are blocked.** You must explicitly configure this variable to enable writes.
|
|
83
|
+
|
|
84
|
+
| `WRITABLE_WORKSPACES` value | Behavior |
|
|
85
|
+
|------------------------------|----------|
|
|
86
|
+
| Not set / empty | **All writes blocked** (safe default) |
|
|
87
|
+
| `*` | All workspaces writable |
|
|
88
|
+
| `*-Dev,*-Test,Sandbox*` | Only matching workspaces writable |
|
|
81
89
|
|
|
82
90
|
Set comma-separated glob patterns:
|
|
83
91
|
|
|
@@ -86,28 +94,30 @@ WRITABLE_WORKSPACES=*-Dev,*-Test,Sandbox*
|
|
|
86
94
|
```
|
|
87
95
|
|
|
88
96
|
**Wildcard examples:**
|
|
97
|
+
- `*` matches all workspaces (allow everything)
|
|
89
98
|
- `*-Dev` matches "Sales-Dev", "Finance-Dev"
|
|
90
99
|
- `Sandbox*` matches "Sandbox-123", "Sandbox-Mike"
|
|
91
100
|
- `Exact-Name` matches only "Exact-Name" (case-insensitive)
|
|
92
101
|
|
|
93
|
-
**Guarded tools (
|
|
102
|
+
**Guarded tools (51 total)** — every tool that creates, updates, or deletes workspace items:
|
|
94
103
|
|
|
95
104
|
| Domain | Guarded tools |
|
|
96
105
|
|--------|--------------|
|
|
97
106
|
| Workspace | `workspace_update`, `workspace_delete` |
|
|
98
|
-
| Lakehouse | `lakehouse_create`, `lakehouse_update`, `lakehouse_delete`, `lakehouse_load_table` |
|
|
107
|
+
| Lakehouse | `lakehouse_create`, `lakehouse_update`, `lakehouse_delete`, `lakehouse_load_table`, `lakehouse_create_shortcut` |
|
|
99
108
|
| Warehouse | `warehouse_create`, `warehouse_update`, `warehouse_delete` |
|
|
100
109
|
| Notebook | `notebook_create`, `notebook_update`, `notebook_delete`, `notebook_update_definition` |
|
|
101
110
|
| Pipeline | `pipeline_create`, `pipeline_update`, `pipeline_delete`, `pipeline_create_schedule`, `pipeline_update_schedule`, `pipeline_delete_schedule` |
|
|
102
|
-
| Semantic Model | `
|
|
111
|
+
| 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` |
|
|
103
112
|
| Report | `report_create`, `report_update`, `report_delete`, `report_clone`, `report_update_definition` |
|
|
104
113
|
| Dataflow | `dataflow_create`, `dataflow_update`, `dataflow_delete` |
|
|
105
114
|
| Eventhouse | `eventhouse_create`, `eventhouse_update`, `eventhouse_delete` |
|
|
106
115
|
| Eventstream | `eventstream_create`, `eventstream_update`, `eventstream_delete`, `eventstream_update_definition` |
|
|
107
116
|
| Reflex | `reflex_create`, `reflex_update`, `reflex_delete` |
|
|
108
117
|
| GraphQL API | `graphql_api_create`, `graphql_api_update`, `graphql_api_delete` |
|
|
118
|
+
| Variable Library | `variable_library_create`, `variable_library_update`, `variable_library_delete`, `variable_library_update_definition` |
|
|
109
119
|
|
|
110
|
-
**Not guarded:** Read operations (list, get, get_definition,
|
|
120
|
+
**Not guarded:** Read operations (list, get, get_definition, get_bim, get_tmdl), query execution (DAX, KQL, SQL, GraphQL), run/refresh/cancel operations, and export operations.
|
|
111
121
|
|
|
112
122
|
**Claude Desktop config with guard:**
|
|
113
123
|
```json
|
|
@@ -129,40 +139,45 @@ WRITABLE_WORKSPACES=*-Dev,*-Test,Sandbox*
|
|
|
129
139
|
WRITABLE_WORKSPACES="*-Dev,*-Test" claude mcp add fabric -- npx -y @einlogic/mcp-fabric-api
|
|
130
140
|
```
|
|
131
141
|
|
|
132
|
-
**Error when
|
|
142
|
+
**Error when not configured:**
|
|
133
143
|
```
|
|
134
|
-
|
|
144
|
+
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.
|
|
135
145
|
```
|
|
136
146
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
147
|
+
**Error when workspace not in allow list:**
|
|
148
|
+
```
|
|
149
|
+
Workspace "Production-Analytics" is not in the writable workspaces list. Allowed patterns: *-Dev, *-Test, Sandbox*
|
|
150
|
+
```
|
|
140
151
|
|
|
141
|
-
|
|
152
|
+
### File-Based I/O
|
|
142
153
|
|
|
143
|
-
|
|
144
|
-
|------|-------------------|
|
|
145
|
-
| `notebook_update_definition` | `contentFilePath` |
|
|
146
|
-
| `semantic_model_create` | `definitionFilePath` |
|
|
147
|
-
| `semantic_model_update_definition` | `definitionFilePath` |
|
|
148
|
-
| `eventstream_update_definition` | `contentFilePath` |
|
|
154
|
+
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.
|
|
149
155
|
|
|
150
|
-
**
|
|
156
|
+
**Input tools** — the server reads definition files from the specified path and uploads to Fabric:
|
|
151
157
|
|
|
152
|
-
| Tool |
|
|
153
|
-
|
|
154
|
-
| `
|
|
155
|
-
| `
|
|
156
|
-
| `
|
|
158
|
+
| Tool | Parameter | Description |
|
|
159
|
+
|------|-----------|-------------|
|
|
160
|
+
| `semantic_model_create_bim` | `definitionFilePath` | Path to model.bim JSON file |
|
|
161
|
+
| `semantic_model_update_bim` | `definitionFilePath` | Path to model.bim JSON file |
|
|
162
|
+
| `semantic_model_create_tmdl` | `filesDirectoryPath` | Directory of `.tmdl` and `.pbism` files |
|
|
163
|
+
| `semantic_model_update_tmdl` | `filesDirectoryPath` | Directory of `.tmdl` and `.pbism` files |
|
|
164
|
+
| `notebook_update_definition` | `contentFilePath` | Path to notebook content file (or inline `content`) |
|
|
165
|
+
| `eventstream_update_definition` | `contentFilePath` | Path to eventstream definition (or inline `content`) |
|
|
166
|
+
| `report_update_definition` | `partsDirectoryPath` | Directory of report definition files (or inline `parts`) |
|
|
167
|
+
| `variable_library_create` | `definitionDirectoryPath` | Directory of `.json` and `.platform` files |
|
|
168
|
+
| `variable_library_update_definition` | `definitionDirectoryPath` | Directory of `.json` and `.platform` files |
|
|
157
169
|
|
|
158
|
-
**
|
|
159
|
-
```json
|
|
160
|
-
// Inline (may hit size limits)
|
|
161
|
-
{ "content": "# Notebook code\nprint('hello')" }
|
|
170
|
+
**Output tools** — the server retrieves definitions from Fabric and writes them to disk:
|
|
162
171
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
172
|
+
| Tool | Parameter | What gets written |
|
|
173
|
+
|------|-----------|-------------------|
|
|
174
|
+
| `semantic_model_get_bim` | `outputFilePath` | Single `model.bim` JSON file |
|
|
175
|
+
| `semantic_model_get_tmdl` | `outputDirectoryPath` | TMDL files preserving folder structure |
|
|
176
|
+
| `report_get_definition` | `outputDirectoryPath` | Report definition files (report.json, pages, visuals) |
|
|
177
|
+
| `eventstream_get_definition` | `outputDirectoryPath` | Eventstream definition files |
|
|
178
|
+
| `graphql_api_get_definition` | `outputDirectoryPath` | GraphQL schema definition files |
|
|
179
|
+
| `reflex_get_definition` | `outputDirectoryPath` | Reflex definition files |
|
|
180
|
+
| `variable_library_get_definition` | `outputDirectoryPath` | Variable library files (variables.json, valueSets/) |
|
|
166
181
|
|
|
167
182
|
**TMDL directory structure example:**
|
|
168
183
|
```
|
|
@@ -188,7 +203,7 @@ npm run dev # Watch mode
|
|
|
188
203
|
npm run inspect # Launch MCP Inspector
|
|
189
204
|
```
|
|
190
205
|
|
|
191
|
-
## Tools (
|
|
206
|
+
## Tools (116 total)
|
|
192
207
|
|
|
193
208
|
### Auth (4 tools)
|
|
194
209
|
| Tool | Description |
|
|
@@ -208,16 +223,17 @@ npm run inspect # Launch MCP Inspector
|
|
|
208
223
|
| `workspace_delete` | Delete a workspace |
|
|
209
224
|
| `workspace_list_items` | List all items in a workspace (with optional type filter) |
|
|
210
225
|
|
|
211
|
-
### Lakehouse (
|
|
226
|
+
### Lakehouse (9 tools)
|
|
212
227
|
| Tool | Description |
|
|
213
228
|
|------|-------------|
|
|
214
229
|
| `lakehouse_list` | List all lakehouses in a workspace |
|
|
215
230
|
| `lakehouse_get` | Get lakehouse details (SQL endpoint, OneLake paths) |
|
|
216
|
-
| `lakehouse_create` | Create a new lakehouse (LRO) |
|
|
231
|
+
| `lakehouse_create` | Create a new lakehouse (LRO, schemas enabled by default) |
|
|
217
232
|
| `lakehouse_update` | Update lakehouse name or description |
|
|
218
233
|
| `lakehouse_delete` | Delete a lakehouse |
|
|
219
234
|
| `lakehouse_list_tables` | List all tables in a lakehouse |
|
|
220
235
|
| `lakehouse_load_table` | Load data into a table from OneLake (LRO) |
|
|
236
|
+
| `lakehouse_create_shortcut` | Create a OneLake shortcut (file, folder, table, or schema level) with support for multiple target types |
|
|
221
237
|
| `lakehouse_get_sql_endpoint` | Get SQL endpoint details |
|
|
222
238
|
|
|
223
239
|
### Warehouse (7 tools)
|
|
@@ -266,17 +282,17 @@ npm run inspect # Launch MCP Inspector
|
|
|
266
282
|
| Tool | Description |
|
|
267
283
|
|------|-------------|
|
|
268
284
|
| `semantic_model_list` | List all semantic models |
|
|
269
|
-
| `
|
|
270
|
-
| `
|
|
271
|
-
| `semantic_model_create_tmdl` | Create a semantic model
|
|
272
|
-
| `
|
|
285
|
+
| `semantic_model_get_details` | Get semantic model metadata (name, ID, description) — does not return the definition |
|
|
286
|
+
| `semantic_model_create_bim` | Create a semantic model from a BIM/JSON file (LRO). Reads `model.bim` from `definitionFilePath` |
|
|
287
|
+
| `semantic_model_create_tmdl` | Create a semantic model from TMDL files (LRO). Reads `.tmdl`/`.pbism` from `filesDirectoryPath` |
|
|
288
|
+
| `semantic_model_update_details` | Update semantic model name or description — does not modify the definition |
|
|
273
289
|
| `semantic_model_delete` | Delete a semantic model |
|
|
274
290
|
| `semantic_model_refresh` | Trigger a model refresh (Power BI API) |
|
|
275
291
|
| `semantic_model_execute_dax` | Execute a DAX query (Power BI API) |
|
|
276
|
-
| `
|
|
277
|
-
| `semantic_model_get_tmdl` | Get
|
|
278
|
-
| `
|
|
279
|
-
| `semantic_model_update_tmdl` | Update
|
|
292
|
+
| `semantic_model_get_bim` | Get definition in BIM/JSON format (LRO). Writes `model.bim` to `outputFilePath` |
|
|
293
|
+
| `semantic_model_get_tmdl` | Get definition in TMDL format (LRO). Writes TMDL files to `outputDirectoryPath` |
|
|
294
|
+
| `semantic_model_update_bim` | Update definition from BIM/JSON file (LRO). Reads `model.bim` from `definitionFilePath` |
|
|
295
|
+
| `semantic_model_update_tmdl` | Update definition from TMDL files (LRO). Reads `.tmdl`/`.pbism` from `filesDirectoryPath` |
|
|
280
296
|
|
|
281
297
|
### Report (10 tools)
|
|
282
298
|
| Tool | Description |
|
|
@@ -289,8 +305,8 @@ npm run inspect # Launch MCP Inspector
|
|
|
289
305
|
| `report_clone` | Clone a report (Power BI API) |
|
|
290
306
|
| `report_export` | Export report to file format (Power BI API) |
|
|
291
307
|
| `report_get_export_status` | Check report export status |
|
|
292
|
-
| `report_get_definition` | Get report definition
|
|
293
|
-
| `report_update_definition` | Update report definition from parts
|
|
308
|
+
| `report_get_definition` | Get report definition (LRO). Writes files to `outputDirectoryPath` |
|
|
309
|
+
| `report_update_definition` | Update report definition from parts or directory (LRO) |
|
|
294
310
|
|
|
295
311
|
### Dataflow Gen2 (7 tools)
|
|
296
312
|
| Tool | Description |
|
|
@@ -322,7 +338,7 @@ npm run inspect # Launch MCP Inspector
|
|
|
322
338
|
| `eventstream_create` | Create a new eventstream (LRO) |
|
|
323
339
|
| `eventstream_update` | Update eventstream name or description |
|
|
324
340
|
| `eventstream_delete` | Delete an eventstream |
|
|
325
|
-
| `eventstream_get_definition` | Get eventstream definition (
|
|
341
|
+
| `eventstream_get_definition` | Get eventstream definition (LRO). Writes files to `outputDirectoryPath` |
|
|
326
342
|
| `eventstream_update_definition` | Update eventstream definition (supports file path reference) |
|
|
327
343
|
|
|
328
344
|
### Reflex / Activator (6 tools)
|
|
@@ -333,7 +349,7 @@ npm run inspect # Launch MCP Inspector
|
|
|
333
349
|
| `reflex_create` | Create a new reflex |
|
|
334
350
|
| `reflex_update` | Update reflex name or description |
|
|
335
351
|
| `reflex_delete` | Delete a reflex |
|
|
336
|
-
| `reflex_get_definition` | Get reflex definition (
|
|
352
|
+
| `reflex_get_definition` | Get reflex definition (LRO). Writes files to `outputDirectoryPath` |
|
|
337
353
|
|
|
338
354
|
### GraphQL API (7 tools)
|
|
339
355
|
| Tool | Description |
|
|
@@ -343,7 +359,7 @@ npm run inspect # Launch MCP Inspector
|
|
|
343
359
|
| `graphql_api_create` | Create a new GraphQL API |
|
|
344
360
|
| `graphql_api_update` | Update GraphQL API name or description |
|
|
345
361
|
| `graphql_api_delete` | Delete a GraphQL API |
|
|
346
|
-
| `graphql_api_get_definition` | Get GraphQL schema definition |
|
|
362
|
+
| `graphql_api_get_definition` | Get GraphQL schema definition (LRO). Writes files to `outputDirectoryPath` |
|
|
347
363
|
| `graphql_api_execute_query` | Execute a GraphQL query |
|
|
348
364
|
|
|
349
365
|
### SQL Endpoint (4 tools)
|
|
@@ -354,6 +370,17 @@ npm run inspect # Launch MCP Inspector
|
|
|
354
370
|
| `sql_endpoint_get_connection_string` | Get TDS connection string |
|
|
355
371
|
| `sql_endpoint_execute_query` | Execute a T-SQL query against a SQL endpoint |
|
|
356
372
|
|
|
373
|
+
### Variable Library (7 tools)
|
|
374
|
+
| Tool | Description |
|
|
375
|
+
|------|-------------|
|
|
376
|
+
| `variable_library_list` | List all variable libraries in a workspace |
|
|
377
|
+
| `variable_library_get` | Get variable library details including active value set name |
|
|
378
|
+
| `variable_library_create` | Create a variable library, optionally with definition files from `definitionDirectoryPath` (LRO) |
|
|
379
|
+
| `variable_library_update` | Update name, description, or active value set |
|
|
380
|
+
| `variable_library_delete` | Delete a variable library |
|
|
381
|
+
| `variable_library_get_definition` | Get definition (LRO). Writes files (variables.json, valueSets/) to `outputDirectoryPath` |
|
|
382
|
+
| `variable_library_update_definition` | Update definition from directory of `.json` and `.platform` files (LRO) |
|
|
383
|
+
|
|
357
384
|
## License
|
|
358
385
|
|
|
359
386
|
AGPL-3.0
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { FabricClient } from "../client/fabric-client.js";
|
|
2
2
|
export declare class WorkspaceGuard {
|
|
3
3
|
private patterns;
|
|
4
|
+
private allowAll;
|
|
4
5
|
private nameCache;
|
|
5
6
|
constructor();
|
|
6
|
-
isEnabled(): boolean;
|
|
7
7
|
assertWorkspaceAllowed(fabricClient: FabricClient, workspaceId: string): Promise<void>;
|
|
8
8
|
private matchesPattern;
|
|
9
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-guard.d.ts","sourceRoot":"","sources":["../../src/core/workspace-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,SAAS,CAA6B;;
|
|
1
|
+
{"version":3,"file":"workspace-guard.d.ts","sourceRoot":"","sources":["../../src/core/workspace-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,SAAS,CAA6B;;IAUxC,sBAAsB,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B5F,OAAO,CAAC,cAAc;CAIvB"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
export class WorkspaceGuard {
|
|
2
2
|
patterns;
|
|
3
|
+
allowAll;
|
|
3
4
|
nameCache = new Map();
|
|
4
5
|
constructor() {
|
|
5
6
|
const env = process.env.WRITABLE_WORKSPACES?.trim();
|
|
6
7
|
this.patterns = env
|
|
7
8
|
? env.split(",").map((p) => p.trim()).filter((p) => p.length > 0)
|
|
8
9
|
: [];
|
|
9
|
-
|
|
10
|
-
isEnabled() {
|
|
11
|
-
return this.patterns.length > 0;
|
|
10
|
+
this.allowAll = this.patterns.includes("*");
|
|
12
11
|
}
|
|
13
12
|
async assertWorkspaceAllowed(fabricClient, workspaceId) {
|
|
14
|
-
if (
|
|
13
|
+
if (this.allowAll)
|
|
15
14
|
return;
|
|
15
|
+
if (this.patterns.length === 0) {
|
|
16
|
+
throw new Error("WRITABLE_WORKSPACES is not configured. Destructive actions are blocked by default. " +
|
|
17
|
+
"Set WRITABLE_WORKSPACES to a comma-separated list of workspace name patterns, or \"*\" to allow all.");
|
|
18
|
+
}
|
|
16
19
|
let name = this.nameCache.get(workspaceId);
|
|
17
20
|
if (!name) {
|
|
18
21
|
const response = await fabricClient.get(`/workspaces/${workspaceId}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-guard.js","sourceRoot":"","sources":["../../src/core/workspace-guard.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IACjB,QAAQ,CAAW;IACnB,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE9C;QACE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,GAAG;YACjB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACjE,CAAC,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"workspace-guard.js","sourceRoot":"","sources":["../../src/core/workspace-guard.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IACjB,QAAQ,CAAW;IACnB,QAAQ,CAAU;IAClB,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE9C;QACE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,GAAG;YACjB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACjE,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,YAA0B,EAAE,WAAmB;QAC1E,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,qFAAqF;gBACrF,sGAAsG,CACvG,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAA0B,eAAe,WAAW,EAAE,CAAC,CAAC;YAC/F,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;gBAAE,OAAO;QACjD,CAAC;QAED,MAAM,IAAI,KAAK,CACb,cAAc,IAAI,+DAA+D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC5G,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,IAAY,EAAE,OAAe;QAClD,MAAM,QAAQ,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QAC7E,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}
|
package/build/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAsBvD,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CA+BrE"}
|
package/build/server.js
CHANGED
|
@@ -15,6 +15,7 @@ import { registerReflexTools } from "./tools/reflex.js";
|
|
|
15
15
|
import { registerGraphQLApiTools } from "./tools/graphql-api.js";
|
|
16
16
|
import { registerWarehouseTools } from "./tools/warehouse.js";
|
|
17
17
|
import { registerSqlEndpointTools } from "./tools/sql-endpoint.js";
|
|
18
|
+
import { registerVariableLibraryTools } from "./tools/variable-library.js";
|
|
18
19
|
import { registerAuthTools } from "./tools/auth.js";
|
|
19
20
|
import { SqlClient } from "./client/sql-client.js";
|
|
20
21
|
import { KustoClient } from "./client/kusto-client.js";
|
|
@@ -22,7 +23,7 @@ import { WorkspaceGuard } from "./core/workspace-guard.js";
|
|
|
22
23
|
export function createServer(options) {
|
|
23
24
|
const server = new McpServer({
|
|
24
25
|
name: "mcp-fabric-api",
|
|
25
|
-
version: "
|
|
26
|
+
version: "2.0.0",
|
|
26
27
|
});
|
|
27
28
|
const tokenManager = options?.tokenManager ?? new TokenManager();
|
|
28
29
|
const fabricClient = new FabricClient(tokenManager);
|
|
@@ -44,6 +45,7 @@ export function createServer(options) {
|
|
|
44
45
|
registerReflexTools(server, fabricClient, workspaceGuard);
|
|
45
46
|
registerGraphQLApiTools(server, fabricClient, powerBIClient, workspaceGuard);
|
|
46
47
|
registerSqlEndpointTools(server, fabricClient, sqlClient);
|
|
48
|
+
registerVariableLibraryTools(server, fabricClient, workspaceGuard);
|
|
47
49
|
registerAuthTools(server, tokenManager);
|
|
48
50
|
return server;
|
|
49
51
|
}
|
package/build/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventstream.d.ts","sourceRoot":"","sources":["../../src/tools/eventstream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"eventstream.d.ts","sourceRoot":"","sources":["../../src/tools/eventstream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QAkLrH"}
|
|
@@ -3,7 +3,7 @@ import { formatToolError } from "../core/errors.js";
|
|
|
3
3
|
import { paginateAll } from "../core/pagination.js";
|
|
4
4
|
import { pollOperation, getOperationResult } from "../core/lro.js";
|
|
5
5
|
import { decodeBase64, encodeBase64 } from "../utils/base64.js";
|
|
6
|
-
import { resolveContentOrFile } from "../utils/file-
|
|
6
|
+
import { resolveContentOrFile, writeFilesToDirectory } from "../utils/file-utils.js";
|
|
7
7
|
export function registerEventstreamTools(server, fabricClient, workspaceGuard) {
|
|
8
8
|
server.tool("eventstream_list", "List all eventstreams in a workspace", { workspaceId: z.string().describe("The workspace ID") }, async ({ workspaceId }) => {
|
|
9
9
|
try {
|
|
@@ -81,26 +81,33 @@ export function registerEventstreamTools(server, fabricClient, workspaceGuard) {
|
|
|
81
81
|
return formatToolError(error);
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
|
-
server.tool("eventstream_get_definition", "Get the definition of an eventstream (long-running
|
|
84
|
+
server.tool("eventstream_get_definition", "Get the definition of an eventstream (long-running). Writes definition files to the specified output directory and returns the list of files written.", {
|
|
85
85
|
workspaceId: z.string().describe("The workspace ID"),
|
|
86
86
|
eventstreamId: z.string().describe("The eventstream ID"),
|
|
87
|
-
|
|
87
|
+
outputDirectoryPath: z.string().describe("Directory path where eventstream definition files will be written"),
|
|
88
|
+
}, async ({ workspaceId, eventstreamId, outputDirectoryPath }) => {
|
|
88
89
|
try {
|
|
89
90
|
const response = await fabricClient.post(`/workspaces/${workspaceId}/eventstreams/${eventstreamId}/getDefinition`);
|
|
91
|
+
let parts;
|
|
90
92
|
if (response.lro) {
|
|
91
93
|
await pollOperation(fabricClient, response.lro.operationId);
|
|
92
94
|
const result = await getOperationResult(fabricClient, response.lro.operationId);
|
|
93
95
|
if (result?.definition) {
|
|
94
|
-
|
|
95
|
-
const decoded = definition.parts.map((part) => ({
|
|
96
|
-
path: part.path,
|
|
97
|
-
payload: part.payloadType === "InlineBase64" ? decodeBase64(part.payload) : part.payload,
|
|
98
|
-
payloadType: part.payloadType,
|
|
99
|
-
}));
|
|
100
|
-
return { content: [{ type: "text", text: JSON.stringify(decoded, null, 2) }] };
|
|
96
|
+
parts = result.definition.parts;
|
|
101
97
|
}
|
|
102
98
|
}
|
|
103
|
-
|
|
99
|
+
if (!parts && response.data?.definition) {
|
|
100
|
+
parts = response.data.definition.parts;
|
|
101
|
+
}
|
|
102
|
+
if (!parts) {
|
|
103
|
+
return { content: [{ type: "text", text: "No definition returned from Fabric API" }], isError: true };
|
|
104
|
+
}
|
|
105
|
+
const files = parts.map((part) => ({
|
|
106
|
+
path: part.path,
|
|
107
|
+
content: part.payloadType === "InlineBase64" ? decodeBase64(part.payload) : part.payload,
|
|
108
|
+
}));
|
|
109
|
+
const written = await writeFilesToDirectory(outputDirectoryPath, files);
|
|
110
|
+
return { content: [{ type: "text", text: `Eventstream definition written to: ${outputDirectoryPath}\nFiles:\n${written.map((f) => ` ${f}`).join("\n")}` }] };
|
|
104
111
|
}
|
|
105
112
|
catch (error) {
|
|
106
113
|
return formatToolError(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventstream.js","sourceRoot":"","sources":["../../src/tools/eventstream.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"eventstream.js","sourceRoot":"","sources":["../../src/tools/eventstream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-api.d.ts","sourceRoot":"","sources":["../../src/tools/graphql-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"graphql-api.d.ts","sourceRoot":"","sources":["../../src/tools/graphql-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,QAmKlJ"}
|
|
@@ -3,6 +3,7 @@ import { formatToolError } from "../core/errors.js";
|
|
|
3
3
|
import { paginateAll } from "../core/pagination.js";
|
|
4
4
|
import { pollOperation, getOperationResult } from "../core/lro.js";
|
|
5
5
|
import { decodeBase64 } from "../utils/base64.js";
|
|
6
|
+
import { writeFilesToDirectory } from "../utils/file-utils.js";
|
|
6
7
|
export function registerGraphQLApiTools(server, fabricClient, powerBIClient, workspaceGuard) {
|
|
7
8
|
server.tool("graphql_api_list", "List all GraphQL API items in a workspace", { workspaceId: z.string().describe("The workspace ID") }, async ({ workspaceId }) => {
|
|
8
9
|
try {
|
|
@@ -80,26 +81,33 @@ export function registerGraphQLApiTools(server, fabricClient, powerBIClient, wor
|
|
|
80
81
|
return formatToolError(error);
|
|
81
82
|
}
|
|
82
83
|
});
|
|
83
|
-
server.tool("graphql_api_get_definition", "Get the GraphQL schema definition of a GraphQL API item (long-running
|
|
84
|
+
server.tool("graphql_api_get_definition", "Get the GraphQL schema definition of a GraphQL API item (long-running). Writes definition files (.graphql, etc.) to the specified output directory and returns the list of files written.", {
|
|
84
85
|
workspaceId: z.string().describe("The workspace ID"),
|
|
85
86
|
graphqlApiId: z.string().describe("The GraphQL API ID"),
|
|
86
|
-
|
|
87
|
+
outputDirectoryPath: z.string().describe("Directory path where GraphQL definition files will be written"),
|
|
88
|
+
}, async ({ workspaceId, graphqlApiId, outputDirectoryPath }) => {
|
|
87
89
|
try {
|
|
88
90
|
const response = await fabricClient.post(`/workspaces/${workspaceId}/graphQLApis/${graphqlApiId}/getDefinition`);
|
|
91
|
+
let parts;
|
|
89
92
|
if (response.lro) {
|
|
90
93
|
await pollOperation(fabricClient, response.lro.operationId);
|
|
91
94
|
const result = await getOperationResult(fabricClient, response.lro.operationId);
|
|
92
95
|
if (result?.definition) {
|
|
93
|
-
|
|
94
|
-
const decoded = definition.parts.map((part) => ({
|
|
95
|
-
path: part.path,
|
|
96
|
-
payload: part.payloadType === "InlineBase64" ? decodeBase64(part.payload) : part.payload,
|
|
97
|
-
payloadType: part.payloadType,
|
|
98
|
-
}));
|
|
99
|
-
return { content: [{ type: "text", text: JSON.stringify(decoded, null, 2) }] };
|
|
96
|
+
parts = result.definition.parts;
|
|
100
97
|
}
|
|
101
98
|
}
|
|
102
|
-
|
|
99
|
+
if (!parts && response.data?.definition) {
|
|
100
|
+
parts = response.data.definition.parts;
|
|
101
|
+
}
|
|
102
|
+
if (!parts) {
|
|
103
|
+
return { content: [{ type: "text", text: "No definition returned from Fabric API" }], isError: true };
|
|
104
|
+
}
|
|
105
|
+
const files = parts.map((part) => ({
|
|
106
|
+
path: part.path,
|
|
107
|
+
content: part.payloadType === "InlineBase64" ? decodeBase64(part.payload) : part.payload,
|
|
108
|
+
}));
|
|
109
|
+
const written = await writeFilesToDirectory(outputDirectoryPath, files);
|
|
110
|
+
return { content: [{ type: "text", text: `GraphQL API definition written to: ${outputDirectoryPath}\nFiles:\n${written.map((f) => ` ${f}`).join("\n")}` }] };
|
|
103
111
|
}
|
|
104
112
|
catch (error) {
|
|
105
113
|
return formatToolError(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-api.js","sourceRoot":"","sources":["../../src/tools/graphql-api.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"graphql-api.js","sourceRoot":"","sources":["../../src/tools/graphql-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lakehouse.d.ts","sourceRoot":"","sources":["../../src/tools/lakehouse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"lakehouse.d.ts","sourceRoot":"","sources":["../../src/tools/lakehouse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QA4QnH"}
|