Skip to main content

aliyun observability mcp server

Project description

分支变动说明:master 已使用 1.x.x ;原 master 全量历史和代码已迁移到 0.3.x 分支,后续如需沿用旧版本,请在 0.3.x 上继续迭代。1.x 版本基于可观测 2.0 做了较大功能升级,工具形态与 0.3.x 有明显差异。详情见文末《0.3.x 与 1.x.x 工具差异对照》。后续我们将持续基于 1.x.x 版本维护和演进,感谢理解与支持。

什么是 Observable MCP Server

Observable MCP Server 是阿里云可观测官方推出的一个 MCP 服务,旨在为用户提供一整套的可观测 AI 交互能力,支持自然语言形式的多模态数据的访问和分析。可以与 Cursor、Cline、Windsurf 以及各类 Agent 框架无缝集成,使得企业人员可以更高效率和可靠地使用可观测数据。

MCP 是如何工作的

MCP(Model Context Protocol)为 AI 模型和开发环境之间建立统一的上下文交互标准,使模型可以在安全受控的前提下访问实时的领域知识。Observable MCP Server 通过这一协议,将自然语言需求映射为标准化工具调用,再透明地调度底层的日志、链路、指标等可观测产品接口,让智能体无需额外适配即可获取结构化结果。

Observable MCP Server 现已支持日志服务 SLS、应用实时监控服务 ARMS、云监控 CloudMonitor、Prometheus 监控等多款产品的查询与分析能力,并持续扩展更多可观测服务。

Observable MCP Server 的优势

  1. 多源数据协同:一次接入即可同时查询 SLS、ARMS、CloudMonitor、Prometheus 等多款可观测产品的数据,统一呈现日志、指标与链路视角。
  2. 自然语言驱动:无需手写查询语句,支持通过自然语言直接检索日志、链路、指标等信息,并返回结构化答案。
  3. 企业级安全:基于阿里云 AccessKey 认证机制,服务端不额外采集数据,对每个工具的输入输出进行严格校验,保障数据安全可控。

阿里云可观测MCP服务

中文自述文件 英文自述文件

简介

阿里云可观测 MCP服务,提供了一系列访问阿里云可观测各产品的工具能力,覆盖产品包含阿里云日志服务SLS、阿里云应用实时监控服务ARMS、阿里云云监控等,任意支持 MCP 协议的智能体助手都可快速接入。

工具架构

项目采用模块化架构,提供四个主要工具集:

  • PaaS工具集(可观测2.0,推荐):包含 umodel 系列工具,提供统一数据模型的现代化可观测性能力
    • entity: 实体发现和管理 (3个工具)
    • dataset: 数据集和元数据管理 (3个工具)
    • data: 各类数据查询,支持metrics、logs、events、traces、profiles (8个工具)
  • IaaS工具集(V1兼容):传统SLS、CMS原生API工具,保持向后兼容 (7个工具)
  • Shared工具集:跨服务共享工具,如workspace和domain管理 (3个工具)

📚 详细的工具组合推荐请参考最佳工具组合推荐文档

版本记录

可以查看 CHANGELOG.md

常见问题

可以查看 FAQ.md

工具列表

PaaS工具集(可观测2.0)

