@einlogic/mcp-fabric-api 2.0.0 → 2.1.1

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.
Files changed (58) hide show
  1. package/build/server.d.ts.map +1 -1
  2. package/build/server.js +18 -2
  3. package/build/server.js.map +1 -1
  4. package/build/tools/copy-job.d.ts +5 -0
  5. package/build/tools/copy-job.d.ts.map +1 -0
  6. package/build/tools/copy-job.js +144 -0
  7. package/build/tools/copy-job.js.map +1 -0
  8. package/build/tools/dataflow.d.ts.map +1 -1
  9. package/build/tools/dataflow.js +35 -0
  10. package/build/tools/dataflow.js.map +1 -1
  11. package/build/tools/deployment-pipeline.d.ts +5 -0
  12. package/build/tools/deployment-pipeline.d.ts.map +1 -0
  13. package/build/tools/deployment-pipeline.js +170 -0
  14. package/build/tools/deployment-pipeline.js.map +1 -0
  15. package/build/tools/external-data-share.d.ts +5 -0
  16. package/build/tools/external-data-share.d.ts.map +1 -0
  17. package/build/tools/external-data-share.js +61 -0
  18. package/build/tools/external-data-share.js.map +1 -0
  19. package/build/tools/git-integration.d.ts +5 -0
  20. package/build/tools/git-integration.d.ts.map +1 -0
  21. package/build/tools/git-integration.js +159 -0
  22. package/build/tools/git-integration.js.map +1 -0
  23. package/build/tools/kql-database.d.ts +5 -0
  24. package/build/tools/kql-database.d.ts.map +1 -0
  25. package/build/tools/kql-database.js +154 -0
  26. package/build/tools/kql-database.js.map +1 -0
  27. package/build/tools/lakehouse.d.ts +2 -1
  28. package/build/tools/lakehouse.d.ts.map +1 -1
  29. package/build/tools/lakehouse.js +151 -6
  30. package/build/tools/lakehouse.js.map +1 -1
  31. package/build/tools/mirrored-database.d.ts +5 -0
  32. package/build/tools/mirrored-database.d.ts.map +1 -0
  33. package/build/tools/mirrored-database.js +199 -0
  34. package/build/tools/mirrored-database.js.map +1 -0
  35. package/build/tools/ml-experiment.d.ts +5 -0
  36. package/build/tools/ml-experiment.d.ts.map +1 -0
  37. package/build/tools/ml-experiment.js +83 -0
  38. package/build/tools/ml-experiment.js.map +1 -0
  39. package/build/tools/ml-model.d.ts +5 -0
  40. package/build/tools/ml-model.d.ts.map +1 -0
  41. package/build/tools/ml-model.js +83 -0
  42. package/build/tools/ml-model.js.map +1 -0
  43. package/build/tools/pipeline.d.ts.map +1 -1
  44. package/build/tools/pipeline.js +66 -0
  45. package/build/tools/pipeline.js.map +1 -1
  46. package/build/tools/reflex.d.ts.map +1 -1
  47. package/build/tools/reflex.js +34 -2
  48. package/build/tools/reflex.js.map +1 -1
  49. package/build/tools/report.d.ts.map +1 -1
  50. package/build/tools/report.js +38 -0
  51. package/build/tools/report.js.map +1 -1
  52. package/build/tools/semantic-model.d.ts.map +1 -1
  53. package/build/tools/semantic-model.js +37 -0
  54. package/build/tools/semantic-model.js.map +1 -1
  55. package/build/tools/warehouse.d.ts.map +1 -1
  56. package/build/tools/warehouse.js +66 -0
  57. package/build/tools/warehouse.js.map +1 -1
  58. package/package.json +1 -1
@@ -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;AAsBvD,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CA+BrE"}
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;AA8BvD,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAuCrE"}
package/build/server.js CHANGED
@@ -17,13 +17,21 @@ import { registerWarehouseTools } from "./tools/warehouse.js";
17
17
  import { registerSqlEndpointTools } from "./tools/sql-endpoint.js";
