@mcp-consultant-tools/azure-devops-admin 27.0.0-beta.4 → 28.0.0-beta.3
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/build/AzureDevOpsAdminService.d.ts +47 -1
- package/build/AzureDevOpsAdminService.d.ts.map +1 -1
- package/build/AzureDevOpsAdminService.js +345 -11
- package/build/AzureDevOpsAdminService.js.map +1 -1
- package/build/index.d.ts +7 -11
- package/build/index.d.ts.map +1 -1
- package/build/index.js +60 -924
- package/build/index.js.map +1 -1
- package/build/services/admin-client.d.ts +19 -0
- package/build/services/admin-client.d.ts.map +1 -0
- package/build/services/admin-client.js +97 -0
- package/build/services/admin-client.js.map +1 -0
- package/build/services/agent-pool-service.d.ts +21 -0
- package/build/services/agent-pool-service.d.ts.map +1 -0
- package/build/services/agent-pool-service.js +118 -0
- package/build/services/agent-pool-service.js.map +1 -0
- package/build/services/artifact-feed-service.d.ts +21 -0
- package/build/services/artifact-feed-service.d.ts.map +1 -0
- package/build/services/artifact-feed-service.js +83 -0
- package/build/services/artifact-feed-service.js.map +1 -0
- package/build/services/classification-service.d.ts +23 -0
- package/build/services/classification-service.d.ts.map +1 -0
- package/build/services/classification-service.js +163 -0
- package/build/services/classification-service.js.map +1 -0
- package/build/services/environment-service.d.ts +25 -0
- package/build/services/environment-service.d.ts.map +1 -0
- package/build/services/environment-service.js +160 -0
- package/build/services/environment-service.js.map +1 -0
- package/build/services/index.d.ts +12 -0
- package/build/services/index.d.ts.map +1 -0
- package/build/services/index.js +12 -0
- package/build/services/index.js.map +1 -0
- package/build/services/pipeline-service.d.ts +37 -0
- package/build/services/pipeline-service.d.ts.map +1 -0
- package/build/services/pipeline-service.js +500 -0
- package/build/services/pipeline-service.js.map +1 -0
- package/build/services/service-connection-service.d.ts +29 -0
- package/build/services/service-connection-service.d.ts.map +1 -0
- package/build/services/service-connection-service.js +147 -0
- package/build/services/service-connection-service.js.map +1 -0
- package/build/services/variable-group-service.d.ts +22 -0
- package/build/services/variable-group-service.d.ts.map +1 -0
- package/build/services/variable-group-service.js +136 -0
- package/build/services/variable-group-service.js.map +1 -0
- package/build/tools/agent-pool-tools.d.ts +7 -0
- package/build/tools/agent-pool-tools.d.ts.map +1 -0
- package/build/tools/agent-pool-tools.js +132 -0
- package/build/tools/agent-pool-tools.js.map +1 -0
- package/build/tools/artifact-feed-tools.d.ts +7 -0
- package/build/tools/artifact-feed-tools.d.ts.map +1 -0
- package/build/tools/artifact-feed-tools.js +46 -0
- package/build/tools/artifact-feed-tools.js.map +1 -0
- package/build/tools/classification-tools.d.ts +7 -0
- package/build/tools/classification-tools.d.ts.map +1 -0
- package/build/tools/classification-tools.js +202 -0
- package/build/tools/classification-tools.js.map +1 -0
- package/build/tools/environment-tools.d.ts +7 -0
- package/build/tools/environment-tools.d.ts.map +1 -0
- package/build/tools/environment-tools.js +193 -0
- package/build/tools/environment-tools.js.map +1 -0
- package/build/tools/index.d.ts +13 -0
- package/build/tools/index.d.ts.map +1 -0
- package/build/tools/index.js +36 -0
- package/build/tools/index.js.map +1 -0
- package/build/tools/pipeline-tools.d.ts +7 -0
- package/build/tools/pipeline-tools.d.ts.map +1 -0
- package/build/tools/pipeline-tools.js +291 -0
- package/build/tools/pipeline-tools.js.map +1 -0
- package/build/tools/service-connection-tools.d.ts +7 -0
- package/build/tools/service-connection-tools.d.ts.map +1 -0
- package/build/tools/service-connection-tools.js +139 -0
- package/build/tools/service-connection-tools.js.map +1 -0
- package/build/tools/variable-group-tools.d.ts +7 -0
- package/build/tools/variable-group-tools.d.ts.map +1 -0
- package/build/tools/variable-group-tools.js +137 -0
- package/build/tools/variable-group-tools.js.map +1 -0
- package/build/types.d.ts +62 -0
- package/build/types.d.ts.map +1 -0
- package/build/types.js +2 -0
- package/build/types.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Variable group tools - read-only, upsert (Tier 2), and delete (Tier 3).
|
|
3
|
+
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
export function registerVariableGroupTools(server, ctx) {
|
|
6
|
+
let readonlyCount = 0;
|
|
7
|
+
let upsertCount = 0;
|
|
8
|
+
let deleteCount = 0;
|
|
9
|
+
// ========================================
|
|
10
|
+
// VARIABLE GROUP READ-ONLY TOOLS
|
|
11
|
+
// ========================================
|
|
12
|
+
server.tool("get-variable-groups", "List all variable groups in a project. Shows group name, description, and variable names (secrets masked).", {
|
|
13
|
+
project: z.string().describe("The project name"),
|
|
14
|
+
}, async ({ project }) => {
|
|
15
|
+
try {
|
|
16
|
+
const result = await ctx.variableGroups.getVariableGroups(project);
|
|
17
|
+
return { content: [{ type: "text", text: `Variable groups in project '${project}':\n\n${JSON.stringify(result, null, 2)}` }] };
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
console.error("Error getting variable groups:", error);
|
|
21
|
+
return { content: [{ type: "text", text: `Failed to get variable groups: ${error.message}` }] };
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
readonlyCount++;
|
|
25
|
+
server.tool("get-variable-group", "Get a specific variable group by ID. Returns all variables with values (secrets masked).", {
|
|
26
|
+
project: z.string().describe("The project name"),
|
|
27
|
+
groupId: z.number().describe("The variable group ID"),
|
|
28
|
+
}, async ({ project, groupId }) => {
|
|
29
|
+
try {
|
|
30
|
+
const result = await ctx.variableGroups.getVariableGroup(project, groupId);
|
|
31
|
+
return { content: [{ type: "text", text: `Variable group ${groupId}:\n\n${JSON.stringify(result, null, 2)}` }] };
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
console.error("Error getting variable group:", error);
|
|
35
|
+
return { content: [{ type: "text", text: `Failed to get variable group: ${error.message}` }] };
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
readonlyCount++;
|
|
39
|
+
// ========================================
|
|
40
|
+
// VARIABLE GROUP UPSERT TOOLS (Tier 2)
|
|
41
|
+
// ========================================
|
|
42
|
+
if (ctx.tierFlags.enableVariableGroupUpsert) {
|
|
43
|
+
server.tool("create-variable-group", "Create a new variable group. Variables can be marked as secret. (requires AZUREDEVOPS_ENABLE_VARIABLE_GROUP_UPSERT=true)", {
|
|
44
|
+
project: z.string().describe("The project name"),
|
|
45
|
+
name: z.string().describe("Variable group name"),
|
|
46
|
+
description: z.string().optional().describe("Variable group description"),
|
|
47
|
+
variables: z.record(z.object({
|
|
48
|
+
value: z.string(),
|
|
49
|
+
isSecret: z.boolean().optional()
|
|
50
|
+
})).optional().describe("Initial variables to set"),
|
|
51
|
+
}, async ({ project, name, description, variables }) => {
|
|
52
|
+
try {
|
|
53
|
+
const result = await ctx.variableGroups.createVariableGroup(project, name, description, variables);
|
|
54
|
+
return { content: [{ type: "text", text: `Created variable group '${name}':\n\n${JSON.stringify(result, null, 2)}` }] };
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
console.error("Error creating variable group:", error);
|
|
58
|
+
return { content: [{ type: "text", text: `Failed to create variable group: ${error.message}` }] };
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
upsertCount++;
|
|
62
|
+
server.tool("update-variable-group", "Update a variable group's name or description. Use set-variable to modify variables. (requires AZUREDEVOPS_ENABLE_VARIABLE_GROUP_UPSERT=true)", {
|
|
63
|
+
project: z.string().describe("The project name"),
|
|
64
|
+
groupId: z.number().describe("The variable group ID"),
|
|
65
|
+
name: z.string().optional().describe("New name"),
|
|
66
|
+
description: z.string().optional().describe("New description"),
|
|
67
|
+
}, async ({ project, groupId, name, description }) => {
|
|
68
|
+
try {
|
|
69
|
+
const updates = {};
|
|
70
|
+
if (name)
|
|
71
|
+
updates.name = name;
|
|
72
|
+
if (description)
|
|
73
|
+
updates.description = description;
|
|
74
|
+
const result = await ctx.variableGroups.updateVariableGroupMetadata(project, groupId, updates);
|
|
75
|
+
return { content: [{ type: "text", text: `Updated variable group ${groupId}:\n\n${JSON.stringify(result, null, 2)}` }] };
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
console.error("Error updating variable group:", error);
|
|
79
|
+
return { content: [{ type: "text", text: `Failed to update variable group: ${error.message}` }] };
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
upsertCount++;
|
|
83
|
+
server.tool("set-variable", "Set or update a variable in a variable group. Creates the variable if it doesn't exist. (requires AZUREDEVOPS_ENABLE_VARIABLE_GROUP_UPSERT=true)", {
|
|
84
|
+
project: z.string().describe("The project name"),
|
|
85
|
+
groupId: z.number().describe("The variable group ID"),
|
|
86
|
+
variableName: z.string().describe("Variable name"),
|
|
87
|
+
value: z.string().describe("Variable value"),
|
|
88
|
+
isSecret: z.boolean().optional().describe("Mark as secret (default: false)"),
|
|
89
|
+
}, async ({ project, groupId, variableName, value, isSecret }) => {
|
|
90
|
+
try {
|
|
91
|
+
const result = await ctx.variableGroups.setVariable(project, groupId, variableName, value, isSecret || false);
|
|
92
|
+
return { content: [{ type: "text", text: `Set variable '${variableName}' in group ${groupId}:\n\n${JSON.stringify(result, null, 2)}` }] };
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
console.error("Error setting variable:", error);
|
|
96
|
+
return { content: [{ type: "text", text: `Failed to set variable: ${error.message}` }] };
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
upsertCount++;
|
|
100
|
+
}
|
|
101
|
+
// ========================================
|
|
102
|
+
// VARIABLE GROUP DELETE TOOLS (Tier 3)
|
|
103
|
+
// ========================================
|
|
104
|
+
if (ctx.tierFlags.enableVariableGroupDelete) {
|
|
105
|
+
server.tool("remove-variable", "Remove a variable from a variable group. (requires AZUREDEVOPS_ENABLE_VARIABLE_GROUP_DELETE=true)", {
|
|
106
|
+
project: z.string().describe("The project name"),
|
|
107
|
+
groupId: z.number().describe("The variable group ID"),
|
|
108
|
+
variableName: z.string().describe("Variable name to remove"),
|
|
109
|
+
}, async ({ project, groupId, variableName }) => {
|
|
110
|
+
try {
|
|
111
|
+
const result = await ctx.variableGroups.removeVariable(project, groupId, variableName);
|
|
112
|
+
return { content: [{ type: "text", text: `Removed variable '${variableName}' from group ${groupId}:\n\n${JSON.stringify(result, null, 2)}` }] };
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
console.error("Error removing variable:", error);
|
|
116
|
+
return { content: [{ type: "text", text: `Failed to remove variable: ${error.message}` }] };
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
deleteCount++;
|
|
120
|
+
server.tool("delete-variable-group", "DESTRUCTIVE: Delete a variable group. Pipelines using this group will fail. (requires AZUREDEVOPS_ENABLE_VARIABLE_GROUP_DELETE=true)", {
|
|
121
|
+
project: z.string().describe("The project name"),
|
|
122
|
+
groupId: z.number().describe("The variable group ID to delete"),
|
|
123
|
+
}, async ({ project, groupId }) => {
|
|
124
|
+
try {
|
|
125
|
+
const result = await ctx.variableGroups.deleteVariableGroup(project, groupId);
|
|
126
|
+
return { content: [{ type: "text", text: `Deleted variable group ${groupId}:\n\n${JSON.stringify(result, null, 2)}` }] };
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
console.error("Error deleting variable group:", error);
|
|
130
|
+
return { content: [{ type: "text", text: `Failed to delete variable group: ${error.message}` }] };
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
deleteCount++;
|
|
134
|
+
}
|
|
135
|
+
return { readonly: readonlyCount, upsert: upsertCount, delete: deleteCount };
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=variable-group-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-group-tools.js","sourceRoot":"","sources":["../../src/tools/variable-group-tools.ts"],"names":[],"mappings":"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"}
|
package/build/types.d.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service context shared between MCP server entry points.
|
|
3
|
+
* Uses lazy getters to initialize services on-demand.
|
|
4
|
+
*/
|
|
5
|
+
import type { AdminClient } from './services/admin-client.js';
|
|
6
|
+
import type { PipelineService } from './services/pipeline-service.js';
|
|
7
|
+
import type { ServiceConnectionService } from './services/service-connection-service.js';
|
|
8
|
+
import type { VariableGroupService } from './services/variable-group-service.js';
|
|
9
|
+
import type { AgentPoolService } from './services/agent-pool-service.js';
|
|
10
|
+
import type { EnvironmentService } from './services/environment-service.js';
|
|
11
|
+
import type { ClassificationService } from './services/classification-service.js';
|
|
12
|
+
import type { ArtifactFeedService } from './services/artifact-feed-service.js';
|
|
13
|
+
export interface AzureDevOpsAdminConfig {
|
|
14
|
+
organization: string;
|
|
15
|
+
pat: string;
|
|
16
|
+
projects: string[];
|
|
17
|
+
apiVersion?: string;
|
|
18
|
+
enablePipelineUpsert?: boolean;
|
|
19
|
+
enablePipelineDelete?: boolean;
|
|
20
|
+
enableServiceConnUpsert?: boolean;
|
|
21
|
+
enableServiceConnDelete?: boolean;
|
|
22
|
+
enableVariableGroupUpsert?: boolean;
|
|
23
|
+
enableVariableGroupDelete?: boolean;
|
|
24
|
+
enableAgentPoolUpsert?: boolean;
|
|
25
|
+
enableAgentPoolDisable?: boolean;
|
|
26
|
+
enableEnvironmentUpsert?: boolean;
|
|
27
|
+
enableEnvironmentDelete?: boolean;
|
|
28
|
+
enableClassificationNodeUpsert?: boolean;
|
|
29
|
+
enableClassificationNodeDelete?: boolean;
|
|
30
|
+
feeds?: string[];
|
|
31
|
+
}
|
|
32
|
+
export interface TierFlags {
|
|
33
|
+
enablePipelineUpsert: boolean;
|
|
34
|
+
enableServiceConnUpsert: boolean;
|
|
35
|
+
enableVariableGroupUpsert: boolean;
|
|
36
|
+
enableAgentPoolUpsert: boolean;
|
|
37
|
+
enableEnvironmentUpsert: boolean;
|
|
38
|
+
enableClassificationNodeUpsert: boolean;
|
|
39
|
+
enablePipelineDelete: boolean;
|
|
40
|
+
enableServiceConnDelete: boolean;
|
|
41
|
+
enableVariableGroupDelete: boolean;
|
|
42
|
+
enableAgentPoolDisable: boolean;
|
|
43
|
+
enableEnvironmentDelete: boolean;
|
|
44
|
+
enableClassificationNodeDelete: boolean;
|
|
45
|
+
}
|
|
46
|
+
export interface ServiceContext {
|
|
47
|
+
readonly client: AdminClient;
|
|
48
|
+
readonly pipelines: PipelineService;
|
|
49
|
+
readonly serviceConnections: ServiceConnectionService;
|
|
50
|
+
readonly variableGroups: VariableGroupService;
|
|
51
|
+
readonly agentPools: AgentPoolService;
|
|
52
|
+
readonly environments: EnvironmentService;
|
|
53
|
+
readonly classification: ClassificationService;
|
|
54
|
+
readonly artifactFeeds: ArtifactFeedService;
|
|
55
|
+
readonly tierFlags: TierFlags;
|
|
56
|
+
}
|
|
57
|
+
export interface AdoApiCollectionResponse<T> {
|
|
58
|
+
value: T[];
|
|
59
|
+
count?: number;
|
|
60
|
+
[key: string]: any;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE/E,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAG/B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAGlC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAGpC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAGjC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAGlC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,8BAA8B,CAAC,EAAE,OAAO,CAAC;IAGzC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IAExB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,OAAO,CAAC;IACjC,yBAAyB,EAAE,OAAO,CAAC;IACnC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,uBAAuB,EAAE,OAAO,CAAC;IACjC,8BAA8B,EAAE,OAAO,CAAC;IAGxC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,OAAO,CAAC;IACjC,yBAAyB,EAAE,OAAO,CAAC;IACnC,sBAAsB,EAAE,OAAO,CAAC;IAChC,uBAAuB,EAAE,OAAO,CAAC;IACjC,8BAA8B,EAAE,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;CAC/B;AAGD,MAAM,WAAW,wBAAwB,CAAC,CAAC;IACzC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB"}
|
package/build/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-consultant-tools/azure-devops-admin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "28.0.0-beta.3",
|
|
4
4
|
"description": "MCP server for Azure DevOps admin operations - pipelines, service connections, agent pools, and environments",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./build/index.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"node": ">=16.0.0"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@mcp-consultant-tools/core": "
|
|
43
|
+
"@mcp-consultant-tools/core": "27.0.0-beta.1",
|
|
44
44
|
"@modelcontextprotocol/sdk": "^1.0.4",
|
|
45
45
|
"axios": "^1.8.3",
|
|
46
46
|
"zod": "^3.24.1"
|