实体管理工具 (entity)
工具名称 用途 关键参数 最佳实践
umodel_get_entities 获取指定实体集的实体列表 workspace:工作空间名称(必需)
domain:实体域(必需)
entity_set_name:实体类型(必需)
regionId:阿里云区域ID(必需)
- 用于探索可用的实体资源
- 支持精确查询指定实体
umodel_get_neighbor_entities 获取实体的邻居节点 workspace:工作空间名称(必需)
domain:实体域(必需)
entity_set_name:实体类型(必需)
entity_ids:实体ID列表(必需)
regionId:阿里云区域ID(必需)
- 探索服务依赖关系
- 构建拓扑图
umodel_search_entities 搜索匹配条件的实体 workspace:工作空间名称(必需)
domain:实体域(必需)
entity_set_name:实体类型(必需)
search_conditions:搜索条件
regionId:阿里云区域ID(必需)
- 支持复杂查询条件
- 灵活实体发现
数据集管理工具 (dataset)
工具名称 用途 关键参数 最佳实践
umodel_list_data_set 列出指定类型的数据集 workspace:工作空间名称(必需)
domain:实体域(必需)
entity_set_name:实体类型(必需)
data_set_types:数据集类型(可选)
regionId:阿里云区域ID(必需)
- 发现可用的数据集
- 了解数据结构和字段
umodel_search_entity_set 搜索实体集 workspace:工作空间名称(必需)
search_text:搜索关键词(必需)
regionId:阿里云区域ID(必需)
- 通过关键词发现实体集
- 支持模糊搜索
umodel_list_related_entity_set 列出相关联的实体集 workspace:工作空间名称(必需)
domain:实体域(必需)
entity_set_name:实体类型(必需)
regionId:阿里云区域ID(必需)
- 了解实体集间的关联关系
- 探索数据依赖
数据查询工具 (data)
工具名称 用途 关键参数 最佳实践
umodel_get_metrics 获取实体的时序指标数据,支持高级分析模式 workspace:工作空间名称(必需)
domain:实体域(必需)
entity_set_name:实体类型(必需)
metric_domain_name:指标域名称(必需)
metric:指标名称(必需)
analysis_mode:分析模式(可选,默认basic)
forecast_duration:预测时长(可选)
regionId:阿里云区域ID(必需)
- 支持range/instant查询
- basic: 原始时序数据
- cluster: K-Means聚类分析
- forecast: 时序预测(1-5天学习)
- anomaly_detection: 异常检测(1-3天学习)
umodel_get_golden_metrics 获取黄金指标数据 workspace:工作空间名称(必需)
domain:实体域(必需)
entity_set_name:实体类型(必需)
regionId:阿里云区域ID(必需)
- 快速获取关键性能指标
- 包含延迟、吞吐量、错误率等
umodel_get_relation_metrics 获取实体间关系级别的指标 workspace:工作空间名称(必需)
src_domain:源实体域(必需)
src_entity_set_name:源实体类型(必需)
src_entity_ids:源实体ID列表(必需)
relation_type:关系类型(必需)
direction:关系方向(必需)
regionId:阿里云区域ID(必需)
- 分析微服务调用关系
- 支持服务依赖分析
umodel_get_logs 获取实体相关的日志数据 workspace:工作空间名称(必需)
domain:实体域(必需)
entity_set_name:实体类型(必需)
log_set_name:日志集名称(必需)
log_set_domain:日志集域(必需)
regionId:阿里云区域ID(必需)
- 用于故障诊断
- 支持性能分析
umodel_get_events 获取实体的事件数据 workspace:工作空间名称(必需)
domain:实体域(必需)
entity_set_name:实体类型(必需)
event_set_domain:事件集域(必需)
event_set_name:事件集名称(必需)
regionId:阿里云区域ID(必需)
- 用于异常事件分析
- 支持告警事件追踪
umodel_get_traces 获取指定trace ID的详细数据,包含独占耗时 workspace:工作空间名称(必需)
domain:实体域(必需)
entity_set_name:实体类型(必需)
trace_set_domain:链路集域(必需)
trace_set_name:链路集名称(必需)
trace_ids:链路ID列表(必需)
regionId:阿里云区域ID(必需)
- 深入分析调用链
- 包含 exclusive_duration_ms 独占耗时
- 按独占耗时排序定位瓶颈
umodel_search_traces 基于条件搜索调用链 workspace:工作空间名称(必需)
domain:实体域(必需)
entity_set_name:实体类型(必需)
trace_set_domain:链路集域(必需)
trace_set_name:链路集名称(必需)
regionId:阿里云区域ID(必需)
- 支持按持续时间、错误状态过滤
- 返回链路摘要信息
umodel_get_profiles 获取性能剖析数据 workspace:工作空间名称(必需)
domain:实体域(必需)
entity_set_name:实体类型(必需)
profile_set_domain:性能剖析集域(必需)
profile_set_name:性能剖析集名称(必需)
entity_ids:实体ID列表(必需)
regionId:阿里云区域ID(必需)
- 用于性能瓶颈分析
- 包含CPU、内存使用情况

Shared工具集(共享工具)

工作空间和域管理
工具名称 用途 关键参数 最佳实践
introduction 获取服务介绍和使用说明 无需参数 - 首次接入时了解服务能力
- 作为 LLM Agent 的自我介绍工具
list_workspace 获取可用工作空间列表 regionId:阿里云区域ID(必需) - 在使用其他工具前先获取工作空间
- 支持跨区域工作空间查询
list_domains 获取工作空间中的所有实体域 workspace:工作空间名称(必需)
regionId:阿里云区域ID(必需)
- 在查询实体前先了解可用的域
- 了解数据分类情况

