@mcp-consultant-tools/azure-devops-admin 28.0.0-beta.7 → 29.0.0-beta.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 (83) hide show
  1. package/build/ado-auth-provider.d.ts +32 -0
  2. package/build/ado-auth-provider.d.ts.map +1 -0
  3. package/build/ado-auth-provider.js +92 -0
  4. package/build/ado-auth-provider.js.map +1 -0
  5. package/build/cli/commands/agent-pool-commands.d.ts +7 -0
  6. package/build/cli/commands/agent-pool-commands.d.ts.map +1 -0
  7. package/build/cli/commands/agent-pool-commands.js +117 -0
  8. package/build/cli/commands/agent-pool-commands.js.map +1 -0
  9. package/build/cli/commands/artifact-feed-commands.d.ts +7 -0
  10. package/build/cli/commands/artifact-feed-commands.d.ts.map +1 -0
  11. package/build/cli/commands/artifact-feed-commands.js +62 -0
  12. package/build/cli/commands/artifact-feed-commands.js.map +1 -0
  13. package/build/cli/commands/classification-commands.d.ts +7 -0
  14. package/build/cli/commands/classification-commands.d.ts.map +1 -0
  15. package/build/cli/commands/classification-commands.js +192 -0
  16. package/build/cli/commands/classification-commands.js.map +1 -0
  17. package/build/cli/commands/environment-commands.d.ts +7 -0
  18. package/build/cli/commands/environment-commands.d.ts.map +1 -0
  19. package/build/cli/commands/environment-commands.js +172 -0
  20. package/build/cli/commands/environment-commands.js.map +1 -0
  21. package/build/cli/commands/index.d.ts +15 -0
  22. package/build/cli/commands/index.d.ts.map +1 -0
  23. package/build/cli/commands/index.js +30 -0
  24. package/build/cli/commands/index.js.map +1 -0
  25. package/build/cli/commands/pipeline-commands.d.ts +7 -0
  26. package/build/cli/commands/pipeline-commands.d.ts.map +1 -0
  27. package/build/cli/commands/pipeline-commands.js +269 -0
  28. package/build/cli/commands/pipeline-commands.js.map +1 -0
  29. package/build/cli/commands/project-commands.d.ts +7 -0
  30. package/build/cli/commands/project-commands.d.ts.map +1 -0
  31. package/build/cli/commands/project-commands.js +100 -0
  32. package/build/cli/commands/project-commands.js.map +1 -0
  33. package/build/cli/commands/service-connection-commands.d.ts +7 -0
  34. package/build/cli/commands/service-connection-commands.d.ts.map +1 -0
  35. package/build/cli/commands/service-connection-commands.js +131 -0
  36. package/build/cli/commands/service-connection-commands.js.map +1 -0
  37. package/build/cli/commands/variable-group-commands.d.ts +7 -0
  38. package/build/cli/commands/variable-group-commands.d.ts.map +1 -0
  39. package/build/cli/commands/variable-group-commands.js +120 -0
  40. package/build/cli/commands/variable-group-commands.js.map +1 -0
  41. package/build/cli/output.d.ts +11 -0
  42. package/build/cli/output.d.ts.map +1 -0
  43. package/build/cli/output.js +10 -0
  44. package/build/cli/output.js.map +1 -0
  45. package/build/cli.d.ts +9 -0
  46. package/build/cli.d.ts.map +1 -0
  47. package/build/cli.js +27 -0
  48. package/build/cli.js.map +1 -0
  49. package/build/context-factory.d.ts +4 -0
  50. package/build/context-factory.d.ts.map +1 -0
  51. package/build/context-factory.js +86 -0
  52. package/build/context-factory.js.map +1 -0
  53. package/build/index.d.ts +2 -0
  54. package/build/index.d.ts.map +1 -1
  55. package/build/index.js +15 -6
  56. package/build/index.js.map +1 -1
  57. package/build/services/admin-client.d.ts +5 -2
  58. package/build/services/admin-client.d.ts.map +1 -1
  59. package/build/services/admin-client.js +13 -5
  60. package/build/services/admin-client.js.map +1 -1
  61. package/build/services/index.d.ts +1 -0
  62. package/build/services/index.d.ts.map +1 -1
  63. package/build/services/index.js +1 -0
  64. package/build/services/index.js.map +1 -1
  65. package/build/services/project-service.d.ts +21 -0
  66. package/build/services/project-service.d.ts.map +1 -0
  67. package/build/services/project-service.js +130 -0
  68. package/build/services/project-service.js.map +1 -0
  69. package/build/tool-examples.d.ts +20 -0
  70. package/build/tool-examples.d.ts.map +1 -1
  71. package/build/tool-examples.js +24 -0
  72. package/build/tool-examples.js.map +1 -1
  73. package/build/tools/index.d.ts +1 -0
  74. package/build/tools/index.d.ts.map +1 -1
  75. package/build/tools/index.js +3 -0
  76. package/build/tools/index.js.map +1 -1
  77. package/build/tools/project-tools.d.ts +7 -0
  78. package/build/tools/project-tools.d.ts.map +1 -0
  79. package/build/tools/project-tools.js +117 -0
  80. package/build/tools/project-tools.js.map +1 -0
  81. package/build/types.d.ts +8 -1
  82. package/build/types.d.ts.map +1 -1
  83. package/package.json +6 -3
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Project tools - read-only, upsert (Tier 2), and delete (Tier 3).
3
+ * Org-scoped: these tools do NOT take a project parameter for scoping.
4
+ */
5
+ import { z } from 'zod';
6
+ import { descWithExamples, PROJECT_PROCESS_EXAMPLES, PROJECT_VISIBILITY_EXAMPLES, PROJECT_STATE_FILTER_EXAMPLES, PROJECT_VERSION_CONTROL_EXAMPLES, } from '../tool-examples.js';
7
+ export function registerProjectTools(server, ctx) {
8
+ let readonlyCount = 0;
9
+ let upsertCount = 0;
10
+ let deleteCount = 0;
11
+ // ========================================
12
+ // PROJECT READ-ONLY TOOLS
13
+ // ========================================
14
+ server.tool("list-projects", "List all projects in the Azure DevOps organization. Returns project name, state, visibility, and last update time.", {
15
+ stateFilter: z.string().optional().describe(descWithExamples("Filter by project state (default: wellFormed)", PROJECT_STATE_FILTER_EXAMPLES)),
16
+ top: z.number().optional().describe("Maximum number of projects to return"),
17
+ skip: z.number().optional().describe("Number of projects to skip (for pagination)"),
18
+ }, async ({ stateFilter, top, skip }) => {
19
+ try {
20
+ const result = await ctx.projects.listProjects(stateFilter, top, skip);
21
+ return { content: [{ type: "text", text: `Projects in organization:\n\n${JSON.stringify(result, null, 2)}` }] };
22
+ }
23
+ catch (error) {
24
+ console.error("Error listing projects:", error);
25
+ return { content: [{ type: "text", text: `Failed to list projects: ${error.message}` }], isError: true };
26
+ }
27
+ });
28
+ readonlyCount++;
29
+ server.tool("get-project", "Get detailed information about a project including version control type and process template.", {
30
+ projectId: z.string().describe("Project name or ID (GUID)"),
31
+ }, async ({ projectId }) => {
32
+ try {
33
+ const result = await ctx.projects.getProject(projectId);
34
+ return { content: [{ type: "text", text: `Project '${projectId}':\n\n${JSON.stringify(result, null, 2)}` }] };
35
+ }
36
+ catch (error) {
37
+ console.error("Error getting project:", error);
38
+ return { content: [{ type: "text", text: `Failed to get project: ${error.message}` }], isError: true };
39
+ }
40
+ });
41
+ readonlyCount++;
42
+ server.tool("get-project-properties", "Get extended project properties (process template ID, system capabilities, etc.).", {
43
+ projectId: z.string().describe("Project name or ID (GUID)"),
44
+ }, async ({ projectId }) => {
45
+ try {
46
+ const result = await ctx.projects.getProjectProperties(projectId);
47
+ return { content: [{ type: "text", text: `Properties for '${projectId}':\n\n${JSON.stringify(result, null, 2)}` }] };
48
+ }
49
+ catch (error) {
50
+ console.error("Error getting project properties:", error);
51
+ return { content: [{ type: "text", text: `Failed to get project properties: ${error.message}` }], isError: true };
52
+ }
53
+ });
54
+ readonlyCount++;
55
+ // ========================================
56
+ // PROJECT UPSERT TOOLS (Tier 2)
57
+ // ========================================
58
+ if (ctx.tierFlags.enableProjectUpsert) {
59
+ server.tool("create-project", "Create a new Azure DevOps project. Polls until the operation completes (~5-30 seconds). (requires AZUREDEVOPS_ENABLE_PROJECT_UPSERT=true)", {
60
+ name: z.string().describe("Project name (must be unique in the organization)"),
61
+ description: z.string().optional().describe("Project description"),
62
+ visibility: z.string().optional().describe(descWithExamples("Project visibility (default: private)", PROJECT_VISIBILITY_EXAMPLES)),
63
+ processTemplate: z.string().optional().describe(descWithExamples("Process template name (default: Agile)", PROJECT_PROCESS_EXAMPLES)),
64
+ versionControl: z.string().optional().describe(descWithExamples("Version control type (default: Git)", PROJECT_VERSION_CONTROL_EXAMPLES)),
65
+ }, async ({ name, description, visibility, processTemplate, versionControl }) => {
66
+ try {
67
+ const result = await ctx.projects.createProject(name, description, visibility, processTemplate, versionControl);
68
+ return { content: [{ type: "text", text: `Created project '${name}':\n\n${JSON.stringify(result, null, 2)}` }] };
69
+ }
70
+ catch (error) {
71
+ console.error("Error creating project:", error);
72
+ return { content: [{ type: "text", text: `Failed to create project: ${error.message}` }], isError: true };
73
+ }
74
+ });
75
+ upsertCount++;
76
+ server.tool("update-project", "Update a project's name and/or description. (requires AZUREDEVOPS_ENABLE_PROJECT_UPSERT=true)", {
77
+ projectId: z.string().describe("Project name or ID (GUID)"),
78
+ name: z.string().optional().describe("New project name"),
79
+ description: z.string().optional().describe("New project description"),
80
+ }, async ({ projectId, name, description }) => {
81
+ try {
82
+ const updates = {};
83
+ if (name !== undefined)
84
+ updates.name = name;
85
+ if (description !== undefined)
86
+ updates.description = description;
87
+ const result = await ctx.projects.updateProject(projectId, updates);
88
+ return { content: [{ type: "text", text: `Updated project '${projectId}':\n\n${JSON.stringify(result, null, 2)}` }] };
89
+ }
90
+ catch (error) {
91
+ console.error("Error updating project:", error);
92
+ return { content: [{ type: "text", text: `Failed to update project: ${error.message}` }], isError: true };
93
+ }
94
+ });
95
+ upsertCount++;
96
+ }
97
+ // ========================================
98
+ // PROJECT DELETE TOOLS (Tier 3)
99
+ // ========================================
100
+ if (ctx.tierFlags.enableProjectDelete) {
101
+ server.tool("delete-project", "DESTRUCTIVE: Permanently delete an Azure DevOps project and all its data. This cannot be undone. Polls until the operation completes. (requires AZUREDEVOPS_ENABLE_PROJECT_DELETE=true)", {
102
+ projectId: z.string().describe("Project name or ID (GUID) to delete"),
103
+ }, async ({ projectId }) => {
104
+ try {
105
+ const result = await ctx.projects.deleteProject(projectId);
106
+ return { content: [{ type: "text", text: `Deleted project '${projectId}':\n\n${JSON.stringify(result, null, 2)}` }] };
107
+ }
108
+ catch (error) {
109
+ console.error("Error deleting project:", error);
110
+ return { content: [{ type: "text", text: `Failed to delete project: ${error.message}` }], isError: true };
111
+ }
112
+ });
113
+ deleteCount++;
114
+ }
115
+ return { readonly: readonlyCount, upsert: upsertCount, delete: deleteCount };
116
+ }
117
+ //# sourceMappingURL=project-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-tools.js","sourceRoot":"","sources":["../../src/tools/project-tools.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -10,9 +10,11 @@ import type { AgentPoolService } from './services/agent-pool-service.js';
10
10
  import type { EnvironmentService } from './services/environment-service.js';
