devops-mcp-server-extension 1.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.
Files changed (102) hide show
  1. package/LICENSE +218 -0
  2. package/README.md +527 -0
  3. package/README.zh-cn.md +503 -0
  4. package/dist/common/errors.js +77 -0
  5. package/dist/common/modularTemplates.js +483 -0
  6. package/dist/common/pipelineTemplates.js +19 -0
  7. package/dist/common/toolsetManager.js +123 -0
  8. package/dist/common/toolsets.js +23 -0
  9. package/dist/common/types.js +60 -0
  10. package/dist/common/utils.js +381 -0
  11. package/dist/common/version.js +1 -0
  12. package/dist/index.js +225 -0
  13. package/dist/operations/appstack/appOrchestrations.js +260 -0
  14. package/dist/operations/appstack/appTags.js +168 -0
  15. package/dist/operations/appstack/appTemplates.js +72 -0
  16. package/dist/operations/appstack/applications.js +171 -0
  17. package/dist/operations/appstack/changeOrders.js +320 -0
  18. package/dist/operations/appstack/changeRequests.js +288 -0
  19. package/dist/operations/appstack/deploymentResources.js +286 -0
  20. package/dist/operations/appstack/globalVars.js +221 -0
  21. package/dist/operations/appstack/releaseWorkflows.js +695 -0
  22. package/dist/operations/appstack/variableGroups.js +245 -0
  23. package/dist/operations/codeup/branches.js +157 -0
  24. package/dist/operations/codeup/changeRequestComments.js +140 -0
  25. package/dist/operations/codeup/changeRequests.js +230 -0
  26. package/dist/operations/codeup/commits.js +121 -0
  27. package/dist/operations/codeup/compare.js +30 -0
  28. package/dist/operations/codeup/files.js +249 -0
  29. package/dist/operations/codeup/repositories.js +71 -0
  30. package/dist/operations/codeup/types.js +414 -0
  31. package/dist/operations/flow/hostGroup.js +52 -0
  32. package/dist/operations/flow/pipeline.js +609 -0
  33. package/dist/operations/flow/pipelineJob.js +126 -0
  34. package/dist/operations/flow/resourceMember.js +137 -0
  35. package/dist/operations/flow/serviceConnection.js +27 -0
  36. package/dist/operations/flow/tag.js +191 -0
  37. package/dist/operations/flow/types.js +523 -0
  38. package/dist/operations/flow/vmDeployOrder.js +171 -0
  39. package/dist/operations/organization/members.js +106 -0
  40. package/dist/operations/organization/organization.js +110 -0
  41. package/dist/operations/organization/types.js +111 -0
  42. package/dist/operations/packages/artifacts.js +71 -0
  43. package/dist/operations/packages/repositories.js +39 -0
  44. package/dist/operations/packages/types.js +56 -0
  45. package/dist/operations/projex/effort.js +122 -0
  46. package/dist/operations/projex/project.js +243 -0
  47. package/dist/operations/projex/sprint.js +103 -0
  48. package/dist/operations/projex/types.js +618 -0
  49. package/dist/operations/projex/workitem.js +826 -0
  50. package/dist/operations/testhub/testcases.js +240 -0
  51. package/dist/operations/testhub/testplans.js +128 -0
  52. package/dist/tool-handlers/appstack-app-release-workflows.js +103 -0
  53. package/dist/tool-handlers/appstack-change-orders.js +55 -0
  54. package/dist/tool-handlers/appstack-change-requests.js +49 -0
  55. package/dist/tool-handlers/appstack-deployment-resources.js +31 -0
  56. package/dist/tool-handlers/appstack-global-vars.js +37 -0
  57. package/dist/tool-handlers/appstack-orchestrations.js +49 -0
  58. package/dist/tool-handlers/appstack-release-workflows.js +37 -0
  59. package/dist/tool-handlers/appstack-tags.js +37 -0
  60. package/dist/tool-handlers/appstack-templates.js +19 -0
  61. package/dist/tool-handlers/appstack-variable-groups.js +55 -0
  62. package/dist/tool-handlers/appstack.js +37 -0
  63. package/dist/tool-handlers/base.js +25 -0
  64. package/dist/tool-handlers/code-management.js +150 -0
  65. package/dist/tool-handlers/commit.js +31 -0
  66. package/dist/tool-handlers/effort.js +103 -0
  67. package/dist/tool-handlers/index.js +119 -0
  68. package/dist/tool-handlers/organization.js +72 -0
  69. package/dist/tool-handlers/packages.js +32 -0
  70. package/dist/tool-handlers/pipeline.js +289 -0
  71. package/dist/tool-handlers/project-management.js +201 -0
  72. package/dist/tool-handlers/resourceMember.js +43 -0
  73. package/dist/tool-handlers/service-connections.js +16 -0
  74. package/dist/tool-handlers/tag.js +64 -0
  75. package/dist/tool-handlers/test-management.js +74 -0
  76. package/dist/tool-handlers/vmDeployOrder.js +50 -0
  77. package/dist/tool-registry/appstack-app-release-workflows.js +80 -0
  78. package/dist/tool-registry/appstack-change-orders.js +40 -0
  79. package/dist/tool-registry/appstack-change-requests.js +35 -0
  80. package/dist/tool-registry/appstack-deployment-resources.js +20 -0
  81. package/dist/tool-registry/appstack-global-vars.js +25 -0
  82. package/dist/tool-registry/appstack-orchestrations.js +35 -0
  83. package/dist/tool-registry/appstack-release-workflows.js +25 -0
  84. package/dist/tool-registry/appstack-tags.js +25 -0
  85. package/dist/tool-registry/appstack-templates.js +10 -0
  86. package/dist/tool-registry/appstack-variable-groups.js +40 -0
  87. package/dist/tool-registry/appstack.js +25 -0
  88. package/dist/tool-registry/base.js +19 -0
  89. package/dist/tool-registry/code-management.js +109 -0
  90. package/dist/tool-registry/commit.js +20 -0
  91. package/dist/tool-registry/effort.js +39 -0
  92. package/dist/tool-registry/index.js +7 -0
  93. package/dist/tool-registry/organization.js +65 -0
  94. package/dist/tool-registry/packages.js +21 -0
  95. package/dist/tool-registry/pipeline.js +190 -0
  96. package/dist/tool-registry/project-management.js +143 -0
  97. package/dist/tool-registry/resourceMember.js +29 -0
  98. package/dist/tool-registry/service-connections.js +10 -0
  99. package/dist/tool-registry/tag.js +44 -0
  100. package/dist/tool-registry/test-management.js +59 -0
  101. package/dist/tool-registry/vmDeployOrder.js +34 -0
  102. package/package.json +52 -0