IaaS工具集(V1兼容)

SLS和CMS原生API工具
工具名称 用途 关键参数 最佳实践
cms_text_to_promql 将自然语言转换为PromQL查询 text:自然语言问题(必需)
project:项目名称(必需)
metricStore:指标存储名称(必需)
regionId:阿里云区域ID(必需)
- 智能生成PromQL语句
- 简化查询操作
sls_text_to_sql 将自然语言转换为SQL查询 text:自然语言问题(必需)
project:SLS项目名称(必需)
logStore:日志存储名称(必需)
regionId:阿里云区域ID(必需)
- 智能生成SLS SQL查询
- 支持自然语言交互
sls_execute_sql 执行SLS SQL查询 project:SLS项目名称(必需)
logStore:日志存储名称(必需)
query:SQL查询语句(必需)
from_time:查询开始时间(必需)
to_time:查询结束时间(必需)
limit:返回最大日志条数,1-100,默认10(可选)
offset:查询开始行,用于分页,默认0(可选)
reverse:是否按时间戳降序返回,默认False(可选)
regionId:阿里云区域ID(必需)
- 直接执行SQL查询
- 使用适当时间范围优化性能
- 支持分页查询获取更多日志
cms_execute_promql 执行PromQL查询 project:项目名称(必需)
metricStore:指标存储名称(必需)
query:PromQL查询语句(必需)
start_time:查询开始时间(必需)
end_time:查询结束时间(必需)
regionId:阿里云区域ID(必需)
- 查询云监控指标数据
- 支持标准PromQL语法
sls_list_projects 列出SLS项目 projectName:项目名称(可选,模糊搜索)
regionId:阿里云区域ID(必需)
- 发现可用的SLS项目
- 支持模糊搜索
sls_execute_spl 执行原生SPL查询 query:SPL查询语句(必需)
regionId:阿里云区域ID(必需)
- 执行复杂的SLS查询
- 支持高级分析功能
sls_list_logstores 列出指定项目的日志存储 project:SLS项目名称(必需)
regionId:阿里云区域ID(必需)
- 发现项目中的日志存储
- 了解数据分布

权限要求

为了确保 MCP Server 能够成功访问和操作您的阿里云可观测性资源,您需要配置以下权限:

  1. 阿里云访问密钥 (AccessKey)

  2. 当你初始化时候不传入 AccessKey 和 AccessKey Secret 时,会使用默认凭据链进行登录

    1. 如果环境变量 中的ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET均存在且非空,则使用它们作为默认凭据。
    2. 如果同时设置了ALIBABA_CLOUD_ACCESS_KEY_ID、ALIBABA_CLOUD_ACCESS_KEY_SECRET和ALIBABA_CLOUD_SECURITY_TOKEN,则使用STS Token作为默认凭据。
  3. RAM 授权 (重要)

    • 与 AccessKey 关联的 RAM 用户或角色必须被授予访问相关云服务所需的权限。
    • 强烈建议遵循"最小权限原则":仅授予运行您计划使用的 MCP 工具所必需的最小权限集,以降低安全风险。
    • 根据您需要使用的工具,参考以下文档进行权限配置:
      • 日志服务 (SLS):如果您需要使用 sls_* 相关工具,请参考 日志服务权限说明,并授予必要的读取、查询等权限。
      • 应用实时监控服务 (ARMS):如果您需要使用 arms_* 相关工具,请参考 ARMS 权限说明,并授予必要的查询权限。
    • 特殊权限说明,如果使用了SQL生成之类的工具,需要单独授予sls:CallAiTools的权限
    • 请根据您的实际应用场景,精细化配置所需权限。

安全与部署建议

请务必关注以下安全事项和部署最佳实践:

  1. 密钥安全

    • 本 MCP Server 在运行时会使用您提供的 AccessKey 调用阿里云 OpenAPI,但不会以任何形式存储您的 AccessKey,也不会将其用于设计功能之外的任何其他用途。
  2. 访问控制 (关键)

    • 当您选择通过 SSE (Server-Sent Events) 协议 访问 MCP Server 时,您必须自行负责该服务接入点的访问控制和安全防护
    • 强烈建议将 MCP Server 部署在内部网络或受信环境中,例如您的私有 VPC (Virtual Private Cloud) 内,避免直接暴露于公共互联网。
    • 推荐的部署方式是使用阿里云函数计算 (FC),并配置其网络设置为仅 VPC 内访问,以实现网络层面的隔离和安全。
    • 注意切勿在没有任何身份验证或访问控制机制的情况下,将配置了您 AccessKey 的 MCP Server SSE 端点暴露在公共互联网上,这会带来极高的安全风险。