18
18
  import { registerVariableLibraryTools } from "./tools/variable-library.js";
19
19
  import { registerAuthTools } from "./tools/auth.js";
20
+ import { registerGitIntegrationTools } from "./tools/git-integration.js";
21
+ import { registerDeploymentPipelineTools } from "./tools/deployment-pipeline.js";
22
+ import { registerMirroredDatabaseTools } from "./tools/mirrored-database.js";
23
+ import { registerKqlDatabaseTools } from "./tools/kql-database.js";
24
+ import { registerMlModelTools } from "./tools/ml-model.js";
25
+ import { registerMlExperimentTools } from "./tools/ml-experiment.js";
26
+ import { registerCopyJobTools } from "./tools/copy-job.js";
27
+ import { registerExternalDataShareTools } from "./tools/external-data-share.js";
20
28
  import { SqlClient } from "./client/sql-client.js";
21
29
  import { KustoClient } from "./client/kusto-client.js";
22
30
  import { WorkspaceGuard } from "./core/workspace-guard.js";
23
31
  export function createServer(options) {
24
32
  const server = new McpServer({
25
33
  name: "mcp-fabric-api",
26
- version: "2.0.0",
34
+ version: "2.1.1",
27
35
  });
28
36
  const tokenManager = options?.tokenManager ?? new TokenManager();
29
37
  const fabricClient = new FabricClient(tokenManager);
@@ -33,7 +41,7 @@ export function createServer(options) {
33
41
  const workspaceGuard = new WorkspaceGuard();
34
42
  // Register all domain tools
35
43
  registerWorkspaceTools(server, fabricClient, workspaceGuard);
36
- registerLakehouseTools(server, fabricClient, workspaceGuard);
44
+ registerLakehouseTools(server, fabricClient, sqlClient, workspaceGuard);
37
45
  registerWarehouseTools(server, fabricClient, workspaceGuard);
38
46
  registerNotebookTools(server, fabricClient, workspaceGuard);
39
47
  registerPipelineTools(server, fabricClient, workspaceGuard);
@@ -46,6 +54,14 @@ export function createServer(options) {
46
54
  registerGraphQLApiTools(server, fabricClient, powerBIClient, workspaceGuard);
47
55
  registerSqlEndpointTools(server, fabricClient, sqlClient);
48
56
  registerVariableLibraryTools(server, fabricClient, workspaceGuard);
57
+ registerGitIntegrationTools(server, fabricClient, workspaceGuard);
58
+ registerDeploymentPipelineTools(server, fabricClient, workspaceGuard);
59
+ registerMirroredDatabaseTools(server, fabricClient, workspaceGuard);
60
+ registerKqlDatabaseTools(server, fabricClient, workspaceGuard);
61
+ registerMlModelTools(server, fabricClient, workspaceGuard);
62
+ registerMlExperimentTools(server, fabricClient, workspaceGuard);
63
+ registerCopyJobTools(server, fabricClient, workspaceGuard);
64
+ registerExternalDataShareTools(server, fabricClient, workspaceGuard);
49
65
  registerAuthTools(server, tokenManager);
50
66
  return server;
51
67
  }
@@ -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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"}
@@ -0,0 +1,5 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { FabricClient } from "../client/fabric-client.js";
3
+ import { WorkspaceGuard } from "../core/workspace-guard.js";
4
+ export declare function registerCopyJobTools(server: McpServer, fabricClient: FabricClient, workspaceGuard: WorkspaceGuard): void;
5
+ //# sourceMappingURL=copy-job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-job.d.ts","sourceRoot":"","sources":["../../src/tools/copy-job.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;AAI5D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QA6KjH"}
@@ -0,0 +1,144 @@
1
+ import { z } from "zod";
2
+ import { formatToolError } from "../core/errors.js";
3
+ import { paginateAll } from "../core/pagination.js";
4
+ import { pollOperation, getOperationResult } from "../core/lro.js";
5
+ import { encodeBase64, decodeBase64 } from "../utils/base64.js";
6
+ import { resolveFilesOrDirectory, writeFilesToDirectory } from "../utils/file-utils.js";
7
+ export function registerCopyJobTools(server, fabricClient, workspaceGuard) {
8
+ server.tool("copy_job_list", "List all copy jobs in a workspace", { workspaceId: z.string().describe("The workspace ID") }, async ({ workspaceId }) => {
9
+ try {
10
+ const items = await paginateAll(fabricClient, `/workspaces/${workspaceId}/items?type=CopyJob`);
11
+ return { content: [{ type: "text", text: JSON.stringify(items, null, 2) }] };
12
+ }
13
+ catch (error) {
14
+ return formatToolError(error);
15
+ }
16
+ });
17
+ server.tool("copy_job_get", "Get details of a specific copy job", {
18
+ workspaceId: z.string().describe("The workspace ID"),
19
+ copyJobId: z.string().describe("The copy job ID"),
20
+ }, async ({ workspaceId, copyJobId }) => {
21
+ try {
22
+ const response = await fabricClient.get(`/workspaces/${workspaceId}/items/${copyJobId}`);
23
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
24
+ }
25
+ catch (error) {
26
+ return formatToolError(error);
27
+ }
28
+ });
29
+ server.tool("copy_job_create", "Create a new copy job in a workspace", {
30
+ workspaceId: z.string().describe("The workspace ID"),
31
+ displayName: z.string().describe("Display name for the copy job"),
32
+ description: z.string().optional().describe("Description of the copy job"),
33
+ }, async ({ workspaceId, displayName, description }) => {
34
+ try {
35
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
36
+ const body = { displayName, type: "CopyJob" };
37
+ if (description)
38
+ body.description = description;
39
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/items`, body);
40
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
41
+ }
42
+ catch (error) {
43
+ return formatToolError(error);
44
+ }
45
+ });
46
+ server.tool("copy_job_update", "Update a copy job's name or description", {
47
+ workspaceId: z.string().describe("The workspace ID"),
48
+ copyJobId: z.string().describe("The copy job ID"),
49
+ displayName: z.string().optional().describe("New display name"),
50
+ description: z.string().optional().describe("New description"),
51
+ }, async ({ workspaceId, copyJobId, displayName, description }) => {
52
+ try {
53
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
54
+ const body = {};
55
+ if (displayName !== undefined)
56
+ body.displayName = displayName;
57
+ if (description !== undefined)
58
+ body.description = description;
59
+ const response = await fabricClient.patch(`/workspaces/${workspaceId}/items/${copyJobId}`, body);
60
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
61
+ }
62
+ catch (error) {
63
+ return formatToolError(error);
64
+ }
65
+ });
66
+ server.tool("copy_job_delete", "Delete a copy job", {
67
+ workspaceId: z.string().describe("The workspace ID"),
68
+ copyJobId: z.string().describe("The copy job ID"),
69
+ }, async ({ workspaceId, copyJobId }) => {
70
+ try {
71
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
72
+ await fabricClient.delete(`/workspaces/${workspaceId}/items/${copyJobId}`);
73
+ return { content: [{ type: "text", text: `Copy job ${copyJobId} deleted successfully` }] };
74
+ }
75
+ catch (error) {
76
+ return formatToolError(error);
77
+ }
78
+ });
79
+ server.tool("copy_job_get_definition", "Get the definition of a copy job (long-running). Writes definition files to the specified output directory.", {
80
+ workspaceId: z.string().describe("The workspace ID"),
81
+ copyJobId: z.string().describe("The copy job ID"),
82
+ outputDirectoryPath: z.string().describe("Directory path where definition files will be written"),
83
+ }, async ({ workspaceId, copyJobId, outputDirectoryPath }) => {
84
+ try {
85
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/items/${copyJobId}/getDefinition`);
86
+ let parts;
87
+ if (response.lro) {
88
+ await pollOperation(fabricClient, response.lro.operationId);
89
+ const result = await getOperationResult(fabricClient, response.lro.operationId);
90
+ if (result?.definition) {
91
+ parts = result.definition.parts;
92
+ }
93
+ }
94
+ if (!parts && response.data?.definition) {
95
+ parts = response.data.definition.parts;
96
+ }
97
+ if (!parts) {
98
+ return { content: [{ type: "text", text: "No definition returned from Fabric API" }], isError: true };
99
+ }
100
+ const files = parts.map((part) => ({
101
+ path: part.path,
102
+ content: part.payloadType === "InlineBase64" ? decodeBase64(part.payload) : part.payload,
103
+ }));
104
+ const written = await writeFilesToDirectory(outputDirectoryPath, files);
105
+ return { content: [{ type: "text", text: `Copy job definition written to: ${outputDirectoryPath}\nFiles:\n${written.map((f) => ` ${f}`).join("\n")}` }] };
106
+ }
107
+ catch (error) {
108
+ return formatToolError(error);
109
+ }
110
+ });
111
+ server.tool("copy_job_update_definition", "Update a copy job's definition (long-running). Accepts definition parts inline or a directory path.", {
112
+ workspaceId: z.string().describe("The workspace ID"),
113
+ copyJobId: z.string().describe("The copy job ID"),
114
+ parts: z.array(z.object({
115
+ path: z.string().describe("The definition part path"),
116
+ content: z.string().describe("The file content as a string"),
117
+ })).optional().describe("Array of definition parts to upload"),
118
+ partsDirectoryPath: z.string().optional().describe("Path to a directory containing definition files"),
119
+ }, async ({ workspaceId, copyJobId, parts, partsDirectoryPath }) => {
120
+ try {
121
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
122
+ const resolved = await resolveFilesOrDirectory(parts, partsDirectoryPath);
123
+ const body = {
124
+ definition: {
125
+ parts: resolved.map((part) => ({
126
+ path: part.path,
127
+ payload: encodeBase64(part.content),
128
+ payloadType: "InlineBase64",
129
+ })),
130
+ },
131
+ };
132
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/items/${copyJobId}/updateDefinition`, body);
133
+ if (response.lro) {
134
+ const state = await pollOperation(fabricClient, response.lro.operationId);
135
+ return { content: [{ type: "text", text: JSON.stringify(state, null, 2) }] };
136
+ }
137
+ return { content: [{ type: "text", text: "Copy job definition updated successfully" }] };
138
+ }
139
+ catch (error) {
140
+ return formatToolError(error);
141
+ }
142
+ });
143
+ }
144
+ //# sourceMappingURL=copy-job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-job.js","sourceRoot":"","sources":["../../src/tools/copy-job.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../src/tools/dataflow.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,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QAgIlH"}
1
+ {"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../src/tools/dataflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QAwKlH"}
@@ -1,7 +1,10 @@
1
1
  import { z } from "zod";
2
2
  import { formatToolError } from "../core/errors.js";
3
3
  import { paginateAll } from "../core/pagination.js";
4
+ import { pollOperation, getOperationResult } from "../core/lro.js";
5
+ import { decodeBase64 } from "../utils/base64.js";
4
6
  import { runOnDemandJob, getJobInstance } from "../core/job-scheduler.js";
7
+ import { writeFilesToDirectory } from "../utils/file-utils.js";
5
8
  export function registerDataflowTools(server, fabricClient, workspaceGuard) {
6
9
  server.tool("dataflow_list", "List all Dataflow Gen2 items in a workspace", { workspaceId: z.string().describe("The workspace ID") }, async ({ workspaceId }) => {
7
10
  try {
@@ -99,5 +102,37 @@ export function registerDataflowTools(server, fabricClient, workspaceGuard) {
99
102
  return formatToolError(error);
100
103
  }
101
104
  });
105
+ server.tool("dataflow_get_definition", "Get the definition of a Dataflow Gen2 item (long-running). Writes definition files to the specified output directory.", {
106
+ workspaceId: z.string().describe("The workspace ID"),
107
+ dataflowId: z.string().describe("The dataflow ID"),
108
+ outputDirectoryPath: z.string().describe("Directory path where definition files will be written"),
109
+ }, async ({ workspaceId, dataflowId, outputDirectoryPath }) => {
110
+ try {
111
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/items/${dataflowId}/getDefinition`);
112
+ let parts;
113
+ if (response.lro) {
114
+ await pollOperation(fabricClient, response.lro.operationId);
115
+ const result = await getOperationResult(fabricClient, response.lro.operationId);
116
+ if (result?.definition) {
117
+ parts = result.definition.parts;
118
+ }
119
+ }
120
+ if (!parts && response.data?.definition) {
121
+ parts = response.data.definition.parts;
122
+ }
123
+ if (!parts) {
124
+ return { content: [{ type: "text", text: "No definition returned from Fabric API" }], isError: true };
125
+ }
126
+ const files = parts.map((part) => ({
127
+ path: part.path,
128
+ content: part.payloadType === "InlineBase64" ? decodeBase64(part.payload) : part.payload,
129
+ }));
130
+ const written = await writeFilesToDirectory(outputDirectoryPath, files);
131
+ return { content: [{ type: "text", text: `Dataflow definition written to: ${outputDirectoryPath}\nFiles:\n${written.map((f) => ` ${f}`).join("\n")}` }] };
132
+ }
133
+ catch (error) {
134
+ return formatToolError(error);
135
+ }
136
+ });
102
137
  }
