云监控 2.0 MCP 服务接入

MCP(Model Context Protocol)是大模型和开发环境之间建立统一上下文交互标准化接口的协议,使模型可以在安全受控的前提下访问实时的领域知识。Observable MCP Server 是云监控2.0的 MCP 服务,旨在为用户提供一整套的可观测 AI 交互能力,支持自然语言形式的多模态数据的访问和分析。可以与 Cursor、Cline、Windsurf 以及各类 Agent 框架无缝集成,使得企业人员可以更高效率和可靠地使用可观测数据。

Observable MCP Server 的优势

  1. 多源数据协同:一次接入即可同时查询日志服务 SLS、应用实时监控服务 ARMS、云监控 CloudMonitor、Prometheus 监控等多款可观测产品的数据,统一呈现日志、指标与链路视角。

  2. 自然语言驱动:无需手写查询语句,支持通过自然语言直接检索日志、链路、指标等信息,并返回结构化答案。

  3. 企业级安全:基于阿里云 AccessKey 认证机制,服务端不额外采集数据,对每个工具的输入输出进行严格校验,保障数据安全可控。

如何接入

步骤一:权限配置

  1. 服务运行需要有效的阿里云 AccessKey ID 和 AccessKey Secret,可通过 创建AccessKey获取。

  2. 若使用RAM用户则需要注意:

    • 与 AccessKey 关联的 RAM 用户或角色必须被授予访问相关云服务所需的权限。

    • 请遵循"最小权限原则":仅授予计划使用的 MCP 工具所需最小权限集,以降低安全风险。

重要

Observable MCP Server 在运行时会使用您提供的 AccessKey 调用阿里云 OpenAPI,但不会以任何形式存储 AccessKey,也不会将其用于设计功能之外的任何其他用途。

步骤二:安装 MCP 服务

此处提供三种安装方式,请按需要选择。强烈建议将 MCP Server 部署在内部网络或受信环境中,例如私有 VPC (Virtual Private Cloud) 内,避免直接暴露于公共互联网。推荐使用阿里云函数计算 (FC)部署,并配置其网络设置为仅 VPC 内访问,以实现网络层面的隔离和安全。

使用 pip 安装

⚠️ 需要 Python 3.10 及以上版本。
  1. 直接使用 pip 安装即可,安装命令如下:

    # 安装最新版本(包含所有功能和依赖) ,若指定版本安装,请使用1.0.0+以上版本,才具备云监控 2.0 的功能
    pip install mcp-server-aliyun-observability
  2. 安装之后,直接运行即可,可在如下命令中选择需要的运行命令执行:

    # 默认使用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

使用 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

指定传输方式。

可选值为 stdiossestreamableHttp,默认值为 streamableHttp

  • streamableHttp :适用场景为生产环境、Web应用(推荐)。

    • 优势:现代HTTP流式协议,性能优异,生产级稳定性。

    • 限制:需要网络配置。

  • stdio:适用场景为本地开发、命令行工具。

    • 优势:最简单的集成方式,无网络配置要求,直接进程间通信。

    • 限制:仅限本地使用,无法多客户端同时访问。

  • sse (Server-Sent Events):适用场景为Web应用、远程访问、特殊场景。

    • 优势:支持远程连接,基于标准HTTP协议,支持多客户端。

    • 限制:需要维护长连接,性能较streamableHttp略低,必须自行负责该服务接入点的访问控制和安全防护。

--access-key-id

指定阿里云 AccessKeyId,不指定时会使用环境变量中的ALIBABA_CLOUD_ACCESS_KEY_ID。

重要

切勿在没有任何身份验证或访问控制机制的情况下,将配置了您 AccessKey 的 MCP Server SSE 端点暴露在公共互联网上,这会带来极高的安全风险。

初始化时不传入 AccessKey 和 AccessKey Secret 时,会使用默认凭据链

  1. 若环境变量设置了 ALIBABA_CLOUD_SECURITY_TOKEN,则使用 STS Token 作为默认凭据。

  2. 若环境变量未设置 ALIBABA_CLOUD_SECURITY_TOKEN,则判断 ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET均存在且非空,则使用它们作为默认凭据。

--access-key-secret

指定阿里云 AccessKeySecret,不指定时会使用环境变量中的ALIBABA_CLOUD_ACCESS_KEY_SECRET。

--toolkits

指定要启用的工具包,用逗号分隔。

paas,iaas,Agentall 启用所有(默认为 all)。

--log-level

指定日志级别。

可选值为 DEBUGINFOWARNINGERROR,默认值为 INFO

--transport-port

指定传输端口。

默认值为 8000,仅当 --transportsse 时有效。

使用 MCP 服务示例

查询拥有的Projects

  1. 运行 MCP 服务后使用自然语言向大模型提问,进行Projects列表的查询。image

  2. 通过调用 MCP Server 提供的工具sls_list_projects进行数据查询,实现多源数据协同。image

工作空间实体查询

  1. 运行 MCP 服务后使用自然语言向大模型提问,进行任意workspace下实体列表的查询,通过调用 MCP Server 提供的工具list_workspace,list_domains,umodel_search_entity_set等进行数据查询。image

查询实体相关数据

  1. 运行 MCP 服务后使用自然语言向大模型提问,进行任意实体中相关数据的查询。image

  2. 通过调用 MCP Server 提供的工具umodel_list_data_set,umodel_get_metrics等进行数据查询。image

相关参考

支持的工具列表参考

说明

MCP 工具列表更新较为频繁,具体支持工具列表以最新 SDK 为准。

PaaS工具

实体管理工具 (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:指标名称(必需)

regionId:阿里云区域ID(必需)

- 支持range/instant查询

- 可指定时间范围和聚合方式

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(必需)

- 深入分析调用链

- 包含完整span信息

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工具集(共享工具)

工作空间和域管理

工具名称

用途

关键参数

最佳实践

list_workspace

获取可用工作空间列表

regionId:阿里云区域ID(必需)

- 在使用其他工具前先获取工作空间

- 支持跨区域工作空间查询

list_domains

获取工作空间中的所有实体域

workspace:工作空间名称(必需)

regionId:阿里云区域ID(必需)

- 在查询实体前先了解可用的域

- 了解数据分类情况