使用说明

在使用 MCP Server 之前,需要先获取阿里云的 AccessKeyId 和 AccessKeySecret,请参考 阿里云 AccessKey 管理

使用 pip 安装

⚠️ 需要 Python 3.10 及以上版本。

直接使用 pip 安装即可,安装命令如下:

# 安装(包含所有功能和依赖)
pip install mcp-server-aliyun-observability
  1. 安装之后,直接运行即可,运行命令如下:
# 默认使用streamableHttp方式启动
python -m mcp_server_aliyun_observability

# 指定访问密钥启动
python -m mcp_server_aliyun_observability --access-key-id <your_access_key_id> --access-key-secret <your_access_key_secret>

# 使用SSE方式启动(用于远程访问)
python -m mcp_server_aliyun_observability --transport sse --transport-port 8000 --host 0.0.0.0

可通过命令行传递指定参数:

  • --transport 指定传输方式,可选值为 stdiossestreamable-http,默认值为 streamable-http
  • --access-key-id 指定阿里云 AccessKeyId,不指定时会使用环境变量中的ALIBABA_CLOUD_ACCESS_KEY_ID
  • --access-key-secret 指定阿里云 AccessKeySecret,不指定时会使用环境变量中的ALIBABA_CLOUD_ACCESS_KEY_SECRET
  • --sls-endpoints 覆盖 SLS 端点映射,格式 REGION=HOST,可用逗号/空格分隔多个区域,如 --sls-endpoints "cn-shanghai=cn-hangzhou.log.aliyuncs.com"
  • --cms-endpoints 覆盖 CMS 端点映射,格式同上,例如 --cms-endpoints "cn-shanghai=cms.internal.aliyuncs.com"
  • --scope 指定工具范围,可选值为 paasiaasall,默认值为 all
  • --log-level 指定日志级别,可选值为 DEBUGINFOWARNINGERROR,默认值为 INFO
  • --transport-port 指定传输端口,默认值为 8080,仅当 --transportssestreamable-http 时有效

使用 uvx 安装运行

# 使用 uvx 直接运行最新版本
uvx mcp-server-aliyun-observability

# 指定版本运行
uvx --from 'mcp-server-aliyun-observability==1.0.0' mcp-server-aliyun-observability

从源码安装

# clone 源码
git clone git@github.com:aliyun/alibabacloud-observability-mcp-server.git
# 进入源码目录
cd alibabacloud-observability-mcp-server
# 安装
pip install -e .
# 运行
python -m mcp_server_aliyun_observability

Transport 选择指南

MCP服务器支持三种传输协议,选择合适的协议取决于您的使用场景:

Transport类型 适用场景 优势 限制
streamableHttp 生产环境、Web应用(推荐) - 现代HTTP流式协议
- 性能优异
- 生产级稳定性
- 需要网络配置
stdio 本地开发、命令行工具 - 最简单的集成方式
- 无网络配置要求
- 直接进程间通信
- 仅限本地使用
- 无法多客户端同时访问
sse (Server-Sent Events) Web应用、远程访问 - 支持远程连接
- 基于标准HTTP协议
- 支持多客户端
- 需要维护长连接
- 性能较streamableHttp略低

💡 推荐使用: 生产环境和Web应用使用 streamableHttp(默认),本地开发使用 stdio,特殊场景使用 sse

AI 工具集成

Cursor,Cline 等集成

推荐方式:使用 streamableHttp(默认)

python -m mcp_server_aliyun_observability
{
  "mcpServers": {
    "alibaba_cloud_observability": {
      "url": "http://localhost:8000"
    }
  }
}

使用 uvx 启动方式

{
  "mcpServers": {
    "alibaba_cloud_observability": {
      "command": "uvx",
      "args": [
        "mcp-server-aliyun-observability"
      ],
      "env": {
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "<your_access_key_id>",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "<your_access_key_secret>"
      }
    }
  }
}

使用 stdio 启动方式(本地开发)