103
138
  //# sourceMappingURL=dataflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataflow.js","sourceRoot":"","sources":["../../src/tools/dataflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataflow.js","sourceRoot":"","sources":["../../src/tools/dataflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { FabricClient } from "../client/fabric-client.js";
3
+ import { WorkspaceGuard } from "../core/workspace-guard.js";
4
+ export declare function registerDeploymentPipelineTools(server: McpServer, fabricClient: FabricClient, workspaceGuard: WorkspaceGuard): void;
5
+ //# sourceMappingURL=deployment-pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-pipeline.d.ts","sourceRoot":"","sources":["../../src/tools/deployment-pipeline.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,+BAA+B,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QA+N5H"}
@@ -0,0 +1,170 @@
1
+ import { z } from "zod";
2
+ import { formatToolError } from "../core/errors.js";
3
+ import { paginateAll } from "../core/pagination.js";
4
+ import { pollOperation } from "../core/lro.js";
5
+ export function registerDeploymentPipelineTools(server, fabricClient, workspaceGuard) {
6
+ server.tool("deployment_pipeline_list", "List all deployment pipelines accessible to the user", {}, async () => {
7
+ try {
8
+ const pipelines = await paginateAll(fabricClient, `/deploymentPipelines`);
9
+ return { content: [{ type: "text", text: JSON.stringify(pipelines, null, 2) }] };
10
+ }
11
+ catch (error) {
12
+ return formatToolError(error);
13
+ }
14
+ });
15
+ server.tool("deployment_pipeline_get", "Get details of a specific deployment pipeline", { pipelineId: z.string().describe("The deployment pipeline ID") }, async ({ pipelineId }) => {
16
+ try {
17
+ const response = await fabricClient.get(`/deploymentPipelines/${pipelineId}`);
18
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
19
+ }
20
+ catch (error) {
21
+ return formatToolError(error);
22
+ }
23
+ });
24
+ server.tool("deployment_pipeline_create", "Create a new deployment pipeline", {
25
+ displayName: z.string().describe("Display name for the deployment pipeline"),
26
+ description: z.string().optional().describe("Description of the deployment pipeline"),
27
+ }, async ({ displayName, description }) => {
28
+ try {
29
+ const body = { displayName };
30
+ if (description)
31
+ body.description = description;
32
+ const response = await fabricClient.post(`/deploymentPipelines`, body);
33
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
34
+ }
35
+ catch (error) {
36
+ return formatToolError(error);
37
+ }
38
+ });
39
+ server.tool("deployment_pipeline_update", "Update a deployment pipeline's name or description", {
40
+ pipelineId: z.string().describe("The deployment pipeline ID"),
41
+ displayName: z.string().optional().describe("New display name"),
42
+ description: z.string().optional().describe("New description"),
43
+ }, async ({ pipelineId, displayName, description }) => {
44
+ try {
45
+ const body = {};
46
+ if (displayName !== undefined)
47
+ body.displayName = displayName;
48
+ if (description !== undefined)
49
+ body.description = description;
50
+ const response = await fabricClient.patch(`/deploymentPipelines/${pipelineId}`, body);
51
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
52
+ }
53
+ catch (error) {
54
+ return formatToolError(error);
55
+ }
56
+ });
57
+ server.tool("deployment_pipeline_delete", "Delete a deployment pipeline", { pipelineId: z.string().describe("The deployment pipeline ID") }, async ({ pipelineId }) => {
58
+ try {
59
+ await fabricClient.delete(`/deploymentPipelines/${pipelineId}`);
60
+ return { content: [{ type: "text", text: `Deployment pipeline ${pipelineId} deleted successfully` }] };
61
+ }
62
+ catch (error) {
63
+ return formatToolError(error);
64
+ }
65
+ });
66
+ server.tool("deployment_pipeline_list_stages", "List all stages in a deployment pipeline", { pipelineId: z.string().describe("The deployment pipeline ID") }, async ({ pipelineId }) => {
67
+ try {
68
+ const stages = await paginateAll(fabricClient, `/deploymentPipelines/${pipelineId}/stages`);
69
+ return { content: [{ type: "text", text: JSON.stringify(stages, null, 2) }] };
70
+ }
71
+ catch (error) {
72
+ return formatToolError(error);
73
+ }
74
+ });
75
+ server.tool("deployment_pipeline_list_stage_items", "List all items in a specific deployment pipeline stage", {
76
+ pipelineId: z.string().describe("The deployment pipeline ID"),
77
+ stageId: z.string().describe("The stage ID"),
78
+ }, async ({ pipelineId, stageId }) => {
79
+ try {
80
+ const items = await paginateAll(fabricClient, `/deploymentPipelines/${pipelineId}/stages/${stageId}/items`);
81
+ return { content: [{ type: "text", text: JSON.stringify(items, null, 2) }] };
82
+ }
83
+ catch (error) {
84
+ return formatToolError(error);
85
+ }
86
+ });
87
+ server.tool("deployment_pipeline_assign_workspace", "Assign a workspace to a deployment pipeline stage", {
88
+ pipelineId: z.string().describe("The deployment pipeline ID"),
89
+ stageId: z.string().describe("The stage ID"),
90
+ workspaceId: z.string().describe("The workspace ID to assign"),
91
+ }, async ({ pipelineId, stageId, workspaceId }) => {
92
+ try {
93
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
94
+ const response = await fabricClient.post(`/deploymentPipelines/${pipelineId}/stages/${stageId}/assignWorkspace`, { workspaceId });
95
+ return { content: [{ type: "text", text: response.data ? JSON.stringify(response.data, null, 2) : "Workspace assigned to stage successfully" }] };
96
+ }
97
+ catch (error) {
98
+ return formatToolError(error);
99
+ }
100
+ });
101
+ server.tool("deployment_pipeline_unassign_workspace", "Unassign a workspace from a deployment pipeline stage", {
102
+ pipelineId: z.string().describe("The deployment pipeline ID"),
103
+ stageId: z.string().describe("The stage ID"),
104
+ workspaceId: z.string().describe("The workspace ID to unassign"),
105
+ }, async ({ pipelineId, stageId, workspaceId }) => {
106
+ try {
107
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
108
+ const response = await fabricClient.post(`/deploymentPipelines/${pipelineId}/stages/${stageId}/unassignWorkspace`, { workspaceId });
109
+ return { content: [{ type: "text", text: response.data ? JSON.stringify(response.data, null, 2) : "Workspace unassigned from stage successfully" }] };
110
+ }
111
+ catch (error) {
112
+ return formatToolError(error);
113
+ }
114
+ });
115
+ server.tool("deployment_pipeline_deploy", "Deploy items from one stage to another in a deployment pipeline (long-running)", {
116
+ pipelineId: z.string().describe("The deployment pipeline ID"),
117
+ sourceStageId: z.string().describe("The source stage ID to deploy from"),
118
+ targetStageId: z.string().optional().describe("The target stage ID (defaults to the next stage)"),
119
+ items: z.array(z.object({
120
+ sourceItemId: z.string().describe("The source item ID"),
121
+ targetItemId: z.string().optional().describe("The target item ID (for updating existing items)"),
122
+ })).optional().describe("Specific items to deploy (deploys all if omitted)"),
123
+ note: z.string().optional().describe("Deployment note"),
124
+ workspaceId: z.string().optional().describe("The workspace ID (for workspace guard validation)"),
125
+ }, async ({ pipelineId, sourceStageId, targetStageId, items, note, workspaceId }) => {
126
+ try {
127
+ if (workspaceId) {
128
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
129
+ }
130
+ const body = { sourceStageId };
131
+ if (targetStageId)
132
+ body.targetStageId = targetStageId;
133
+ if (items)
134
+ body.items = items;
135
+ if (note)
136
+ body.note = note;
137
+ const response = await fabricClient.post(`/deploymentPipelines/${pipelineId}/deploy`, body);
138
+ if (response.lro) {
139
+ const state = await pollOperation(fabricClient, response.lro.operationId);
140
+ return { content: [{ type: "text", text: JSON.stringify(state, null, 2) }] };
141
+ }
142
+ return { content: [{ type: "text", text: response.data ? JSON.stringify(response.data, null, 2) : "Deployment initiated successfully" }] };
143
+ }
144
+ catch (error) {
145
+ return formatToolError(error);
146
+ }
147
+ });
148
+ server.tool("deployment_pipeline_list_operations", "List operations (deployment history) for a deployment pipeline", { pipelineId: z.string().describe("The deployment pipeline ID") }, async ({ pipelineId }) => {
149
+ try {
150
+ const operations = await paginateAll(fabricClient, `/deploymentPipelines/${pipelineId}/operations`);
151
+ return { content: [{ type: "text", text: JSON.stringify(operations, null, 2) }] };
152
+ }
153
+ catch (error) {
154
+ return formatToolError(error);
155
+ }
156
+ });
157
+ server.tool("deployment_pipeline_get_operation", "Get details of a specific deployment pipeline operation", {
158
+ pipelineId: z.string().describe("The deployment pipeline ID"),
159
+ operationId: z.string().describe("The operation ID"),
160
+ }, async ({ pipelineId, operationId }) => {
161
+ try {
162
+ const response = await fabricClient.get(`/deploymentPipelines/${pipelineId}/operations/${operationId}`);
163
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
164
+ }
165
+ catch (error) {
166
+ return formatToolError(error);
167
+ }
168
+ });
169
+ }
170
+ //# sourceMappingURL=deployment-pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-pipeline.js","sourceRoot":"","sources":["../../src/tools/deployment-pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { FabricClient } from "../client/fabric-client.js";
3
+ import { WorkspaceGuard } from "../core/workspace-guard.js";
4
+ export declare function registerExternalDataShareTools(server: McpServer, fabricClient: FabricClient, workspaceGuard: WorkspaceGuard): void;
5
+ //# sourceMappingURL=external-data-share.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-data-share.d.ts","sourceRoot":"","sources":["../../src/tools/external-data-share.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QAkF3H"}
@@ -0,0 +1,61 @@
1
+ import { z } from "zod";
2
+ import { formatToolError } from "../core/errors.js";
3
+ import { paginateAll } from "../core/pagination.js";
4
+ export function registerExternalDataShareTools(server, fabricClient, workspaceGuard) {
5
+ server.tool("external_data_share_list", "List all external data shares for an item", {
6
+ workspaceId: z.string().describe("The workspace ID"),
7
+ itemId: z.string().describe("The item ID"),
8
+ }, async ({ workspaceId, itemId }) => {
9
+ try {
10
+ const shares = await paginateAll(fabricClient, `/workspaces/${workspaceId}/items/${itemId}/externalDataShares`);
11
+ return { content: [{ type: "text", text: JSON.stringify(shares, null, 2) }] };
12
+ }
13
+ catch (error) {
14
+ return formatToolError(error);
15
+ }
16
+ });
17
+ server.tool("external_data_share_get", "Get details of a specific external data share", {
18
+ workspaceId: z.string().describe("The workspace ID"),
19
+ itemId: z.string().describe("The item ID"),
20
+ externalDataShareId: z.string().describe("The external data share ID"),
21
+ }, async ({ workspaceId, itemId, externalDataShareId }) => {
22
+ try {
23
+ const response = await fabricClient.get(`/workspaces/${workspaceId}/items/${itemId}/externalDataShares/${externalDataShareId}`);
24
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
25
+ }
26
+ catch (error) {
27
+ return formatToolError(error);
28
+ }
29
+ });
30
+ server.tool("external_data_share_create", "Create a new external data share for an item", {
31
+ workspaceId: z.string().describe("The workspace ID"),
32
+ itemId: z.string().describe("The item ID"),
33
+ paths: z.array(z.string()).describe("Array of paths to share externally"),
34
+ recipientUserPrincipalName: z.string().describe("User principal name of the recipient (email)"),
35
+ }, async ({ workspaceId, itemId, paths, recipientUserPrincipalName }) => {
36
+ try {
37
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
38
+ const body = { paths, recipient: { userPrincipalName: recipientUserPrincipalName } };
39
+ const response = await fabricClient.post(`/workspaces/${workspaceId}/items/${itemId}/externalDataShares`, body);
40
+ return { content: [{ type: "text", text: JSON.stringify(response.data, null, 2) }] };
41
+ }
42
+ catch (error) {
43
+ return formatToolError(error);
44
+ }
45
+ });
46
+ server.tool("external_data_share_revoke", "Revoke an external data share", {
47
+ workspaceId: z.string().describe("The workspace ID"),
48
+ itemId: z.string().describe("The item ID"),
49
+ externalDataShareId: z.string().describe("The external data share ID to revoke"),
50
+ }, async ({ workspaceId, itemId, externalDataShareId }) => {
51
+ try {
52
+ await workspaceGuard.assertWorkspaceAllowed(fabricClient, workspaceId);
53
+ await fabricClient.post(`/workspaces/${workspaceId}/items/${itemId}/externalDataShares/${externalDataShareId}/revoke`);
54
+ return { content: [{ type: "text", text: `External data share ${externalDataShareId} revoked successfully` }] };
55
+ }
56
+ catch (error) {
57
+ return formatToolError(error);
58
+ }
59
+ });
60
+ }
61
+ //# sourceMappingURL=external-data-share.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-data-share.js","sourceRoot":"","sources":["../../src/tools/external-data-share.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { FabricClient } from "../client/fabric-client.js";
3
+ import { WorkspaceGuard } from "../core/workspace-guard.js";
4
+ export declare function registerGitIntegrationTools(server: McpServer, fabricClient: FabricClient, workspaceGuard: WorkspaceGuard): void;
5
+ //# sourceMappingURL=git-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-integration.d.ts","sourceRoot":"","sources":["../../src/tools/git-integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,QA+LxH"}