alibaba-cloud-ops-mcp-server 0.8.6__py3-none-any.whl → 0.8.7__py3-none-any.whl
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.
- alibaba_cloud_ops_mcp_server/server.py +1 -1
- alibaba_cloud_ops_mcp_server/tools/api_tools.py +5 -4
- alibaba_cloud_ops_mcp_server/tools/cms_tools.py +9 -9
- alibaba_cloud_ops_mcp_server/tools/oos_tools.py +10 -10
- alibaba_cloud_ops_mcp_server/tools/oss_tools.py +4 -4
- {alibaba_cloud_ops_mcp_server-0.8.6.dist-info → alibaba_cloud_ops_mcp_server-0.8.7.dist-info}/METADATA +3 -2
- {alibaba_cloud_ops_mcp_server-0.8.6.dist-info → alibaba_cloud_ops_mcp_server-0.8.7.dist-info}/RECORD +10 -10
- {alibaba_cloud_ops_mcp_server-0.8.6.dist-info → alibaba_cloud_ops_mcp_server-0.8.7.dist-info}/WHEEL +0 -0
- {alibaba_cloud_ops_mcp_server-0.8.6.dist-info → alibaba_cloud_ops_mcp_server-0.8.7.dist-info}/entry_points.txt +0 -0
- {alibaba_cloud_ops_mcp_server-0.8.6.dist-info → alibaba_cloud_ops_mcp_server-0.8.7.dist-info}/licenses/LICENSE +0 -0
|
@@ -97,7 +97,7 @@ def _create_function_schemas(service, api, api_meta):
|
|
|
97
97
|
return schemas
|
|
98
98
|
|
|
99
99
|
|
|
100
|
-
def _create_tool_function_with_signature(service: str,
|
|
100
|
+
def _create_tool_function_with_signature(service: str, api: str, fields: dict, description: str):
|
|
101
101
|
"""
|
|
102
102
|
Dynamically creates a lambda function with a custom signature based on the provided fields.
|
|
103
103
|
"""
|
|
@@ -121,14 +121,14 @@ def _create_tool_function_with_signature(service: str, function_name: str, field
|
|
|
121
121
|
defaults[name] = field_default
|
|
122
122
|
|
|
123
123
|
signature = inspect.Signature(parameters)
|
|
124
|
-
|
|
124
|
+
function_name = f'{service.upper()}_{api}'
|
|
125
125
|
def func_code(*args, **kwargs):
|
|
126
126
|
bound_args = signature.bind(*args, **kwargs)
|
|
127
127
|
bound_args.apply_defaults()
|
|
128
128
|
|
|
129
129
|
return _tools_api_call(
|
|
130
130
|
service=service,
|
|
131
|
-
api=
|
|
131
|
+
api=api,
|
|
132
132
|
parameters=bound_args.arguments,
|
|
133
133
|
ctx=None
|
|
134
134
|
)
|
|
@@ -154,7 +154,8 @@ def _create_and_decorate_tool(mcp: FastMCP, service: str, api: str):
|
|
|
154
154
|
fields = _create_function_schemas(service, api, api_meta).get(api, {})
|
|
155
155
|
description = api_meta.get('summary', '')
|
|
156
156
|
dynamic_lambda = _create_tool_function_with_signature(service, api, fields, description)
|
|
157
|
-
|
|
157
|
+
function_name = f'{service.upper()}_{api}'
|
|
158
|
+
decorated_function = mcp.tool(name=function_name)(dynamic_lambda)
|
|
158
159
|
|
|
159
160
|
return decorated_function
|
|
160
161
|
|
|
@@ -36,7 +36,7 @@ def _get_cms_metric_data(region_id: str, instance_ids: List[str], metric_name: s
|
|
|
36
36
|
return describe_metric_last_resp.body.datapoints
|
|
37
37
|
|
|
38
38
|
@tools.append
|
|
39
|
-
def
|
|
39
|
+
def CMS_GetCpuUsageData(
|
|
40
40
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
41
41
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
42
42
|
):
|
|
@@ -45,7 +45,7 @@ def GetCpuUsageData(
|
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
@tools.append
|
|
48
|
-
def
|
|
48
|
+
def CMS_GetCpuLoadavgData(
|
|
49
49
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
50
50
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
51
51
|
):
|
|
@@ -54,7 +54,7 @@ def GetCpuLoadavgData(
|
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
@tools.append
|
|
57
|
-
def
|
|
57
|
+
def CMS_GetCpuloadavg5mData(
|
|
58
58
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
59
59
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
60
60
|
):
|
|
@@ -63,7 +63,7 @@ def GetCpuloadavg5mData(
|
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
@tools.append
|
|
66
|
-
def
|
|
66
|
+
def CMS_GetCpuloadavg15mData(
|
|
67
67
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
68
68
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
69
69
|
):
|
|
@@ -71,7 +71,7 @@ def GetCpuloadavg15mData(
|
|
|
71
71
|
return _get_cms_metric_data(RegionId, InstanceIds, 'load_15m')
|
|
72
72
|
|
|
73
73
|
@tools.append
|
|
74
|
-
def
|
|
74
|
+
def CMS_GetMemUsedData(
|
|
75
75
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
76
76
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
77
77
|
):
|
|
@@ -80,7 +80,7 @@ def GetMemUsedData(
|
|
|
80
80
|
|
|
81
81
|
|
|
82
82
|
@tools.append
|
|
83
|
-
def
|
|
83
|
+
def CMS_GetMemUsageData(
|
|
84
84
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
85
85
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
86
86
|
):
|
|
@@ -89,7 +89,7 @@ def GetMemUsageData(
|
|
|
89
89
|
|
|
90
90
|
|
|
91
91
|
@tools.append
|
|
92
|
-
def
|
|
92
|
+
def CMS_GetDiskUsageData(
|
|
93
93
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
94
94
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
95
95
|
):
|
|
@@ -98,7 +98,7 @@ def GetDiskUsageData(
|
|
|
98
98
|
|
|
99
99
|
|
|
100
100
|
@tools.append
|
|
101
|
-
def
|
|
101
|
+
def CMS_GetDiskTotalData(
|
|
102
102
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
103
103
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
104
104
|
):
|
|
@@ -107,7 +107,7 @@ def GetDiskTotalData(
|
|
|
107
107
|
|
|
108
108
|
|
|
109
109
|
@tools.append
|
|
110
|
-
def
|
|
110
|
+
def CMS_GetDiskUsedData(
|
|
111
111
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
112
112
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
113
113
|
):
|
|
@@ -46,7 +46,7 @@ def _start_execution_sync(region_id: str, template_name: str, parameters: dict):
|
|
|
46
46
|
return list_executions_resp.body
|
|
47
47
|
time.sleep(1)
|
|
48
48
|
@tools.append
|
|
49
|
-
def
|
|
49
|
+
def OOS_RunCommand(
|
|
50
50
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
51
51
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
52
52
|
CommandType: str = Field(description='The type of command executed on the ECS instance, optional value:RunShellScript,RunPythonScript,RunPerlScript,RunBatScript,RunPowerShellScript', default='RunShellScript'),
|
|
@@ -73,7 +73,7 @@ def RunCommand(
|
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
@tools.append
|
|
76
|
-
def
|
|
76
|
+
def OOS_StartInstances(
|
|
77
77
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
78
78
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
79
79
|
):
|
|
@@ -92,7 +92,7 @@ def StartInstances(
|
|
|
92
92
|
|
|
93
93
|
|
|
94
94
|
@tools.append
|
|
95
|
-
def
|
|
95
|
+
def OOS_StopInstances(
|
|
96
96
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
97
97
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
98
98
|
ForeceStop: bool = Field(description='Is forced shutdown required', default=False),
|
|
@@ -113,7 +113,7 @@ def StopInstances(
|
|
|
113
113
|
|
|
114
114
|
|
|
115
115
|
@tools.append
|
|
116
|
-
def
|
|
116
|
+
def OOS_RebootInstances(
|
|
117
117
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
118
118
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
119
119
|
ForeceStop: bool = Field(description='Is forced shutdown required', default=False),
|
|
@@ -134,7 +134,7 @@ def RebootInstances(
|
|
|
134
134
|
|
|
135
135
|
|
|
136
136
|
@tools.append
|
|
137
|
-
def
|
|
137
|
+
def OOS_RunInstances(
|
|
138
138
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
139
139
|
ImageId: str = Field(description='Image ID'),
|
|
140
140
|
InstanceType: str = Field(description='Instance Type'),
|
|
@@ -157,7 +157,7 @@ def RunInstances(
|
|
|
157
157
|
|
|
158
158
|
|
|
159
159
|
@tools.append
|
|
160
|
-
def
|
|
160
|
+
def OOS_ResetPassword(
|
|
161
161
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
162
162
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
163
163
|
Password: str = Field(description='The password of the ECS instance must be 8-30 characters and must contain only the following characters: lowercase letters, uppercase letters, numbers, and special characters only.()~!@#$%^&*-_+=(40:<>,?/'),
|
|
@@ -176,7 +176,7 @@ def ResetPassword(
|
|
|
176
176
|
return _start_execution_sync(region_id=RegionId, template_name='ACS-ECS-BulkyResetPassword', parameters=parameters)
|
|
177
177
|
|
|
178
178
|
@tools.append
|
|
179
|
-
def
|
|
179
|
+
def OOS_ReplaceSystemDisk(
|
|
180
180
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
181
181
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
182
182
|
ImageId: str = Field(description='Image ID')
|
|
@@ -196,7 +196,7 @@ def ReplaceSystemDisk(
|
|
|
196
196
|
|
|
197
197
|
|
|
198
198
|
@tools.append
|
|
199
|
-
def
|
|
199
|
+
def OOS_StartRDSInstances(
|
|
200
200
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
201
201
|
InstanceIds: List[str] = Field(description='AlibabaCloud ECS instance ID List'),
|
|
202
202
|
):
|
|
@@ -215,7 +215,7 @@ def StartRDSInstances(
|
|
|
215
215
|
|
|
216
216
|
|
|
217
217
|
@tools.append
|
|
218
|
-
def
|
|
218
|
+
def OOS_StopRDSInstances(
|
|
219
219
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
220
220
|
InstanceIds: List[str] = Field(description='AlibabaCloud RDS instance ID List')
|
|
221
221
|
):
|
|
@@ -234,7 +234,7 @@ def StopRDSInstances(
|
|
|
234
234
|
|
|
235
235
|
|
|
236
236
|
@tools.append
|
|
237
|
-
def
|
|
237
|
+
def OOS_RebootRDSInstances(
|
|
238
238
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
239
239
|
InstanceIds: List[str] = Field(description='AlibabaCloud RDS instance ID List')
|
|
240
240
|
):
|
|
@@ -35,7 +35,7 @@ def create_client(region_id: str) -> oss.Client:
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
@tools.append
|
|
38
|
-
def
|
|
38
|
+
def OSS_ListBuckets(
|
|
39
39
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
40
40
|
Prefix: str = Field(description='AlibabaCloud OSS Bucket Name prefix', default=None)
|
|
41
41
|
):
|
|
@@ -50,7 +50,7 @@ def ListBuckets(
|
|
|
50
50
|
|
|
51
51
|
|
|
52
52
|
@tools.append
|
|
53
|
-
def
|
|
53
|
+
def OSS_ListObjects(
|
|
54
54
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
55
55
|
BucketName: str = Field(description='AlibabaCloud OSS Bucket Name'),
|
|
56
56
|
Prefix: str = Field(description='AlibabaCloud OSS Bucket Name prefix', default=None)
|
|
@@ -71,7 +71,7 @@ def ListObjects(
|
|
|
71
71
|
|
|
72
72
|
|
|
73
73
|
@tools.append
|
|
74
|
-
def
|
|
74
|
+
def OSS_PutBucket(
|
|
75
75
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
76
76
|
BucketName: str = Field(description='AlibabaCloud OSS Bucket Name'),
|
|
77
77
|
StorageClass: str = Field(description='The Storage Type of AlibabaCloud OSS Bucket, The value range is as follows: '
|
|
@@ -99,7 +99,7 @@ def PutBucket(
|
|
|
99
99
|
|
|
100
100
|
|
|
101
101
|
@tools.append
|
|
102
|
-
def
|
|
102
|
+
def OSS_DeleteBucket(
|
|
103
103
|
RegionId: str = Field(description='AlibabaCloud region ID', default='cn-hangzhou'),
|
|
104
104
|
BucketName: str = Field(description='AlibabaCloud OSS Bucket Name')
|
|
105
105
|
):
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: alibaba-cloud-ops-mcp-server
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.7
|
|
4
4
|
Summary: A MCP server for Alibaba Cloud
|
|
5
5
|
Author-email: Zheng Dayu <dayu.zdy@alibaba-inc.com>
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Requires-Python: >=3.10
|
|
8
8
|
Requires-Dist: alibabacloud-cms20190101>=3.1.4
|
|
9
|
+
Requires-Dist: alibabacloud-credentials>=1.0.0
|
|
9
10
|
Requires-Dist: alibabacloud-ecs20140526>=6.1.0
|
|
10
11
|
Requires-Dist: alibabacloud-oos20190601>=3.4.1
|
|
11
12
|
Requires-Dist: alibabacloud-oss-v2>=1.1.0
|
|
12
13
|
Requires-Dist: click>=8.1.8
|
|
13
|
-
Requires-Dist: mcp[cli]>=1.
|
|
14
|
+
Requires-Dist: mcp[cli]>=1.9.0
|
|
14
15
|
Description-Content-Type: text/markdown
|
|
15
16
|
|
|
16
17
|
# Alibaba Cloud Ops MCP Server
|
{alibaba_cloud_ops_mcp_server-0.8.6.dist-info → alibaba_cloud_ops_mcp_server-0.8.7.dist-info}/RECORD
RENAMED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
alibaba_cloud_ops_mcp_server/__init__.py,sha256=BaluUNyRz8Qw-X7Y0ywDezwbkqiSvWlSYn2452XeGcA,213
|
|
2
2
|
alibaba_cloud_ops_mcp_server/config.py,sha256=Nq6AT8bqSVa6zu9xjInaSjFcxA-GC7MLlCsV1q53yO0,514
|
|
3
|
-
alibaba_cloud_ops_mcp_server/server.py,sha256=
|
|
3
|
+
alibaba_cloud_ops_mcp_server/server.py,sha256=WGaSZqKFKudqrHfpdBYyAx90dApoWADOwmFy_jgQmCQ,1051
|
|
4
4
|
alibaba_cloud_ops_mcp_server/alibabacloud/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
alibaba_cloud_ops_mcp_server/alibabacloud/api_meta_client.py,sha256=inOmW1no1YsR6_ezOZfgJtzGKo5nRTDufkf2qUTuNOs,7605
|
|
6
6
|
alibaba_cloud_ops_mcp_server/alibabacloud/exception.py,sha256=7PdhgqgXEGrTPL1cj98h9EH-RrM6-2TT89PDtcmlpmU,1230
|
|
7
7
|
alibaba_cloud_ops_mcp_server/alibabacloud/utils.py,sha256=jWQtP59P4ejh7N6xiYSDq1WgCd3Les0aSZr2pLGzkls,299
|
|
8
8
|
alibaba_cloud_ops_mcp_server/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
-
alibaba_cloud_ops_mcp_server/tools/api_tools.py,sha256=
|
|
10
|
-
alibaba_cloud_ops_mcp_server/tools/cms_tools.py,sha256=
|
|
11
|
-
alibaba_cloud_ops_mcp_server/tools/oos_tools.py,sha256
|
|
12
|
-
alibaba_cloud_ops_mcp_server/tools/oss_tools.py,sha256=
|
|
13
|
-
alibaba_cloud_ops_mcp_server-0.8.
|
|
14
|
-
alibaba_cloud_ops_mcp_server-0.8.
|
|
15
|
-
alibaba_cloud_ops_mcp_server-0.8.
|
|
16
|
-
alibaba_cloud_ops_mcp_server-0.8.
|
|
17
|
-
alibaba_cloud_ops_mcp_server-0.8.
|
|
9
|
+
alibaba_cloud_ops_mcp_server/tools/api_tools.py,sha256=uQ7dXGovPlw8FvUgIRAErsu4fySbM8bzf_8eQH8G7fM,5899
|
|
10
|
+
alibaba_cloud_ops_mcp_server/tools/cms_tools.py,sha256=GFSBDTddvQ7M9fDGm69jvH6Yt4nui5uOVjwD61CZKT4,4191
|
|
11
|
+
alibaba_cloud_ops_mcp_server/tools/oos_tools.py,sha256=l228yl_SGg_rNdrBSDeqWYI8ZE1XUAHhsPLArvfE4A8,10116
|
|
12
|
+
alibaba_cloud_ops_mcp_server/tools/oss_tools.py,sha256=c7D1fAjFBqHl0oMy0O6i7onoXeAN9cpdBdLtXKrxVQE,4615
|
|
13
|
+
alibaba_cloud_ops_mcp_server-0.8.7.dist-info/METADATA,sha256=lQLG53I8ePS2A5oSkpxOIgqbIBWxAtGzvzOTn1Y5aVI,5147
|
|
14
|
+
alibaba_cloud_ops_mcp_server-0.8.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
15
|
+
alibaba_cloud_ops_mcp_server-0.8.7.dist-info/entry_points.txt,sha256=ESGAWXKEp184forhs7VzTD4P1AUdZz6vCW6hRUKITGw,83
|
|
16
|
+
alibaba_cloud_ops_mcp_server-0.8.7.dist-info/licenses/LICENSE,sha256=gQgVkp2ttRCjodiPpXZZR-d7JnrYIYNiHk1YDUYgpa4,11331
|
|
17
|
+
alibaba_cloud_ops_mcp_server-0.8.7.dist-info/RECORD,,
|
{alibaba_cloud_ops_mcp_server-0.8.6.dist-info → alibaba_cloud_ops_mcp_server-0.8.7.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|