Skip to content

Commit e65b3f4

Browse files
authored
Merge pull request #58 from devsapp/fix-observabilisty
fix: update observability version
2 parents 6c0e022 + 0ad8b0a commit e65b3f4

File tree

3 files changed

+135
-17
lines changed

3 files changed

+135
-17
lines changed

start-mcp-aliyun-observability/publish.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Edition: 3.0.0
22
Type: Project
33
Name: aliyun-observability-mcp-server
4-
Version: 0.0.17
4+
Version: 0.0.18
55
Provider:
66
- 阿里云 # 取值内容参考:https://api.devsapp.cn/v3/common/args.html
77
Description: 阿里云可观测 MCP Server 模版
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
mcp-server-aliyun-observability==0.2.9
1+
mcp-server-aliyun-observability==0.3.1

start-mcp-aliyun-observability/src/mcp-schema.json

Lines changed: 133 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,7 @@
3737
"type": "object",
3838
"properties": {
3939
"result": {
40-
"title": "Result",
41-
"type": "array",
42-
"items": {
43-
"type": "string"
44-
}
40+
"title": "Result"
4541
}
4642
},
4743
"required": [
@@ -96,6 +92,18 @@
9692
"description": "列出SLS项目中的日志库。\n\n ## 功能概述\n\n 该工具可以列出指定SLS项目中的所有日志库,如果不选,则默认为日志库类型\n 支持通过日志库名称进行模糊搜索。如果不提供日志库名称,则返回项目中的所有日志库。\n\n ## 使用场景\n\n - 当需要查找特定项目下是否存在某个日志库时\n - 当需要获取项目中所有可用的日志库列表时\n - 当需要根据日志库名称的部分内容查找相关日志库时\n - 如果从上下文未指定 project参数,除非用户说了遍历,则可使用 sls_list_projects 工具获取项目列表\n\n ## 是否指标库\n\n 如果需要查找指标或者时序相关的库,请将is_metric_store参数设置为True\n\n ## 查询示例\n\n - \"我想查询有没有 XXX 的日志库\"\n - \"某个 project 有哪些 log store\"\n\n Args:\n ctx: MCP上下文,用于访问SLS客户端\n project: SLS项目名称,必须精确匹配\n log_store: 日志库名称,支持模糊搜索\n limit: 返回结果的最大数量,范围1-100,默认10\n is_metric_store: 是否指标库,可选值为True或False,默认为False\n region_id: 阿里云区域ID\n\n Returns:\n 日志库名称的字符串列表\n "
9793
},
9894
{
95+
"outputSchema": {
96+
"title": "sls_describe_logstoreOutput",
97+
"type": "object",
98+
"properties": {
99+
"result": {
100+
"title": "Result"
101+
}
102+
},
103+
"required": [
104+
"result"
105+
]
106+
},
99107
"inputSchema": {
100108
"type": "object",
101109
"title": "sls_describe_logstoreArguments",
@@ -126,6 +134,18 @@
126134
"description": "获取SLS日志库的结构信息。\n\n ## 功能概述\n\n 该工具用于获取指定SLS项目中日志库的索引信息和结构定义,包括字段类型、别名、是否大小写敏感等信息。\n\n ## 使用场景\n\n - 当需要了解日志库的字段结构时\n - 当需要获取日志库的索引配置信息时\n - 当构建查询语句前需要了解可用字段时\n - 当需要分析日志数据结构时\n\n ## 返回数据结构\n\n 返回一个字典,键为字段名,值包含以下信息:\n - alias: 字段别名\n - sensitive: 是否大小写敏感\n - type: 字段类型\n - json_keys: JSON字段的子字段信息\n\n ## 查询示例\n\n - \"我想查询 XXX 的日志库的 schema\"\n - \"我想查询 XXX 的日志库的 index\"\n - \"我想查询 XXX 的日志库的结构信息\"\n\n Args:\n ctx: MCP上下文,用于访问SLS客户端\n project: SLS项目名称,必须精确匹配\n log_store: SLS日志库名称,必须精确匹配\n region_id: 阿里云区域ID\n\n Returns:\n 包含日志库结构信息的字典\n "
127135
},
128136
{
137+
"outputSchema": {
138+
"title": "sls_execute_sql_queryOutput",
139+
"type": "object",
140+
"properties": {
141+
"result": {
142+
"title": "Result"
143+
}
144+
},
145+
"required": [
146+
"result"
147+
]
148+
},
129149
"inputSchema": {
130150
"type": "object",
131151
"title": "sls_execute_sql_queryArguments",
@@ -183,9 +203,16 @@
183203
},
184204
{
185205
"outputSchema": {
186-
"additionalProperties": true,
187-
"title": "sls_translate_text_to_sql_queryDictOutput",
188-
"type": "object"
206+
"title": "sls_translate_text_to_sql_queryOutput",
207+
"type": "object",
208+
"properties": {
209+
"result": {
210+
"title": "Result"
211+
}
212+
},
213+
"required": [
214+
"result"
215+
]
189216
},
190217
"inputSchema": {
191218
"type": "object",
@@ -223,6 +250,18 @@
223250
"description": "将自然语言转换为SLS查询语句。当用户有明确的 logstore 查询需求,必须优先使用该工具来生成查询语句\n\n ## 功能概述\n\n 该工具可以将自然语言描述转换为有效的SLS查询语句,便于用户使用自然语言表达查询需求。用户有任何 SLS 日志查询需求时,都需要优先使用该工具。\n\n ## 使用场景\n\n - 当用户不熟悉SLS查询语法时\n - 当需要快速构建复杂查询时\n - 当需要从自然语言描述中提取查询意图时\n\n ## 使用限制\n\n - 仅支持生成SLS查询,不支持其他数据库的SQL如MySQL、PostgreSQL等\n - 生成的是查询语句,而非查询结果,需要配合sls_execute_query工具使用\n - 如果查询涉及ARMS应用,应优先使用arms_generate_trace_query工具\n - 需要对应的 log_sotre 已经设定了索引信息,如果生成的结果里面有字段没有索引或者开启统计,可能会导致查询失败,需要友好的提示用户增加相对应的索引信息\n\n ## 最佳实践\n\n - 提供清晰简洁的自然语言描述\n - 不要在描述中包含项目或日志库名称\n - 如有需要,指定查询的时间范围\n - 首次生成的查询可能不完全符合要求,可能需要多次尝试\n\n ## 查询示例\n\n - \"帮我生成下 XXX 的日志查询语句\"\n - \"查找最近一小时内的错误日志\"\n\n Args:\n ctx: MCP上下文,用于访问SLS客户端\n text: 用于生成查询的自然语言文本\n project: SLS项目名称\n log_store: SLS日志库名称\n region_id: 阿里云区域ID\n\n Returns:\n 生成的SLS查询语句\n "
224251
},
225252
{
253+
"outputSchema": {
254+
"title": "sls_diagnose_queryOutput",
255+
"type": "object",
256+
"properties": {
257+
"result": {
258+
"title": "Result"
259+
}
260+
},
261+
"required": [
262+
"result"
263+
]
264+
},
226265
"inputSchema": {
227266
"type": "object",
228267
"title": "sls_diagnose_queryArguments",
@@ -288,12 +327,7 @@
288327
"type": "object",
289328
"properties": {
290329
"result": {
291-
"title": "Result",
292-
"type": "array",
293-
"items": {
294-
"additionalProperties": true,
295-
"type": "object"
296-
}
330+
"title": "Result"
297331
}
298332
},
299333
"required": [
@@ -339,6 +373,18 @@
339373
"description": "搜索ARMS应用。\n\n ## 功能概述\n\n 该工具用于根据应用名称搜索ARMS应用,返回应用的基本信息,包括应用名称、PID、用户ID和类型。\n\n ## 使用场景\n\n - 当需要查找特定名称的应用时\n - 当需要获取应用的PID以便进行其他ARMS操作时\n - 当需要检查用户拥有的应用列表时\n\n ## 搜索条件\n\n - app_name_query必须是应用名称的一部分,而非自然语言\n - 搜索结果将分页返回,可以指定页码和每页大小\n\n ## 返回数据结构\n\n 返回一个字典,包含以下信息:\n - total: 符合条件的应用总数\n - page_size: 每页大小\n - page_number: 当前页码\n - trace_apps: 应用列表,每个应用包含app_name、pid、user_id和type\n\n ## 查询示例\n\n - \"帮我查询下 XXX 的应用\"\n - \"找出名称包含'service'的应用\"\n\n Args:\n ctx: MCP上下文,用于访问ARMS客户端\n app_name_query: 应用名称查询字符串\n region_id: 阿里云区域ID\n page_size: 每页大小,范围1-100,默认20\n page_number: 页码,默认1\n\n Returns:\n 包含应用信息的字典\n "
340374
},
341375
{
376+
"outputSchema": {
377+
"title": "arms_generate_trace_queryOutput",
378+
"type": "object",
379+
"properties": {
380+
"result": {
381+
"title": "Result"
382+
}
383+
},
384+
"required": [
385+
"result"
386+
]
387+
},
342388
"inputSchema": {
343389
"type": "object",
344390
"title": "arms_generate_trace_queryArguments",
@@ -375,6 +421,18 @@
375421
"description": "生成ARMS应用的调用链查询语句。\n\n ## 功能概述\n\n 该工具用于将自然语言描述转换为ARMS调用链查询语句,便于分析应用性能和问题。\n\n ## 使用场景\n\n - 当需要查询应用的调用链信息时\n - 当需要分析应用性能问题时\n - 当需要跟踪特定请求的执行路径时\n - 当需要分析服务间调用关系时\n\n ## 查询处理\n\n 工具会将自然语言问题转换为SLS查询,并返回:\n - 生成的SLS查询语句\n - 存储调用链数据的项目名\n - 存储调用链数据的日志库名\n\n ## 查询上下文\n\n 查询会考虑以下信息:\n - 应用的PID\n - 响应时间以纳秒存储,需转换为毫秒\n - 数据以span记录存储,查询耗时需要对符合条件的span进行求和\n - 服务相关信息使用serviceName字段\n - 如果用户明确提出要查询 trace信息,则需要在查询问题上question 上添加说明返回trace信息\n\n ## 查询示例\n\n - \"帮我查询下 XXX 的 trace 信息\"\n - \"分析最近一小时内响应时间超过1秒的调用链\"\n\n Args:\n ctx: MCP上下文,用于访问ARMS和SLS客户端\n user_id: 用户阿里云账号ID\n pid: 应用的PID\n region_id: 阿里云区域ID\n question: 查询调用链的自然语言问题\n\n Returns:\n 包含查询信息的字典,包括sls_query、project和log_store\n "
376422
},
377423
{
424+
"outputSchema": {
425+
"title": "arms_profile_flame_analysisOutput",
426+
"type": "object",
427+
"properties": {
428+
"result": {
429+
"title": "Result"
430+
}
431+
},
432+
"required": [
433+
"result"
434+
]
435+
},
378436
"inputSchema": {
379437
"type": "object",
380438
"title": "arms_profile_flame_analysisArguments",
@@ -432,6 +490,18 @@
432490
"description": "分析ARMS应用火焰图性能热点。\n\n ## 功能概述\n\n 当应用存在性能问题且开启持续剖析时,可以调用该工具对ARMS应用火焰图性能热点进行分析,生成分析结果。分析结果会包含火焰图的性能热点问题、优化建议等信息。\n\n ## 使用场景\n\n - 当需要分析ARMS应用火焰图性能问题时\n\n ## 查询示例\n\n - \"帮我分析下ARMS应用 XXX 的火焰图性能热点\"\n\n Args:\n ctx: MCP上下文,用于访问SLS客户端\n pid: ARMS应用监控服务PID\n startMs: 分析的开始时间,通过get_current_time工具获取毫秒级时间戳\n endMs: 分析的结束时间,通过get_current_time工具获取毫秒级时间戳\n profileType: Profile类型,用于选择需要分析的Profile指标,支持CPU热点和内存热点,如'cpu'、'memory'\n ip: ARMS应用服务主机地址,非必要参数,用于选择所在的服务机器,如有多个填写时以英文逗号\",\"分隔,如'192.168.0.1,192.168.0.2',不填写默认查询服务所在的所有IP\n thread: 服务线程名称,非必要参数,用于选择对应线程,如有多个填写时以英文逗号\",\"分隔,如'C1 CompilerThre,C2 CompilerThre',不填写默认查询服务所有线程\n threadGroup: 服务聚合线程组名称,非必要参数,用于选择对应线程组,如有多个填写时以英文逗号\",\"分隔,如'http-nio-*-exec-*,http-nio-*-ClientPoller-*',不填写默认查询服务所有聚合线程组\n regionId: 阿里云区域ID,如'cn-hangzhou'、'cn-shanghai'等\n "
433491
},
434492
{
493+
"outputSchema": {
494+
"title": "arms_diff_profile_flame_analysisOutput",
495+
"type": "object",
496+
"properties": {
497+
"result": {
498+
"title": "Result"
499+
}
500+
},
501+
"required": [
502+
"result"
503+
]
504+
},
435505
"inputSchema": {
436506
"type": "object",
437507
"title": "arms_diff_profile_flame_analysisArguments",
@@ -501,6 +571,18 @@
501571
"description": "对比两个时间段火焰图的性能变化。\n\n ## 功能概述\n\n 对应用在两个不同时间段内的性能进行分析,生成差分火焰图。通常用于发布前后或性能优化前后性能对比,帮助识别性能提升或退化。\n\n ## 使用场景\n\n - 发布前后、性能优化前后不同时间段火焰图性能对比\n\n ## 查询示例\n\n - \"帮我分析应用 XXX 在发布前后的性能变化情况\"\n\n Args:\n ctx: MCP上下文,用于访问SLS客户端\n pid: ARMS应用监控服务PID\n currentStartMs: 火焰图当前(基准)时间段的开始时间戳,通过get_current_time工具获取毫秒级时间戳\n currentEndMs: 火焰图当前(基准)时间段的结束时间戳,通过get_current_time工具获取毫秒级时间戳\n referenceStartMs: 火焰图对比时间段(参考时间段)的开始时间戳,通过get_current_time工具获取毫秒级时间戳\n referenceEndMs: 火焰图对比时间段(参考时间段)的结束时间戳,通过get_current_time工具获取毫秒级时间戳\n profileType: Profile类型,如'cpu'、'memory'\n ip: ARMS应用服务主机地址,非必要参数,用于选择所在的服务机器,如有多个填写时以英文逗号\",\"分隔,如'192.168.0.1,192.168.0.2',不填写默认查询服务所在的所有IP\n thread: 服务线程名称,非必要参数,用于选择对应线程,如有多个填写时以英文逗号\",\"分隔,如'C1 CompilerThre,C2 CompilerThre',不填写默认查询服务所有线程\n threadGroup: 服务聚合线程组名称,非必要参数,用于选择对应线程组,如有多个填写时以英文逗号\",\"分隔,如'http-nio-*-exec-*,http-nio-*-ClientPoller-*',不填写默认查询服务所有聚合线程组\n regionId: 阿里云区域ID,如'cn-hangzhou'、'cn-shanghai'等\n "
502572
},
503573
{
574+
"outputSchema": {
575+
"title": "arms_get_application_infoOutput",
576+
"type": "object",
577+
"properties": {
578+
"result": {
579+
"title": "Result"
580+
}
581+
},
582+
"required": [
583+
"result"
584+
]
585+
},
504586
"inputSchema": {
505587
"type": "object",
506588
"title": "arms_get_application_infoArguments",
@@ -522,9 +604,21 @@
522604
]
523605
},
524606
"name": "arms_get_application_info",
525-
"description": "\n 根据 PID获取具体某个应用的信息,\n ## 功能概述\n 1. 获取ARMS应用信息,会返回应用的 PID,AppName,开发语言类型比如 java,python 等\n \n ## 使用场景\n 1. 当用户明确提出要查询某个应用的信息时,可以调用该工具\n 2. 有场景需要获取应用的开发语言类型,可以调用该工具\n "
607+
"description": "\n 根据 PID获取具体某个应用的信息,\n ## 功能概述\n 1. 获取ARMS应用信息,会返回应用的 PID,AppName,开发语言类型比如 java,python 等\n\n ## 使用场景\n 1. 当用户明确提出要查询某个应用的信息时,可以调用该工具\n 2. 有场景需要获取应用的开发语言类型,可以调用该工具\n "
526608
},
527609
{
610+
"outputSchema": {
611+
"title": "arms_trace_quality_analysisOutput",
612+
"type": "object",
613+
"properties": {
614+
"result": {
615+
"title": "Result"
616+
}
617+
},
618+
"required": [
619+
"result"
620+
]
621+
},
528622
"inputSchema": {
529623
"type": "object",
530624
"title": "arms_trace_quality_analysisArguments",
@@ -561,6 +655,18 @@
561655
"description": "Trace 质量检测\n\n ## 功能概述\n 识别指定 traceId 的 Trace 是否存在完整性问题(断链)和性能问题(错慢调用)\n\n ## 使用场景\n\n - 检测调用链是否存在问题\n\n ## 查询示例\n\n - \"帮我分析调用链\"\n\n Args:\n ctx: MCP上下文,用于访问SLS客户端\n traceId: 待分析的 Trace 的 traceId,必要参数\n startMs: 分析的开始时间,通过get_current_time工具获取毫秒级时间戳\n endMs: 分析的结束时间,通过get_current_time工具获取毫秒级时间戳\n regionId: 阿里云区域ID,如'cn-hangzhou'、'cn-shanghai'等\n "
562656
},
563657
{
658+
"outputSchema": {
659+
"title": "arms_slow_trace_analysisOutput",
660+
"type": "object",
661+
"properties": {
662+
"result": {
663+
"title": "Result"
664+
}
665+
},
666+
"required": [
667+
"result"
668+
]
669+
},
564670
"inputSchema": {
565671
"type": "object",
566672
"title": "arms_slow_trace_analysisArguments",
@@ -597,6 +703,18 @@
597703
"description": "深入分析 Trace 慢调用根因\n\n ## 功能概述\n\n 针对 Trace 中的慢调用进行诊断分析,输出包含概述、根因、影响范围及解决方案的诊断报告。\n\n ## 使用场景\n\n - 性能问题定位和修复\n\n ## 查询示例\n\n - \"请分析 ${traceId} 这个 trace 慢的原因\"\n\n Args:\n ctx: MCP上下文,用于访问SLS客户端\n traceId: 待分析的Trace的 traceId,必要参数\n startMs: 分析的开始时间,通过get_current_time工具获取毫秒级时间戳\n endMs: 分析的结束时间,通过get_current_time工具获取毫秒级时间戳\n regionId: 阿里云区域ID,如'cn-hangzhou'、'cn-shanghai'等\n "
598704
},
599705
{
706+
"outputSchema": {
707+
"title": "arms_error_trace_analysisOutput",
708+
"type": "object",
709+
"properties": {
710+
"result": {
711+
"title": "Result"
712+
}
713+
},
714+
"required": [
715+
"result"
716+
]
717+
},
600718
"inputSchema": {
601719
"type": "object",
602720
"title": "arms_error_trace_analysisArguments",

0 commit comments

Comments
 (0)