MCP(Model Context Protocol)是大模型和开发环境之间建立统一上下文交互标准化接口的协议,使模型可以在安全受控的前提下访问实时的领域知识。Observable MCP Server 旨在为用户提供一整套的可观测 AI 交互能力,支持自然语言形式的多模态数据的访问和分析。可以与 Cursor、Cline、Windsurf 以及各类 Agent 框架无缝集成,使得企业人员可以更高效率和可靠地使用可观测数据。
本项目已使用 Go 语言重构,提供单一二进制文件、零运行时依赖的部署体验。如需使用原 Python 版本,请访问V1 。
Observable MCP Server 的优势
多源数据协同:一次接入即可同时查询日志服务 SLS、应用实时监控服务 ARMS、云监控 CloudMonitor、Prometheus 监控等多款可观测产品的数据,统一呈现日志、指标与链路视角。
自然语言驱动:无需手写查询语句,支持通过自然语言直接检索日志、链路、指标等信息,并返回结构化答案。
企业级安全:基于阿里云 AccessKey 认证机制,服务端不额外采集数据,对每个工具的输入输出进行严格校验,保障数据安全可控。
单一二进制部署:Go 编译产物为单一可执行文件,无需安装运行时环境,支持 Linux/macOS/Windows 多平台。
稳定性保障:内置重试(指数退避)、熔断器、优雅关闭等机制,适合生产环境使用。
付费功能说明
Observable MCP Server 中的部分 AI 智能工具后端调用了阿里云 STAROps(智能运维平台)的接口,这些工具在使用时会产生费用。
付费工具列表
以下工具属于 AI 智能工具,每次调用均会创建一次 STAROps AI 对话会话并产生费用:
工具名称 | 功能 | 说明 |
| 自然语言转 SQL 查询语句 | 将用户的自然语言问题转换为可直接执行的 SLS SQL |
| 自然语言转 SPL 查询语句 | 将用户的自然语言问题转换为 SPL 语句并执行 |
| SLS 智能运维助手 | 基于 AI 对话为用户提供日志服务的运维建议 |
| 自然语言数据查询 | 通过 DataAgent 以自然语言直接查询可观测数据 |
费用说明
付费工具通过阿里云 STAROps 智能运维平台计费,具体计费详情查看 计费说明。
如不需要 AI 转换能力,可在
config.yaml的enabled_tools中精确控制启用的工具列表,仅保留免费工具,避免产生意外扣费。toolkit: scope: all enabled_tools: - sls_list_projects - sls_list_logstores - sls_execute_sql - sls_execute_spl - cms_execute_promql # ... 按需添加其他免费工具
如何接入
步骤一:权限配置
服务运行需要有效的阿里云 AccessKey ID 和 AccessKey Secret,可通过 创建AccessKey获取。
若使用RAM用户则需要注意:
与 AccessKey 关联的 RAM 用户或角色必须被授予访问相关云服务所需的权限。
请遵循"最小权限原则":仅授予计划使用的 MCP 工具所需最小权限集,以降低安全风险。
重要Observable MCP Server 在运行时会使用您提供的 AccessKey 调用阿里云 OpenAPI,但不会以任何形式存储 AccessKey,也不会将其用于设计功能之外的任何其他用途。
步骤二:安装 MCP 服务
此处提供两种安装方式,请按需要选择。强烈建议将 MCP Server 部署在内部网络或受信环境中,例如私有 VPC (Virtual Private Cloud) 内,避免直接暴露于公共互联网。推荐使用阿里云函数计算 (FC)部署,并配置其网络设置为仅 VPC 内访问,以实现网络层面的隔离和安全。
下载预编译二进制文件
从 Releases 页面下载对应平台的二进制文件:
# Linux amd64
wget https://github.com/aliyun/alibabacloud-observability-mcp-server/releases/latest/download/alibabacloud-observability-mcp-server-linux-amd64.tar.gz
tar -xzf alibabacloud-observability-mcp-server-linux-amd64.tar.gz
# macOS arm64 (M1/M2)
wget https://github.com/aliyun/alibabacloud-observability-mcp-server/releases/latest/download/alibabacloud-observability-mcp-server-darwin-arm64.tar.gz
tar -xzf alibabacloud-observability-mcp-server-darwin-arm64.tar.gz解压后包含:
alibabacloud-observability-mcp-server— 可执行文件config.yaml— 默认配置文件
配置凭证后即可启动:
# 设置阿里云 AccessKey
export ALIBABA_CLOUD_ACCESS_KEY_ID=<YOUR_ACCESS_KEY_ID>
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<YOUR_ACCESS_KEY_SECRET>
# 以 stdio 方式启动(适用于 Cursor/Kiro/Cline 等本地集成)
./alibabacloud-observability-mcp-server start --stdio
# 以 SSE 或 streamable-http 方式启动(由 config.yaml 中 server.transport 决定)
./alibabacloud-observability-mcp-server start --config config.yaml克隆源码构建
需要 Go 1.22 及以上版本。
# clone 源码
git clone https://github.com/aliyun/alibabacloud-observability-mcp-server.git
# 进入源码目录
cd alibabacloud-observability-mcp-server
# 构建当前平台
make build
# 启动服务(以 stdio 方式)
./bin/alibabacloud-observability-mcp-server start --stdio
# 启动服务(以 SSE/streamable-http 方式,需要 config.yaml)
./bin/alibabacloud-observability-mcp-server start --config config.yaml构建所有平台的二进制文件命令:
# 构建 Linux/macOS/Windows 全平台
make build-all生成的二进制文件位于 bin/ 目录。
配置说明
配置采用两层结构:
config.yaml— 服务器配置(传输模式、日志、网络、工具集等)。.env文件或环境变量 — 凭证和运行时参数(AccessKey 等敏感信息)。
config.yaml 结构
config.yaml 搜索路径:当前目录 → ./config/ 目录。stdio 模式下如果 config.yaml 不存在,将使用内置默认值。
# 服务器配置
server:
transport: streamable-http # stdio, sse, streamable-http
host: "0.0.0.0"
port: 8180
# 日志配置
logging:
level: info # debug, info, warn, error
debug_mode: false
# 工具集配置
toolkit:
scope: all # all, paas, iaas
# 精细化工具选择(可选)
# 当 enabled_tools 非空时,仅注册列表中的工具(scope 仍决定加载哪些 toolkit)。
# 取消注释需要的工具即可启用,其余保持注释状态。
# enabled_tools:
# ## ── Shared 工具(通用) ──
# - introduction # 获取服务介绍信息
# - list_workspace # 列出可用工作空间
# - list_domains # 列出工作空间中的实体域
# 网络配置
network:
max_retry: 1
retry_wait_seconds: 1
read_timeout_ms: 610000
connect_timeout_ms: 30000
# 本地化配置
locale:
timezone: Asia/Shanghai
language: zh-CN
# 端点覆盖配置(可选,用于内网访问或自定义端点)
# endpoints:
# sls:
# cn-hangzhou: "cn-hangzhou-intranet.log.aliyuncs.com"
# cms:
# cn-hangzhou: "cms.cn-hangzhou.aliyuncs.com"配置项说明
配置项 | 含义 | 选项 |
| 指定传输方式。 | 可选值为 |
| 监听地址(仅 sse/streamable-http 模式)。 | 默认值为 |
| 监听端口(仅 sse/streamable-http 模式)。 | 默认值为 |
| 日志级别。 | 可选值为 |
| 调试模式,输出完整请求/响应。 | 默认值为 |
| 指定要启用的工具。 | 可选值为 |
| 精细化工具选择(可选)。当该列表非空时,仅注册列表中指定的工具, | 默认为空(注册 |
| 最大重试次数。 | 默认值为 |
| 读取超时(毫秒)。 | 默认值为 |
| 连接超时(毫秒)。 | 默认值为 |
| 时区(用于时间解析)。 | 默认值为 |
| 语言(用于错误消息等)。 | 默认值为 |
.env环境变量(凭证和运行时参数)
凭证优先从 .env 文件读取,如未找到则从 shell 环境变量读取。
环境变量 | 含义 | 必需 |
| 阿里云 AccessKey ID。 | 是 |
| 阿里云 AccessKey Secret。 | 是 |
| STS Token(临时凭证,可选)。 | 否 |
| 默认区域。 | 否 |
| 默认工作空间(PaaS 工具需要)。 | 否 |
切勿在没有任何身份验证或访问控制机制的情况下,将配置了您 AccessKey 的 MCP Server SSE/HTTP 端点暴露在公共互联网上,这会带来极高的安全风险。
初始化时不传入 AccessKey 和 AccessKey Secret 时,会使用访问凭证:
若环境变量设置了 ALIBABA_CLOUD_SECURITY_TOKEN,则使用 STS Token 作为默认凭据。
若环境变量未设置 ALIBABA_CLOUD_SECURITY_TOKEN,则判断 ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET 均存在且非空,则使用它们作为默认凭据。
CLI 命令
命令 | 含义 | 参数 |
| 启动 MCP 服务。 |
|
| 显示版本信息。 | 无。 |
| 列出所有已注册的 MCP 工具。 | 无。 |
使用 MCP 服务示例
查询拥有的Projects
运行 MCP 服务后使用自然语言向大模型提问,进行Projects列表的查询。
通过调用 MCP Server 提供的工具sls_list_projects进行数据查询,实现多源数据协同。

列出云监控可用指标
使用自然语言向大模型提问"列出云监控命名空间下的可用指标",通过调用 MCP Server 提供的工具
cms_list_metrics、cms_list_namespaces等进行数据查询,返回指定命名空间下的可用监控指标列表。
查询实体实例数据
使用自然语言向大模型提问"想查询具体的实体实例数据",通过调用 MCP Server 提供的工具
umodel_get_entities、umodel_get_metrics、umodel_list_data_set等进行数据查询,返回实体的详细实例数据。
AI 工具集成配置
Cursor / Kiro / Cline(streamable-http 模式,推荐)
配置
config.yaml(设置server.transport: streamable-http)。启动服务:
./alibabacloud-observability-mcp-server start --config config.yaml。在 AI 工具中配置
mcp.json:
{
"mcpServers": {
"alibaba_cloud_observability": {
"url": "http://localhost:8180/streamhttp"
}
}
}Cursor / Kiro / Cline(stdio 模式)
在 AI 工具中配置 mcp.json:
{
"mcpServers": {
"alibaba_cloud_observability": {
"command": "./bin/alibabacloud-observability-mcp-server",
"args": ["start", "--stdio"],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY_ID>",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "<YOUR_ACCESS_KEY_SECRET>"
}
}
}
}stdio 模式下,如果 config.yaml 不存在,将使用内置默认值。相关参考
支持的工具列表参考
MCP 工具列表更新较为频繁,具体支持工具列表以最新版本为准。可通过 ./alibabacloud-observability-mcp-server tools 命令查看当前已注册的所有工具。