11
11
  import type { ClassificationService } from './services/classification-service.js';
12
12
  import type { ArtifactFeedService } from './services/artifact-feed-service.js';
13
+ import type { ProjectService } from './services/project-service.js';
13
14
  export interface AzureDevOpsAdminConfig {
14
15
  organization: string;
15
- pat: string;
16
+ pat?: string;
17
+ authMode?: 'pat' | 'entra-id';
16
18
  projects: string[];
17
19
  apiVersion?: string;
18
20
  enablePipelineUpsert?: boolean;
@@ -27,6 +29,8 @@ export interface AzureDevOpsAdminConfig {
27
29
  enableEnvironmentDelete?: boolean;
28
30
  enableClassificationNodeUpsert?: boolean;
29
31
  enableClassificationNodeDelete?: boolean;
32
+ enableProjectUpsert?: boolean;
33
+ enableProjectDelete?: boolean;
30
34
  feeds?: string[];
31
35
  }
32
36
  export interface TierFlags {
@@ -42,6 +46,8 @@ export interface TierFlags {
42
46
  enableAgentPoolDisable: boolean;
43
47
  enableEnvironmentDelete: boolean;
44
48
  enableClassificationNodeDelete: boolean;
49
+ enableProjectUpsert: boolean;
50
+ enableProjectDelete: boolean;
45
51
  }
46
52
  export interface ServiceContext {
47
53
  readonly client: AdminClient;
@@ -52,6 +58,7 @@ export interface ServiceContext {
52
58
  readonly environments: EnvironmentService;
53
59
  readonly classification: ClassificationService;
54
60
  readonly artifactFeeds: ArtifactFeedService;
61
+ readonly projects: ProjectService;
55
62
  readonly tierFlags: TierFlags;
56
63
  }
57
64
  export interface AdoApiCollectionResponse<T> {
@@ -1 +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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-consultant-tools/azure-devops-admin",
3
- "version": "28.0.0-beta.7",
3
+ "version": "29.0.0-beta.1",
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,9 +40,11 @@
40
40
  "node": ">=16.0.0"
41
41
  },
42
42
  "dependencies": {
43
- "@mcp-consultant-tools/core": "28.0.0-beta.7",
43
+ "@azure/identity": "^4.13.0",
44
+ "@mcp-consultant-tools/core": "28.0.0",
44
45
  "@modelcontextprotocol/sdk": "^1.0.4",
45
46
  "axios": "^1.8.3",
47
+ "commander": "^14.0.3",
46
48
  "zod": "^3.24.1"
47
49
  },
48
50
  "devDependencies": {
@@ -50,6 +52,7 @@
50
52
  "typescript": "^5.8.2"
51
53
  },
52
54
  "bin": {
53
- "mcp-ado-admin": "build/index.js"
55
+ "mcp-ado-admin": "build/index.js",
56
+ "mcp-ado-admin-cli": "build/cli.js"
54
57
  }
55
58
  }