alibaba-cloud-ops-mcp-server 0.7.9__tar.gz → 0.8.0__tar.gz

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 (30) hide show
  1. {alibaba_cloud_ops_mcp_server-0.7.9 → alibaba_cloud_ops_mcp_server-0.8.0}/.gitignore +2 -0
  2. {alibaba_cloud_ops_mcp_server-0.7.9 → alibaba_cloud_ops_mcp_server-0.8.0}/PKG-INFO +8 -2
  3. {alibaba_cloud_ops_mcp_server-0.7.9 → alibaba_cloud_ops_mcp_server-0.8.0}/README.md +7 -1
  4. alibaba_cloud_ops_mcp_server-0.8.0/examples/openapi_mcp_quickstart/server.py +0 -0
  5. {alibaba_cloud_ops_mcp_server-0.7.9 → alibaba_cloud_ops_mcp_server-0.8.0}/pyproject.toml +1 -1
  6. alibaba_cloud_ops_mcp_server-0.8.0/src/__init__.py +0 -0
  7. alibaba_cloud_ops_mcp_server-0.8.0/src/alibaba_cloud_ops_mcp_server/alibabacloud/__init__.py +0 -0
  8. {alibaba_cloud_ops_mcp_server-0.7.9/src/alibaba_cloud_ops_mcp_server → alibaba_cloud_ops_mcp_server-0.8.0/src/alibaba_cloud_ops_mcp_server/alibabacloud}/api_meta_client.py +4 -0
  9. alibaba_cloud_ops_mcp_server-0.8.0/src/alibaba_cloud_ops_mcp_server/server.py +35 -0
  10. alibaba_cloud_ops_mcp_server-0.8.0/src/alibaba_cloud_ops_mcp_server/tools/__init__.py +0 -0
  11. alibaba_cloud_ops_mcp_server-0.7.9/src/alibaba_cloud_ops_mcp_server/server.py → alibaba_cloud_ops_mcp_server-0.8.0/src/alibaba_cloud_ops_mcp_server/tools/api_tools.py +13 -46
  12. {alibaba_cloud_ops_mcp_server-0.7.9/src/alibaba_cloud_ops_mcp_server → alibaba_cloud_ops_mcp_server-0.8.0/src/alibaba_cloud_ops_mcp_server/tools}/oos_tools.py +0 -2
  13. {alibaba_cloud_ops_mcp_server-0.7.9 → alibaba_cloud_ops_mcp_server-0.8.0}/uv.lock +2 -2
  14. alibaba_cloud_ops_mcp_server-0.7.9/.idea/.gitignore +0 -8
  15. alibaba_cloud_ops_mcp_server-0.7.9/.idea/alibabacloud-mcp-server.iml +0 -12
  16. alibaba_cloud_ops_mcp_server-0.7.9/.idea/inspectionProfiles/Project_Default.xml +0 -50
  17. alibaba_cloud_ops_mcp_server-0.7.9/.idea/inspectionProfiles/profiles_settings.xml +0 -6
  18. alibaba_cloud_ops_mcp_server-0.7.9/.idea/misc.xml +0 -7
  19. alibaba_cloud_ops_mcp_server-0.7.9/.idea/modules.xml +0 -8
  20. alibaba_cloud_ops_mcp_server-0.7.9/.idea/vcs.xml +0 -6
  21. alibaba_cloud_ops_mcp_server-0.7.9/.idea/workspace.xml +0 -136
  22. {alibaba_cloud_ops_mcp_server-0.7.9 → alibaba_cloud_ops_mcp_server-0.8.0}/LICENSE +0 -0
  23. {alibaba_cloud_ops_mcp_server-0.7.9 → alibaba_cloud_ops_mcp_server-0.8.0}/README_zh.md +0 -0
  24. {alibaba_cloud_ops_mcp_server-0.7.9 → alibaba_cloud_ops_mcp_server-0.8.0}/image/Alibaba-Cloud-Ops-MCP-User-Group-en.png +0 -0
  25. {alibaba_cloud_ops_mcp_server-0.7.9 → alibaba_cloud_ops_mcp_server-0.8.0}/image/Alibaba-Cloud-Ops-MCP-User-Group-zh.png +0 -0
  26. {alibaba_cloud_ops_mcp_server-0.7.9 → alibaba_cloud_ops_mcp_server-0.8.0}/image/alibaba-cloud.png +0 -0
  27. {alibaba_cloud_ops_mcp_server-0.7.9 → alibaba_cloud_ops_mcp_server-0.8.0}/src/alibaba_cloud_ops_mcp_server/__init__.py +0 -0
  28. {alibaba_cloud_ops_mcp_server-0.7.9 → alibaba_cloud_ops_mcp_server-0.8.0}/src/alibaba_cloud_ops_mcp_server/config.py +0 -0
  29. {alibaba_cloud_ops_mcp_server-0.7.9/src/alibaba_cloud_ops_mcp_server → alibaba_cloud_ops_mcp_server-0.8.0/src/alibaba_cloud_ops_mcp_server/tools}/cms_tools.py +0 -0
  30. {alibaba_cloud_ops_mcp_server-0.7.9/src/alibaba_cloud_ops_mcp_server → alibaba_cloud_ops_mcp_server-0.8.0/src/alibaba_cloud_ops_mcp_server/tools}/oss_tools.py +0 -0
