
Alibaba Cloud Observability MCP Server
Provides tools for accessing Alibaba Cloud observability products including SLS (Log Service) and ARMS (Application Real-time Monitoring Service), allowing any MCP-compatible AI assistants to quickly interact with these services.
Tools
sls_list_projects
列出阿里云日志服务中的所有项目。 ## 功能概述 该工具可以列出指定区域中的所有SLS项目,支持通过项目名进行模糊搜索。如果不提供项目名称,则返回该区域的所有项目。 ## 使用场景 - 当需要查找特定项目是否存在时 - 当需要获取某个区域下所有可用的SLS项目列表时 - 当需要根据项目名称的部分内容查找相关项目时 ## 返回数据结构 返回的项目信息包含: - project_name: 项目名称 - description: 项目描述 - region_id: 项目所在区域 ## 查询示例 - "有没有叫 XXX 的 project" - "列出所有SLS项目" Args: ctx: MCP上下文,用于访问SLS客户端 project_name_query: 项目名称查询字符串,支持模糊搜索 limit: 返回结果的最大数量,范围1-100,默认10 region_id: 阿里云区域ID,region id format like "xx-xxx",like "cn-hangzhou" Returns: 包含项目信息的字典列表,每个字典包含project_name、description和region_id
sls_list_logstores
列出SLS项目中的日志库。 ## 功能概述 该工具可以列出指定SLS项目中的所有日志库,如果不选,则默认为日志库类型 支持通过日志库名称进行模糊搜索。如果不提供日志库名称,则返回项目中的所有日志库。 ## 使用场景 - 当需要查找特定项目下是否存在某个日志库时 - 当需要获取项目中所有可用的日志库列表时 - 当需要根据日志库名称的部分内容查找相关日志库时 ## 是否指标库 如果需要查找指标或者时序相关的库,请将is_metric_store参数设置为True ## 查询示例 - "我想查询有没有 XXX 的日志库" - "某个 project 有哪些 log store" Args: ctx: MCP上下文,用于访问SLS客户端 project: SLS项目名称,必须精确匹配 log_store: 日志库名称,支持模糊搜索 limit: 返回结果的最大数量,范围1-100,默认10 is_metric_store: 是否指标库,可选值为True或False,默认为False region_id: 阿里云区域ID Returns: 日志库名称的字符串列表
sls_describe_logstore
获取SLS日志库的结构信息。 ## 功能概述 该工具用于获取指定SLS项目中日志库的索引信息和结构定义,包括字段类型、别名、是否大小写敏感等信息。 ## 使用场景 - 当需要了解日志库的字段结构时 - 当需要获取日志库的索引配置信息时 - 当构建查询语句前需要了解可用字段时 - 当需要分析日志数据结构时 ## 返回数据结构 返回一个字典,键为字段名,值包含以下信息: - alias: 字段别名 - sensitive: 是否大小写敏感 - type: 字段类型 - json_keys: JSON字段的子字段信息 ## 查询示例 - "我想查询 XXX 的日志库的 schema" - "我想查询 XXX 的日志库的 index" - "我想查询 XXX 的日志库的结构信息" Args: ctx: MCP上下文,用于访问SLS客户端 project: SLS项目名称,必须精确匹配 log_store: SLS日志库名称,必须精确匹配 region_id: 阿里云区域ID Returns: 包含日志库结构信息的字典
arms_generate_trace_query
生成ARMS应用的调用链查询语句。 ## 功能概述 该工具用于将自然语言描述转换为ARMS调用链查询语句,便于分析应用性能和问题。 ## 使用场景 - 当需要查询应用的调用链信息时 - 当需要分析应用性能问题时 - 当需要跟踪特定请求的执行路径时 - 当需要分析服务间调用关系时 ## 查询处理 工具会将自然语言问题转换为SLS查询,并返回: - 生成的SLS查询语句 - 存储调用链数据的项目名 - 存储调用链数据的日志库名 ## 查询上下文 查询会考虑以下信息: - 应用的PID - 响应时间以纳秒存储,需转换为毫秒 - 数据以span记录存储,查询耗时需要对符合条件的span进行求和 - 服务相关信息使用serviceName字段 - 如果用户明确提出要查询 trace信息,则需要在查询问题上question 上添加说明返回trace信息 ## 查询示例 - "帮我查询下 XXX 的 trace 信息" - "分析最近一小时内响应时间超过1秒的调用链" Args: ctx: MCP上下文,用于访问ARMS和SLS客户端 user_id: 用户阿里云账号ID pid: 应用的PID region_id: 阿里云区域ID question: 查询调用链的自然语言问题 Returns: 包含查询信息的字典,包括sls_query、project和log_store
sls_execute_query
执行SLS日志查询。 ## 功能概述 该工具用于在指定的SLS项目和日志库上执行查询语句,并返回查询结果。查询将在指定的时间范围内执行。 ## 使用场景 - 当需要根据特定条件查询日志数据时 - 当需要分析特定时间范围内的日志信息时 - 当需要检索日志中的特定事件或错误时 - 当需要统计日志数据的聚合信息时 ## 查询语法 查询必须使用SLS有效的查询语法,而非自然语言。如果不了解日志库的结构,可以先使用sls_describe_logstore工具获取索引信息。 ## 时间范围 查询必须指定时间范围: - from_timestamp: 开始时间戳(秒) - to_timestamp: 结束时间戳(秒) ## 查询示例 - "帮我查询下 XXX 的日志信息" - "查找最近一小时内的错误日志" ## 错误处理 - Column xxx can not be resolved 如果是 sls_translate_natural_language_to_query 工具生成的查询语句 可能存在查询列未开启统计,可以提示用户增加相对应的信息,或者调用 sls_describe_logstore 工具获取索引信息之后,要用户选择正确的字段或者提示用户对列开启统计。当确定列开启统计之后,可以再次调用sls_translate_natural_language_to_query 工具生成查询语句 Args: ctx: MCP上下文,用于访问SLS客户端 project: SLS项目名称 log_store: SLS日志库名称 query: SLS查询语句 from_timestamp: 查询开始时间戳(秒) to_timestamp: 查询结束时间戳(秒) limit: 返回结果的最大数量,范围1-100,默认10 region_id: 阿里云区域ID Returns: 查询结果列表,每个元素为一条日志记录
sls_translate_natural_language_to_query
将自然语言转换为SLS查询语句。 ## 功能概述 该工具可以将自然语言描述转换为有效的SLS查询语句,便于用户使用自然语言表达查询需求。 ## 使用场景 - 当用户不熟悉SLS查询语法时 - 当需要快速构建复杂查询时 - 当需要从自然语言描述中提取查询意图时 ## 使用限制 - 仅支持生成SLS查询,不支持其他数据库的SQL如MySQL、PostgreSQL等 - 生成的是查询语句,而非查询结果,需要配合sls_execute_query工具使用 - 如果查询涉及ARMS应用,应优先使用arms_generate_trace_query工具 - 需要对应的 log_sotre 已经设定了索引信息,如果生成的结果里面有字段没有索引或者开启统计,可能会导致查询失败,需要友好的提示用户增加相对应的索引信息 ## 最佳实践 - 提供清晰简洁的自然语言描述 - 不要在描述中包含项目或日志库名称 - 如有需要,指定查询的时间范围 - 首次生成的查询可能不完全符合要求,可能需要多次尝试 ## 查询示例 - "帮我生成下 XXX 的日志查询语句" - "查找最近一小时内的错误日志" Args: ctx: MCP上下文,用于访问SLS客户端 text: 用于生成查询的自然语言文本 project: SLS项目名称 log_store: SLS日志库名称 region_id: 阿里云区域ID Returns: 生成的SLS查询语句
sls_diagnose_query
诊断SLS查询语句。 ## 功能概述 当 SLS 查询语句执行失败时,可以调用该工具,根据错误信息,生成诊断结果。诊断结果会包含查询语句的正确性、性能分析、优化建议等信息。 ## 使用场景 - 当需要诊断SLS查询语句的正确性时 - 当 SQL 执行错误需要查找原因时 ## 查询示例 - "帮我诊断下 XXX 的日志查询语句" - "帮我分析下 XXX 的日志查询语句" Args: ctx: MCP上下文,用于访问SLS客户端 query: SLS查询语句 error_message: 错误信息 project: SLS项目名称 log_store: SLS日志库名称 region_id: 阿里云区域ID
sls_get_current_time
获取当前时间信息。 ## 功能概述 该工具用于获取当前的时间戳和格式化的时间字符串,便于在执行SLS查询时指定时间范围。 ## 使用场景 - 当需要获取当前时间以设置查询的结束时间 - 当需要获取当前时间戳进行时间计算 - 在构建查询时间范围时使用当前时间作为参考点 ## 返回数据格式 返回包含两个字段的字典: - current_time: 格式化的时间字符串 (YYYY-MM-DD HH:MM:SS) - current_timestamp: 整数形式的Unix时间戳(秒) Args: ctx: MCP上下文 Returns: 包含当前时间信息的字典
arms_search_apps
搜索ARMS应用。 ## 功能概述 该工具用于根据应用名称搜索ARMS应用,返回应用的基本信息,包括应用名称、PID、用户ID和类型。 ## 使用场景 - 当需要查找特定名称的应用时 - 当需要获取应用的PID以便进行其他ARMS操作时 - 当需要检查用户拥有的应用列表时 ## 搜索条件 - app_name_query必须是应用名称的一部分,而非自然语言 - 搜索结果将分页返回,可以指定页码和每页大小 ## 返回数据结构 返回一个字典,包含以下信息: - total: 符合条件的应用总数 - page_size: 每页大小 - page_number: 当前页码 - trace_apps: 应用列表,每个应用包含app_name、pid、user_id和type ## 查询示例 - "帮我查询下 XXX 的应用" - "找出名称包含'service'的应用" Args: ctx: MCP上下文,用于访问ARMS客户端 app_name_query: 应用名称查询字符串 region_id: 阿里云区域ID page_size: 每页大小,范围1-100,默认20 page_number: 页码,默认1 Returns: 包含应用信息的字典
README
阿里云可观测MCP服务
<p align="center"> <a href="./README.md"><img alt="中文自述文件" src="https://img.shields.io/badge/简体中文-d9d9d9""></a> <a href="./README_EN.md"><img alt="英文自述文件" src="https://img.shields.io/badge/English-d9d9d9") </p>
简介
阿里云可观测 MCP服务,提供了一系列访问阿里云可观测各产品的工具能力,覆盖产品包含阿里云日志服务SLS、阿里云应用实时监控服务ARMS、阿里云云监控等,任意支持 MCP 协议的智能体助手都可快速接入。支持的产品如下:
目前提供的 MCP 工具以阿里云日志服务为主,其他产品会陆续支持,工具详细如下:
版本记录
可以查看 版本记录
场景举例
-
场景一: 快速查询某个 logstore 相关结构
- 使用工具:
sls_list_logstores
sls_describe_logstore
- 使用工具:
-
场景二: 模糊查询最近一天某个 logstore下面访问量最高的应用是什么
- 分析:
- 需要判断 logstore 是否存在
- 获取 logstore 相关结构
- 根据要求生成查询语句(对于语句用户可确认修改)
- 执行查询语句
- 根据查询结果生成响应
- 使用工具:
sls_list_logstores
sls_describe_logstore
sls_translate_natural_language_to_query
sls_execute_query
- 分析:
-
场景三: 查询 ARMS 某个应用下面响应最慢的几条 Trace
- 分析:
- 需要判断应用是否存在
- 获取应用相关结构
- 根据要求生成查询语句(对于语句用户可确认修改)
- 执行查询语句
- 根据查询结果生成响应
- 使用工具:
arms_search_apps
arms_generate_trace_query
sls_translate_natural_language_to_query
sls_execute_query
- 分析:
权限要求
为了确保 MCP Server 能够成功访问和操作您的阿里云可观测性资源,您需要配置以下权限:
-
阿里云访问密钥 (AccessKey):
- 服务运行需要有效的阿里云 AccessKey ID 和 AccessKey Secret。
- 获取和管理 AccessKey,请参考 阿里云 AccessKey 管理官方文档。
-
当你初始化时候不传入 AccessKey 和 AccessKey Secret 时,会使用默认凭据链进行登录
- 如果环境变量 中的ALIBABA_CLOUD_ACCESS_KEY_ID 和 ALIBABA_CLOUD_ACCESS_KEY_SECRET均存在且非空,则使用它们作为默认凭据。
- 如果同时设置了ALIBABA_CLOUD_ACCESS_KEY_ID、ALIBABA_CLOUD_ACCESS_KEY_SECRET和ALIBABA_CLOUD_SECURITY_TOKEN,则使用STS Token作为默认凭据。
-
RAM 授权 (重要):
安全与部署建议
请务必关注以下安全事项和部署最佳实践:
-
密钥安全:
- 本 MCP Server 在运行时会使用您提供的 AccessKey 调用阿里云 OpenAPI,但不会以任何形式存储您的 AccessKey,也不会将其用于设计功能之外的任何其他用途。
-
访问控制 (关键):
- 当您选择通过 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
- 安装之后,直接运行即可,运行命令如下:
python -m mcp_server_aliyun_observability --transport sse --access-key-id <your_access_key_id> --access-key-secret <your_access_key_secret>
可通过命令行传递指定参数:
--transport
指定传输方式,可选值为sse
或stdio
,默认值为stdio
--access-key-id
指定阿里云 AccessKeyId,不指定时会使用环境变量中的ALIBABA_CLOUD_ACCESS_KEY_ID--access-key-secret
指定阿里云 AccessKeySecret,不指定时会使用环境变量中的ALIBABA_CLOUD_ACCESS_KEY_SECRET--log-level
指定日志级别,可选值为DEBUG
、INFO
、WARNING
、ERROR
,默认值为INFO
--transport-port
指定传输端口,默认值为8000
,仅当--transport
为sse
时有效
- 使用uv 命令启动
uv run 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 sse --access-key-id <your_access_key_id> --access-key-secret <your_access_key_secret>
AI 工具集成
以 SSE 启动方式为例,transport 端口为 8888,实际使用时需要根据实际情况修改
Cursor,Cline 等集成
- 使用 SSE 启动方式
{
"mcpServers": {
"alibaba_cloud_observability": {
"url": "http://localhost:7897/sse"
}
}
}
- 使用 stdio 启动方式
直接从源码目录启动,注意
- 需要指定
--directory
参数,指定源码目录,最好是绝对路径 - uv命令 最好也使用绝对路径,如果使用了虚拟环境,则需要使用虚拟环境的绝对路径
- 需要指定
{
"mcpServers": {
"alibaba_cloud_observability": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/alibabacloud-observability-mcp-server",
"run",
"mcp-server-aliyun-observability"
],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "<your_access_key_id>",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "<your_access_key_secret>"
}
}
}
}
- 使用 stdio 启动方式-从 module 启动
{
"mcpServers": {
"alibaba_cloud_observability": {
"command": "uv",
"args": [
"run",
"mcp-server-aliyun-observability"
],
"env": {
"ALIBABA_CLOUD_ACCESS_KEY_ID": "<your_access_key_id>",
"ALIBABA_CLOUD_ACCESS_KEY_SECRET": "<your_access_key_secret>"
}
}
}
}
Cherry Studio集成
Cursor集成
ChatWise集成
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.