{
  "mcpServers": {
    "alibaba_cloud_observability": {
      "command": "uvx",
      "args": [
        "mcp-server-aliyun-observability",
        "--transport",
        "stdio"
      ],
      "env": {
        "ALIBABA_CLOUD_ACCESS_KEY_ID": "<your_access_key_id>",
        "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "<your_access_key_secret>"
      }
    }
  }
}

Cherry Studio集成

image

image

Cursor集成

image

image

image

ChatWise集成

image

image

0.3.x 与 1.x.x 工具差异对照

1.x 基于可观测 2.0 做了大规模升级:日志/指标/事件/链路等能力以 UModel 结构化接口为主(umodel_*),并补充了少量 IaaS 直连工具。下表汇总了新增、替换/重命名和移除的能力,便于从 0.3.x 迁移。

替换 / 重命名

0.3.x 工具 1.x.x 对应 变化类型 说明
sls_translate_text_to_sql_query sls_text_to_sql 重命名 依然用于将自然语言生成 SLS 查询语句。
sls_execute_sql_query sls_execute_sql 重命名 执行 SLS 查询,参数名与时间解析方式调整。
cms_translate_text_to_promql cms_text_to_promql 重命名 生成 PromQL 查询文本。
cms_execute_promql_query cms_execute_promql 重命名 执行 PromQL,底层改为通过 SLS metricstore 包装执行。
sls_list_projects sls_list_projects 保留/增强 保留,增加参数校验与提示。
sls_list_logstores sls_list_logstores 保留/增强 保留,支持指标库筛选等参数。

新增(1.x.x 独有)

新工具 能力说明
sls_execute_spl 直接执行 SPL 查询(高级用法)。
list_workspace / list_domains / introduction 工作空间/域发现与服务自述。
umodel_get_entities / umodel_get_neighbor_entities / umodel_search_entities 实体发现与邻居查询。
umodel_list_data_set / umodel_search_entity_set / umodel_list_related_entity_set 数据集枚举、实体集搜索及关联关系发现。
umodel_get_metrics / umodel_get_golden_metrics / umodel_get_relation_metrics 指标与关系级指标查询。umodel_get_metrics 支持高级分析模式:cluster(聚类)、forecast(预测)、anomaly_detection(异常检测)。
umodel_get_logs / umodel_get_events 日志、事件查询。
umodel_get_traces / umodel_search_traces 链路明细与搜索。
umodel_get_profiles 性能剖析数据查询。

移除 / 暂不提供

0.3.x 工具 状态 说明
sls_describe_logstore 移除 1.x 以 UModel 元数据与 umodel_list_data_set 为主,不再暴露 describe 接口。
sls_diagnose_query 移除 未在 1.x 保留。
arms_* 系列(arms_search_appsarms_generate_trace_queryarms_profile_flame_analysisarms_diff_profile_flame_analysisarms_get_application_infoarms_trace_quality_analysisarms_slow_trace_analysisarms_error_trace_analysis 移除 1.x 聚焦可观测 2.0 数据模型,未提供 ARMS 专用工具。
sls_get_regions / sls_get_current_time 移除 通用工具未在 1.x 延续。

迁移建议:优先改用 umodel_* 系列获取实体、数据集与指标/日志/事件/链路;仅在需要直接操作 SLS/CMS 时使用 IaaS 工具(sls_*cms_*)。***

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_server_aliyun_observability-1.0.5.tar.gz (67.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_server_aliyun_observability-1.0.5-py3-none-any.whl (68.1 kB view details)

Uploaded Python 3

File details

Details for the file mcp_server_aliyun_observability-1.0.5.tar.gz.

File metadata

File hashes

Hashes for mcp_server_aliyun_observability-1.0.5.tar.gz
Algorithm Hash digest
SHA256 88ea1c1694343501f83f15939819b9828c5c3b007529ea6fd433cba2db6091b1
MD5 1aef9776654e47737425aba740eafc8a
BLAKE2b-256 d30a815f2755dc662ff9752639bfefccfbc6c76f43bb4db06c8db6ff54d2fc0e

See more details on using hashes here.

File details

Details for the file mcp_server_aliyun_observability-1.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_server_aliyun_observability-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0f1a58e4e39eb596866f2fe4693c001d017f72fb0f7becbd550d6de69625cc83
MD5 38f44613c0c8a34eca34187aeadf1870
BLAKE2b-256 8db065effeec84dc131804de94131fc05fcc7d7d4243747b2810c40199888b82

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page