@@ -0,0 +1,143 @@
1
+ import { z } from 'zod';
2
+ import { zodToJsonSchema } from 'zod-to-json-schema';
3
+ import * as types from '../common/types.js';
4
+ export const getProjectManagementTools = () => [
5
+ // Project Operations
6
+ {
7
+ name: "get_project",
8
+ description: "[Project Management] Get information about a Yunxiao project",
9
+ inputSchema: zodToJsonSchema(types.GetProjectSchema),
10
+ },
11
+ {
12
+ name: "search_projects",
13
+ description: "[Project Management] Search for Yunxiao Project List. A Project is a project management unit that includes work items and sprints, and it is different from a code repository (Repository).\n\nUse Cases:\n\nQuery projects I am involved in\nQuery projects I have created",
14
+ inputSchema: zodToJsonSchema(types.SearchProjectsSchema),
15
+ },
16
+ {
17
+ name: "list_project_members",
18
+ description: "[Project Management] List members of a Yunxiao project with their roles. Returns member information including user ID, name, avatar, role ID and role name.",
19
+ inputSchema: zodToJsonSchema(types.ListProjectMembersSchema),
20
+ },
21
+ // Sprint Operations
22
+ {
23
+ name: "get_sprint",
24
+ description: "[Project Management] Get information about a sprint",
25
+ inputSchema: zodToJsonSchema(types.GetSprintSchema),
26
+ },
27
+ {
28
+ name: "list_sprints",
29
+ description: "[Project Management] List sprints in a project",
30
+ inputSchema: zodToJsonSchema(types.ListSprintsSchema),
31
+ },
32
+ {
33
+ name: "create_sprint",
34
+ description: "[Project Management] Create a new sprint",
35
+ inputSchema: zodToJsonSchema(types.CreateSprintSchema),
36
+ },
37
+ {
38
+ name: "update_sprint",
39
+ description: "[Project Management] Update an existing sprint",
40
+ inputSchema: zodToJsonSchema(types.UpdateSprintSchema),
41
+ },
42
+ // Work Item Operations
43
+ {
44
+ name: "get_work_item",
45
+ description: "[Project Management] Get information about a work item",
46
+ inputSchema: zodToJsonSchema(types.GetWorkItemSchema),
47
+ },
48
+ {
49
+ name: "create_work_item",
50
+ description: "[Project Management] Create a work item",
51
+ inputSchema: zodToJsonSchema(types.CreateWorkItemSchema),
52
+ },
53
+ {
54
+ name: "search_workitems",
55
+ description: "[Project Management] Search work items with various filter conditions",
56
+ inputSchema: zodToJsonSchema(types.SearchWorkitemsSchema),
57
+ },
58
+ {
59
+ name: "get_work_item_types",
60
+ description: "[Project Management] Get the list of work item types for a project",
61
+ inputSchema: zodToJsonSchema(z.object({
62
+ organizationId: z.string().describe("Organization ID"),
63
+ id: z.string().describe("Project unique identifier"),
64
+ category: z.string().describe("Work item type category, optional values: Req, Bug, Task, etc.")
65
+ })),
66
+ },
67
+ {
68
+ name: "update_work_item",
69
+ description: "[Project Management] Update a work item",
70
+ inputSchema: zodToJsonSchema(types.UpdateWorkItemSchema),
71
+ },
72
+ // Work Item Type Operations
73
+ {
74
+ name: "list_all_work_item_types",
75
+ description: "[Project Management] List all work item types in an organization",
76
+ inputSchema: zodToJsonSchema(types.ListAllWorkItemTypesSchema),
77
+ },
78
+ {
79
+ name: "list_work_item_types",
80
+ description: "[Project Management] List work item types in a project space",
81
+ inputSchema: zodToJsonSchema(types.ListWorkItemTypesSchema),
82
+ },
83
+ {
84
+ name: "get_work_item_type",
85
+ description: "[Project Management] Get details of a specific work item type",
86
+ inputSchema: zodToJsonSchema(types.GetWorkItemTypeSchema),
87
+ },
88
+ {
89
+ name: "list_work_item_relation_work_item_types",
90
+ description: "[Project Management] List work item types that can be related to a specific work item",
91
+ inputSchema: zodToJsonSchema(types.ListWorkItemRelationWorkItemTypesSchema),
92
+ },
93
+ {
94
+ name: "get_work_item_type_field_config",
95
+ description: "[Project Management] Get field configuration for a specific work item type",
96
+ inputSchema: zodToJsonSchema(types.GetWorkItemTypeFieldConfigSchema),
97
+ },
98
+ {
99
+ name: "get_work_item_workflow",
100
+ description: "[Project Management] Get workflow information for a specific work item type",
101
+ inputSchema: zodToJsonSchema(types.GetWorkItemWorkflowSchema),
102
+ },
103
+ {
104
+ name: "list_work_item_comments",
105
+ description: "[Project Management] List comments for a specific work item",
106
+ inputSchema: zodToJsonSchema(types.ListWorkItemCommentsSchema),
107
+ },
108
+ {
109
+ name: "create_work_item_comment",
110
+ description: "[Project Management] Create a comment for a specific work item",
111
+ inputSchema: zodToJsonSchema(types.CreateWorkItemCommentSchema),
112
+ },
113
+ {
114
+ name: "list_workitem_activities",
115
+ description: "[Project Management] Get the activity history of a work item, including creation, updates, status transitions, association changes, and attachment changes. Returns detailed information about each activity including the operator, event time, old and new values.",
116
+ inputSchema: zodToJsonSchema(types.ListWorkitemActivitiesSchema),
117
+ },
118
+ {
119
+ name: "list_workitem_attachments",
120
+ description: "[Project Management] Get the list of attachments for a work item. Returns attachment information including file name, file size, file suffix, download URL (temporary URL with time limit), creator and modifier info.",
121
+ inputSchema: zodToJsonSchema(types.ListWorkitemAttachmentsSchema),
122
+ },
123
+ {
124
+ name: "get_workitem_file",
125
+ description: "[Project Management] Get a specific file information from a work item. Returns file details including file name, file size, file suffix, and a temporary download URL with time limit.",
126
+ inputSchema: zodToJsonSchema(types.GetWorkitemFileSchema),
127
+ },
128
+ {
129
+ name: "list_workitem_relation_records",
130
+ description: "[Project Management] Get the list of related items for a work item. Returns relation records including relation type (PARENT/SUB/ASSOCIATED/DEPEND_ON/DEPENDED_BY), resource ID, resource type, and creation time.",
131
+ inputSchema: zodToJsonSchema(types.ListWorkitemRelationRecordsSchema),
132
+ },
133
+ {
134
+ name: "create_workitem_relation_record",
135
+ description: "[Project Management] Create a relation between work items. Allows setting parent, child, associated, dependent, or supporting relationships between work items.",
136
+ inputSchema: zodToJsonSchema(types.CreateWorkitemRelationRecordSchema),
137
+ },
138
+ {
139
+ name: "delete_workitem_relation_record",
140
+ description: "[Project Management] Delete a relation between work items. Removes the specified relationship (parent, child, associated, dependent, or supporting) between work items.",
141
+ inputSchema: zodToJsonSchema(types.DeleteWorkitemRelationRecordSchema),
142
+ }
143
+ ];
@@ -0,0 +1,29 @@
1
+ import { zodToJsonSchema } from 'zod-to-json-schema';
2
+ import * as types from '../common/types.js';
3
+ export const getResourceMemberTools = () => [
4
+ {
5
+ name: "delete_resource_member",
6
+ description: "[Resource Member Management] Delete a resource member",
7
+ inputSchema: zodToJsonSchema(types.DeleteResourceMemberSchema),
8
+ },
9
+ {
10
+ name: "list_resource_members",
11
+ description: "[Resource Member Management] Get a list of resource members",
12
+ inputSchema: zodToJsonSchema(types.ResourceMemberBaseSchema),
13
+ },
14
+ {
15
+ name: "update_resource_member",
16
+ description: "[Resource Member Management] Update a resource member",
17
+ inputSchema: zodToJsonSchema(types.UpdateResourceMemberSchema),
18
+ },
19
+ {
20
+ name: "create_resource_member",
21
+ description: "[Resource Member Management] Create a resource member",
22
+ inputSchema: zodToJsonSchema(types.CreateResourceMemberSchema),
23
+ },
24
+ {
25
+ name: "update_resource_owner",
26
+ description: "[Resource Member Management] Transfer resource owner",
27
+ inputSchema: zodToJsonSchema(types.UpdateResourceOwnerSchema),
28
+ },
29
+ ];
@@ -0,0 +1,10 @@
1
+ import { zodToJsonSchema } from 'zod-to-json-schema';
2
+ import * as types from '../common/types.js';
3
+ export const getServiceConnectionTools = () => [
4
+ // Service Connection Operations
5
+ {
6
+ name: "list_service_connections",
7
+ description: "[Service Connection Management] List service connections in an organization with filtering options",
8
+ inputSchema: zodToJsonSchema(types.ListServiceConnectionsSchema),
9
+ },
10
+ ];
@@ -0,0 +1,44 @@
1
+ import { zodToJsonSchema } from 'zod-to-json-schema';
2
+ import * as types from '../common/types.js';
3
+ export const getTagTools = () => [
4
+ {
5
+ name: "create_tag",
6
+ description: "[Tag Management] Create a tag",
7
+ inputSchema: zodToJsonSchema(types.CreateTagSchema),
8
+ },
9
+ {
10
+ name: "create_tag_group",
11
+ description: "[Tag Management] Create a tag group",
12
+ inputSchema: zodToJsonSchema(types.CreateTagGroupSchema),
13
+ },
14
+ {
15
+ name: "list_tag_groups",
16
+ description: "[Tag Management] Get a list of tag groups",
17
+ inputSchema: zodToJsonSchema(types.BaseTagSchema),
18
+ },
19
+ {
20
+ name: "delete_tag_group",
21
+ description: "[Tag Management] Delete a tag group",
22
+ inputSchema: zodToJsonSchema(types.DeleteTagGroupSchema),
23
+ },
24
+ {
25
+ name: "update_tag_group",
26
+ description: "[Tag Management] Update a tag group",
27
+ inputSchema: zodToJsonSchema(types.UpdateTagGroupSchema),
28
+ },
29
+ {
30
+ name: "get_tag_group",
31
+ description: "[Tag Management] Get a tag group",
32
+ inputSchema: zodToJsonSchema(types.GetTagGroupSchema),
33
+ },
34
+ {
35
+ name: "delete_tag",
36
+ description: "[Tag Management] Delete a tag",
37
+ inputSchema: zodToJsonSchema(types.DeleteTagSchema),
38
+ },
39
+ {
40
+ name: "update_tag",
41
+ description: "[Tag Management] Update a tag",
42
+ inputSchema: zodToJsonSchema(types.UpdateTagSchema),
43
+ },
44
+ ];
@@ -0,0 +1,59 @@
1
+ import { zodToJsonSchema } from 'zod-to-json-schema';
2
+ import { ListDirectoriesRequestSchema, CreateTestcaseDirectoryRequestSchema, GetTestcaseFieldConfigRequestSchema, CreateTestcaseRequestSchema, SearchTestcasesRequestSchema, GetTestcaseRequestSchema, DeleteTestcaseRequestSchema, } from '../operations/testhub/testcases.js';
3
+ import { ListTestPlanRequestSchema, GetTestResultListRequestSchema, UpdateTestResultRequestSchema, } from '../operations/testhub/testplans.js';
4
+ // Export all test management tools
5
+ export const getTestManagementTools = () => [
6
+ {
7
+ name: 'list_testcase_directories',
8
+ description: '[test management] 获取测试用例目录列表',
9
+ inputSchema: zodToJsonSchema(ListDirectoriesRequestSchema),
10
+ },
11
+ {
12
+ name: 'create_testcase_directory',
13
+ description: '[test management] 创建测试用例目录',
14
+ inputSchema: zodToJsonSchema(CreateTestcaseDirectoryRequestSchema),
15
+ },
16
+ {
17
+ name: 'get_testcase_field_config',
18
+ description: '[test management] 获取测试用例字段配置',
19
+ inputSchema: zodToJsonSchema(GetTestcaseFieldConfigRequestSchema),
20
+ },
21
+ {
22
+ name: 'create_testcase',
23
+ description: '[test management] 创建测试用例',
24
+ inputSchema: zodToJsonSchema(CreateTestcaseRequestSchema),
25
+ },
26
+ {
27
+ name: 'search_testcases',
28
+ description: '[test management] 搜索测试用例',
29
+ inputSchema: zodToJsonSchema(SearchTestcasesRequestSchema),
30
+ },
31
+ {
32
+ name: 'get_testcase',
33
+ description: '[test management] 获取测试用例信息',
34
+ inputSchema: zodToJsonSchema(GetTestcaseRequestSchema),
35
+ },
36
+ {
37
+ name: 'delete_testcase',
38
+ description: '[test management] 删除测试用例',
39
+ inputSchema: zodToJsonSchema(DeleteTestcaseRequestSchema),
40
+ annotations: {
41
+ destructiveHint: true,
42
+ },
43
+ },
44
+ {
45
+ name: 'list_test_plans',
46
+ description: '[test management] 获取测试计划列表',
47
+ inputSchema: zodToJsonSchema(ListTestPlanRequestSchema),
48
+ },
49
+ {
50
+ name: 'get_test_result_list',
51
+ description: '[test management] 获取测试计划中测试用例列表',
52
+ inputSchema: zodToJsonSchema(GetTestResultListRequestSchema),
53
+ },
54
+ {
55
+ name: 'update_test_result',
56
+ description: '[test management] 更新测试结果',
57
+ inputSchema: zodToJsonSchema(UpdateTestResultRequestSchema),
58
+ },
59
+ ];
@@ -0,0 +1,34 @@
1
+ import { zodToJsonSchema } from 'zod-to-json-schema';
2
+ import * as types from '../common/types.js';
3
+ export const getVMDeployOrderTools = () => [
4
+ {
5
+ name: "stop_vm_deploy_order",
6
+ description: "[VM Deploy Order Management] Stop VM deploy order",
7
+ inputSchema: zodToJsonSchema(types.StopVMDeployOrderSchema),
8
+ },
9
+ {
10
+ name: "skip_vm_deploy_machine",
11
+ description: "[VM Deploy Order Management] Skip VM deploy machine",
12
+ inputSchema: zodToJsonSchema(types.SkipVMDeployMachineSchema),
13
+ },
14
+ {
15
+ name: "retry_vm_deploy_machine",
16
+ description: "[VM Deploy Order Management] Retry VM deploy machine",
17
+ inputSchema: zodToJsonSchema(types.RetryVMDeployMachineSchema),
18
+ },
19
+ {
20
+ name: "resume_vm_deploy_order",
21
+ description: "[VM Deploy Order Management] Resume VM deploy order",
22
+ inputSchema: zodToJsonSchema(types.ResumeVMDeployOrderSchema),
23
+ },
24
+ {
25
+ name: "get_vm_deploy_order",
26
+ description: "[VM Deploy Order Management] Get VM deploy order details",
27
+ inputSchema: zodToJsonSchema(types.GetVMDeployOrderSchema),
28
+ },
29
+ {
30
+ name: "get_vm_deploy_machine_log",
31
+ description: "[VM Deploy Order Management] Get VM deploy machine log",
32
+ inputSchema: zodToJsonSchema(types.GetVMDeployMachineLogSchema),
33
+ },
34
+ ];
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "devops-mcp-server-extension",
3
+ "version": "1.0.0",
4
+ "description": "MCP Server extension for AlibabaCloud DevOps API with enhanced features. Based on alibabacloud-devops-mcp-server with additional tools and improvements.",
5
+ "type": "module",
6
+ "license": "Apache-2.0",
7
+ "author": {
8
+ "name": "hakunova",
9
+ "email": "scarecrow.wilderness@gmail.com",
10
+ "url": "https://github.com/hakunova/devops-mcp-server-extension"
11
+ },
12
+ "homepage": "https://github.com/hakunova/devops-mcp-server-extension",
13
+ "bin": {
14
+ "devops-mcp-server-extension": "dist/index.js"
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/hakunova/devops-mcp-server-extension.git"
22
+ },
23
+ "keywords": [
24
+ "devops",
25
+ "mcp",
26
+ "ai",
27
+ "open api",
28
+ "devops-mcp",
29
+ "yunxiao",
30
+ "alibaba-cloud"
31
+ ],
32
+ "scripts": {
33
+ "build": "tsc && shx chmod +x dist/*.js",
34
+ "watch": "tsc --watch",
35
+ "start": "node dist/index.js",
36
+ "start:sse": "node dist/index.js --sse"
37
+ },
38
+ "dependencies": {
39
+ "@modelcontextprotocol/sdk": "^1.0.1",
40
+ "dotenv": "^16.4.7",
41
+ "express": "^4.18.2",
42
+ "universal-user-agent": "^7.0.0",
43
+ "zod": "^3.22.4",
44
+ "zod-to-json-schema": "^3.22.3"
45
+ },
46
+ "devDependencies": {
47
+ "@types/express": "^5.0.3",
48
+ "@types/node": "^20.10.5",
49
+ "shx": "^0.3.4",
50
+ "typescript": "^5.8.2"
51
+ }
52
+ }