@@ -8,3 +8,5 @@ wheels/
8
8
 
9
9
  # Virtual environments
10
10
  .venv
11
+
12
+ .idea/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alibaba-cloud-ops-mcp-server
3
- Version: 0.7.9
3
+ Version: 0.8.0
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
@@ -14,7 +14,13 @@ Requires-Dist: mcp[cli]>=1.6.0
14
14
  Description-Content-Type: text/markdown
15
15
 
16
16
  # alibaba-cloud-ops-mcp-server
17
+
17
18
  [中文版本](./README_zh.md)
19
+
20
+ <a href="https://glama.ai/mcp/servers/@aliyun/alibabacloud-core-mcp-server">
21
+ <img width="380" height="200" src="https://glama.ai/mcp/servers/@aliyun/alibabacloud-core-mcp-server/badge" alt="AlibabaCloud Server MCP server" />
22
+ </a>
23
+
18
24
  ## Prepare
19
25
 
20
26
  Install [uv](https://github.com/astral-sh/uv)
@@ -94,4 +100,4 @@ If you have any questions, please join the [Alibaba Cloud Ops MCP discussion gro
94
100
 
95
101
  ## Know More
96
102
 
97
- - [Alibaba Cloud MCP Server is ready to use out of the box!!](https://developer.aliyun.com/article/1661348)
103
+ - [Alibaba Cloud MCP Server is ready to use out of the box!!](https://developer.aliyun.com/article/1661348)
@@ -1,5 +1,11 @@
1
1
  # alibaba-cloud-ops-mcp-server
2
+
2
3
  [中文版本](./README_zh.md)
4
+
5
+ <a href="https://glama.ai/mcp/servers/@aliyun/alibabacloud-core-mcp-server">
6
+ <img width="380" height="200" src="https://glama.ai/mcp/servers/@aliyun/alibabacloud-core-mcp-server/badge" alt="AlibabaCloud Server MCP server" />
7
+ </a>
8
+
3
9
  ## Prepare
4
10
 
5
11
  Install [uv](https://github.com/astral-sh/uv)
@@ -79,4 +85,4 @@ If you have any questions, please join the [Alibaba Cloud Ops MCP discussion gro
79
85
 
80
86
  ## Know More
81
87
 
82
- - [Alibaba Cloud MCP Server is ready to use out of the box!!](https://developer.aliyun.com/article/1661348)
88
+ - [Alibaba Cloud MCP Server is ready to use out of the box!!](https://developer.aliyun.com/article/1661348)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "alibaba-cloud-ops-mcp-server"
3
- version = "0.7.9"
3
+ version = "0.8.0"
4
4
  description = "A MCP server for Alibaba Cloud"
5
5
  readme = "README.md"
6
6
  authors = [
File without changes
@@ -75,6 +75,10 @@ class ApiMetaClient:
75
75
  # 获取POP平台API META参考文档:https://api.aliyun.com/openmeta/guide
76
76
  version = cls.get_service_version(service)
77
77
  service_standard, api_standard = cls.get_standard_service_and_api(service, api, version)
78
+ if service_standard is None:
79
+ raise Exception(f'InvalidServiceName: Please check the Service ({service}) you provide.')
80
+ if api_standard is None:
81
+ raise Exception(f'InvalidAPIName: Please check the Service ({service}) and the API ({api}) you provide.')
78
82
  data = cls.get_response_from_pop_api(cls.GET_API_INFO, service_standard, api_standard, version)
79
83
  return data, version
80
84
 
@@ -0,0 +1,35 @@
1
+ from mcp.server.fastmcp import FastMCP
2
+ import click
3
+ import logging
4
+
5
+ from alibaba_cloud_ops_mcp_server.config import config
6
+ from alibaba_cloud_ops_mcp_server.tools import cms_tools, oos_tools, oss_tools, api_tools
7
+
8
+ logger = logging.getLogger(__name__)
9
+
10
+
11
+ @click.command()
12
+ @click.option(
13
+ "--transport",
14
+ type=click.Choice(["stdio", "sse"]),
15
+ default="stdio",
16
+ help="Transport type",
17
+ )
18
+ def main(transport: str):
19
+ # Create an MCP server
20
+ mcp = FastMCP("alibaba-cloud-ops-mcp-server")
21
+ for tool in oos_tools.tools:
22
+ mcp.add_tool(tool)
23
+ for tool in cms_tools.tools:
24
+ mcp.add_tool(tool)
25
+ for tool in oss_tools.tools:
26
+ mcp.add_tool(tool)
27
+ api_tools.create_api_tools(mcp, config)
28
+
29
+ # Initialize and run the server
30
+ logger.debug(f'mcp server is running on {transport} mode.')
31
+ mcp.run(transport=transport)
32
+
33
+
34
+ if __name__ == "__main__":
35
+ main()
@@ -1,8 +1,6 @@
1
- # server.py
2
1
  import os
3
2
  from mcp.server.fastmcp import FastMCP, Context
4
3
  from pydantic import Field
5
- import click
6
4
  import logging
7
5
 
8
6
  import inspect
@@ -12,14 +10,7 @@ from alibabacloud_tea_openapi import models as open_api_models
12
10
  from alibabacloud_tea_util import models as util_models
13
11
  from alibabacloud_tea_openapi.client import Client as OpenApiClient
14
12
  from alibabacloud_openapi_util.client import Client as OpenApiUtilClient
15
- from alibaba_cloud_ops_mcp_server.api_meta_client import ApiMetaClient
16
- from alibaba_cloud_ops_mcp_server.config import config
17
-
18
- from alibaba_cloud_ops_mcp_server import oos_tools
19
- from alibaba_cloud_ops_mcp_server import cms_tools
20
- from alibaba_cloud_ops_mcp_server import oss_tools
21
-
22
- logger = logging.getLogger(__name__)
13
+ from alibaba_cloud_ops_mcp_server.alibabacloud.api_meta_client import ApiMetaClient
23
14
 
24
15
 
25
16
  type_map = {
@@ -44,7 +35,7 @@ def create_client(service: str, region_id: str) -> OpenApiClient:
44
35
  return OpenApiClient(config)
45
36
 
46
37
 
47
- def tools_api_call(service: str, api: str, parameters: dict, ctx: Context):
38
+ def _tools_api_call(service: str, api: str, parameters: dict, ctx: Context):
48
39
  service = service.lower()
49
40
  api_meta, _ = ApiMetaClient.get_api_meta(service, api)
50
41
  version = ApiMetaClient.get_service_version(service)
@@ -70,14 +61,14 @@ def tools_api_call(service: str, api: str, parameters: dict, ctx: Context):
70
61
  return client.call_api(params, req, runtime)
71
62
 
72
63
 
73
- def create_parameter_schema(fields: dict):
64
+ def _create_parameter_schema(fields: dict):
74
65
  return make_dataclass("ParameterSchema", [(name, type_, value) for name, (type_, value) in fields.items()])
75
66
 
76
67
 
77
- def create_function_schemas(service, api, api_meta):
68
+ def _create_function_schemas(service, api, api_meta):
78
69
  schemas = {}
79
70
  schemas[api] = {}
80
- parameters = api_meta['parameters']
71
+ parameters = api_meta.get('parameters', [])
81
72
  for parameter in parameters:
82
73
  name = parameter.get('name')
83
74
  # TODO 目前忽略了带'.'的参数
@@ -109,7 +100,7 @@ def create_function_schemas(service, api, api_meta):
109
100
  return schemas
110
101
 
111
102
 
112
- def create_tool_function_with_signature(service: str, function_name: str, fields: dict, description: str):
103
+ def _create_tool_function_with_signature(service: str, function_name: str, fields: dict, description: str):
113
104
  """
114
105
  Dynamically creates a lambda function with a custom signature based on the provided fields.
115
106
  """
@@ -138,7 +129,7 @@ def create_tool_function_with_signature(service: str, function_name: str, fields
138
129
  bound_args = signature.bind(*args, **kwargs)
139
130
  bound_args.apply_defaults()
140
131
 
141
- return tools_api_call(
132
+ return _tools_api_call(
142
133
  service=service,
143
134
  api=function_name,
144
135
  parameters=bound_args.arguments,
@@ -160,41 +151,17 @@ def create_tool_function_with_signature(service: str, function_name: str, fields
160
151
  return func
161
152
 
162
153
 
163
- def create_and_decorate_tool(mcp: FastMCP, service: str, api: str):
164
- """Create a tool function for a Lambda function."""
154
+ def _create_and_decorate_tool(mcp: FastMCP, service: str, api: str):
155
+ """Create a tool function for an AlibabaCloud openapi."""
165
156
  api_meta, _ = ApiMetaClient.get_api_meta(service, api)
166
- fields = create_function_schemas(service, api, api_meta).get(api, {})
157
+ fields = _create_function_schemas(service, api, api_meta).get(api, {})
167
158
  description = api_meta.get('summary', '')
168
- dynamic_lambda = create_tool_function_with_signature(service, api, fields, description)
159
+ dynamic_lambda = _create_tool_function_with_signature(service, api, fields, description)
169
160
  decorated_function = mcp.tool(name=api)(dynamic_lambda)
170
161
 
171
162
  return decorated_function
172
163
 
173
-
174
- @click.command()
175
- @click.option(
176
- "--transport",
177
- type=click.Choice(["stdio", "sse"]),
178
- default="stdio",
179
- help="Transport type",
180
- )
181
- def main(transport: str):
182
- # Create an MCP server
183
- mcp = FastMCP("alibaba-cloud-ops-mcp-server")
184
- for tool in oos_tools.tools:
185
- mcp.add_tool(tool)
186
- for tool in cms_tools.tools:
187
- mcp.add_tool(tool)
188
- for tool in oss_tools.tools:
189
- mcp.add_tool(tool)
164
+ def create_api_tools(mcp: FastMCP, config:dict):
190
165
  for service_code, apis in config.items():
191
166
  for api_name in apis:
192
- create_and_decorate_tool(mcp, service_code, api_name)
193
-
194
- # Initialize and run the server
195
- logger.debug(f'mcp server is running on {transport} mode.')
196
- mcp.run(transport=transport)
197
-
198
-
199
- if __name__ == "__main__":
200
- main()
167
+ _create_and_decorate_tool(mcp, service_code, api_name)
@@ -7,8 +7,6 @@ import time
7
7
  from alibabacloud_oos20190601.client import Client as oos20190601Client
8
8
  from alibabacloud_tea_openapi import models as open_api_models
9
9
  from alibabacloud_oos20190601 import models as oos_20190601_models
10
- from alibabacloud_tea_util import models as util_models
11
- from alibabacloud_tea_util.client import Client as UtilClient
12
10
 
13
11
 
14
12
  END_STATUSES = ['Success', 'Failed', 'Cancelled']
@@ -1,6 +1,6 @@
1
1
  version = 1
2
2
  revision = 1
3
- requires-python = ">=3.11"
3
+ requires-python = ">=3.10"
4
4
 
5
5
  [[package]]
6
6
  name = "aiofiles"
@@ -99,7 +99,7 @@ wheels = [
99
99
 
100
100
  [[package]]
101
101
  name = "alibaba-cloud-ops-mcp-server"
102
- version = "0.7.3"
102
+ version = "0.7.8"
103
103
  source = { editable = "." }
104
104
  dependencies = [
105
105
  { name = "alibabacloud-cms20190101" },
@@ -1,8 +0,0 @@
1
- # 默认忽略的文件
2
- /shelf/
3
- /workspace.xml
4
- # Editor-based HTTP Client requests
5
- /httpRequests/
6
- # Datasource local storage ignored files
7
- /dataSources/
8
- /dataSources.local.xml
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <module type="PYTHON_MODULE" version="4">
3
- <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$" />
5
- <orderEntry type="jdk" jdkName="Python 3.12 (myenv312)" jdkType="Python SDK" />
6
- <orderEntry type="sourceFolder" forTests="false" />
7
- </component>
8
- <component name="PyDocumentationSettings">
9
- <option name="format" value="PLAIN" />
10
- <option name="myDocStringFormat" value="Plain" />
11
- </component>
12
- </module>
@@ -1,50 +0,0 @@
1
- <component name="InspectionProjectProfileManager">
2
- <profile version="1.0">
3
- <option name="myName" value="Project Default" />
4
- <inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
5
- <option name="ignoredPackages">
6
- <value>
7
- <list size="16">
8
- <item index="0" class="java.lang.String" itemvalue="eventlet" />
9
- <item index="1" class="java.lang.String" itemvalue="automation-common" />
10
- <item index="2" class="java.lang.String" itemvalue="requests" />
11
- <item index="3" class="java.lang.String" itemvalue="alibabacloud_tea_util" />
12
- <item index="4" class="java.lang.String" itemvalue="alibabacloud_tea_openapi" />
13
- <item index="5" class="java.lang.String" itemvalue="redis" />
14
- <item index="6" class="java.lang.String" itemvalue="vine" />
15
- <item index="7" class="java.lang.String" itemvalue="pyparsing" />
16
- <item index="8" class="java.lang.String" itemvalue="aliyun-python-sdk-dds" />
17
- <item index="9" class="java.lang.String" itemvalue="aliyun-python-sdk-r-kvstore" />
18
- <item index="10" class="java.lang.String" itemvalue="aliyun-python-sdk-ecs" />
19
- <item index="11" class="java.lang.String" itemvalue="alibabacloud_oosops20190601" />
20
- <item index="12" class="java.lang.String" itemvalue="alibabacloud-credentials" />
21
- <item index="13" class="java.lang.String" itemvalue="PyYaml" />
22
- <item index="14" class="java.lang.String" itemvalue="oss2" />
23
- <item index="15" class="java.lang.String" itemvalue="aliyun-python-sdk-core" />
24
- </list>
25
- </value>
26
- </option>
27
- </inspection_tool>
28
- <inspection_tool class="PyPep8Inspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
29
- <option name="ignoredErrors">
30
- <list>
31
- <option value="E501" />
32
- </list>
33
- </option>
34
- </inspection_tool>
35
- <inspection_tool class="PyPep8NamingInspection" enabled="true" level="WEAK WARNING" enabled_by_default="true">
36
- <option name="ignoredErrors">
37
- <list>
38
- <option value="N806" />
39
- </list>
40
- </option>
41
- </inspection_tool>
42
- <inspection_tool class="PyUnresolvedReferencesInspection" enabled="true" level="WARNING" enabled_by_default="true">
43
- <option name="ignoredIdentifiers">
44
- <list>
45
- <option value="auto_common.template.api.rest_caller.CheckMixin.*" />
46
- </list>
47
- </option>
48
- </inspection_tool>
49
- </profile>
50
- </component>
@@ -1,6 +0,0 @@
1
- <component name="InspectionProjectProfileManager">
2
- <settings>
3
- <option name="USE_PROJECT_PROFILE" value="false" />
4
- <version value="1.0" />
5
- </settings>
6
- </component>
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="Black">
4
- <option name="sdkName" value="Python 3.11 (alibabacloud-mcp-server)" />
5
- </component>
6
- <component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (myenv312)" project-jdk-type="Python SDK" />
7
- </project>
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/.idea/alibabacloud-mcp-server.iml" filepath="$PROJECT_DIR$/.idea/alibabacloud-mcp-server.iml" />
6
- </modules>
7
- </component>
8
- </project>
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="" vcs="Git" />
5
- </component>
6
- </project>
@@ -1,136 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="AutoImportSettings">
4
- <option name="autoReloadType" value="SELECTIVE" />
5
- </component>
6
- <component name="ChangeListManager">
7
- <list default="true" id="7533dbdd-7a6f-45ef-acd7-3053ecebc958" name="更改" comment="add mcp server config to readme">
8
- <change beforePath="$PROJECT_DIR$/pyproject.toml" beforeDir="false" afterPath="$PROJECT_DIR$/pyproject.toml" afterDir="false" />
9
- <change beforePath="$PROJECT_DIR$/src/alibaba_cloud_ops_mcp_server/server.py" beforeDir="false" afterPath="$PROJECT_DIR$/src/alibaba_cloud_ops_mcp_server/server.py" afterDir="false" />
10
- <change beforePath="$PROJECT_DIR$/uv.lock" beforeDir="false" afterPath="$PROJECT_DIR$/uv.lock" afterDir="false" />
11
- </list>
12
- <option name="SHOW_DIALOG" value="false" />
13
- <option name="HIGHLIGHT_CONFLICTS" value="true" />
14
- <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
15
- <option name="LAST_RESOLUTION" value="IGNORE" />
16
- </component>
17
- <component name="Git.Settings">
18
- <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
19
- </component>
20
- <component name="ProjectColorInfo">{
21
- &quot;associatedIndex&quot;: 3
22
- }</component>
23
- <component name="ProjectId" id="2vtED9lPAsLJYRTfnb8FMPyDCo5" />
24
- <component name="ProjectViewState">
25
- <option name="hideEmptyMiddlePackages" value="true" />
26
- <option name="showLibraryContents" value="true" />
27
- </component>
28
- <component name="PropertiesComponent"><![CDATA[{
29
- "keyToString": {
30
- "RunOnceActivity.ShowReadmeOnStart": "true",
31
- "git-widget-placeholder": "feat/support__oss__and__rds",
32
- "last_opened_file_path": "/Users/chuanlin/test/alibabacloud-mcp-server",
33
- "node.js.detected.package.eslint": "true",
34
- "node.js.detected.package.tslint": "true",
35
- "node.js.selected.package.eslint": "(autodetect)",
36
- "node.js.selected.package.tslint": "(autodetect)",
37
- "nodejs_package_manager_path": "npm",
38
- "vue.rearranger.settings.migration": "true"
39
- }
40
- }]]></component>
41
- <component name="RecentsManager">
42
- <key name="CopyFile.RECENT_KEYS">
43
- <recent name="$PROJECT_DIR$" />
44
- </key>
45
- </component>
46
- <component name="SharedIndexes">
47
- <attachedChunks>
48
- <set>
49
- <option value="bundled-js-predefined-1d06a55b98c1-0b3e54e931b4-JavaScript-PY-241.18034.82" />
50
- <option value="bundled-python-sdk-975db3bf15a3-2767605e8bc2-com.jetbrains.pycharm.pro.sharedIndexes.bundled-PY-241.18034.82" />
51
- </set>
52
- </attachedChunks>
53
- </component>
54
- <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="应用程序级" UseSingleDictionary="true" transferred="true" />
55
- <component name="TaskManager">
56
- <task active="true" id="Default" summary="默认任务">
57
- <changelist id="7533dbdd-7a6f-45ef-acd7-3053ecebc958" name="更改" comment="" />
58
- <created>1744955848249</created>
59
- <option name="number" value="Default" />
60
- <option name="presentableId" value="Default" />
61
- <updated>1744955848249</updated>
62
- <workItem from="1744955849368" duration="921000" />
63
- <workItem from="1745216489220" duration="18631000" />
64
- </task>
65
- <task id="LOCAL-00001" summary="init alibabacloud-mcp-server project">
66
- <option name="closed" value="true" />
67
- <created>1744955987413</created>
68
- <option name="number" value="00001" />
69
- <option name="presentableId" value="LOCAL-00001" />
70
- <option name="project" value="LOCAL" />
71
- <updated>1744955987413</updated>
72
- </task>
73
- <task id="LOCAL-00002" summary="change project name to &quot;alibaba-cloud-ops-mcp-server&quot;">
74
- <option name="closed" value="true" />
75
- <created>1745217231572</created>
76
- <option name="number" value="00002" />
77
- <option name="presentableId" value="LOCAL-00002" />
78
- <option name="project" value="LOCAL" />
79
- <updated>1745217231572</updated>
80
- </task>
81
- <task id="LOCAL-00003" summary="change project name to &quot;alibaba-cloud-ops-mcp-server&quot;">
82
- <option name="closed" value="true" />
83
- <created>1745222527808</created>
84
- <option name="number" value="00003" />
85
- <option name="presentableId" value="LOCAL-00003" />
86
- <option name="project" value="LOCAL" />
87
- <updated>1745222527808</updated>
88
- </task>
89
- <task id="LOCAL-00004" summary="add mcp server config to readme">
90
- <option name="closed" value="true" />
91
- <created>1745225473964</created>
92
- <option name="number" value="00004" />
93
- <option name="presentableId" value="LOCAL-00004" />
94
- <option name="project" value="LOCAL" />
95
- <updated>1745225473964</updated>
96
- </task>
97
- <task id="LOCAL-00005" summary="add mcp server config to readme">
98
- <option name="closed" value="true" />
99
- <created>1745225894142</created>
100
- <option name="number" value="00005" />
101
- <option name="presentableId" value="LOCAL-00005" />
102
- <option name="project" value="LOCAL" />
103
- <updated>1745225894142</updated>
104
- </task>
105
- <task id="LOCAL-00006" summary="add mcp server config to readme">
106
- <option name="closed" value="true" />
107
- <created>1745229523171</created>
108
- <option name="number" value="00006" />
109
- <option name="presentableId" value="LOCAL-00006" />
110
- <option name="project" value="LOCAL" />
111
- <updated>1745229523171</updated>
112
- </task>
113
- <option name="localTasksCounter" value="7" />
114
- <servers />
115
- </component>
116
- <component name="TypeScriptGeneratedFilesManager">
117
- <option name="version" value="3" />
118
- </component>
119
- <component name="Vcs.Log.Tabs.Properties">
120
- <option name="TAB_STATES">
121
- <map>
122
- <entry key="MAIN">
123
- <value>
124
- <State />
125
- </value>
126
- </entry>
127
- </map>
128
- </option>
129
- </component>
130
- <component name="VcsManagerConfiguration">
131
- <MESSAGE value="init alibabacloud-mcp-server project" />
132
- <MESSAGE value="change project name to &quot;alibaba-cloud-ops-mcp-server&quot;" />
133
- <MESSAGE value="add mcp server config to readme" />
134
- <option name="LAST_COMMIT_MESSAGE" value="add mcp server config to readme" />
135
- </component>
136
- </project>