Skip to main content

aliyun observability mcp server

Project description

阿里云可观测MCP服务

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

简介

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

目前提供的 MCP 工具以阿里云日志服务为主,其他产品会陆续支持,工具详细如下:

版本记录

可以查看 CHANGELOG.md

常见问题

可以查看 FAQ.md

场景举例
  • 场景一: 快速查询某个 logstore 相关结构

    • 使用工具:
      • sls_list_logstores
      • sls_describe_logstore image
  • 场景二: 模糊查询最近一天某个 logstore下面访问量最高的应用是什么

    • 分析:
      • 需要判断 logstore 是否存在
      • 获取 logstore 相关结构
      • 根据要求生成查询语句(对于语句用户可确认修改)
      • 执行查询语句
      • 根据查询结果生成响应
    • 使用工具:
      • sls_list_logstores
      • sls_describe_logstore
      • sls_translate_natural_language_to_query
      • sls_execute_query image
  • 场景三: 查询 ARMS 某个应用下面响应最慢的几条 Trace

    • 分析:
      • 需要判断应用是否存在
      • 获取应用相关结构
      • 根据要求生成查询语句(对于语句用户可确认修改)
      • 执行查询语句
      • 根据查询结果生成响应
    • 使用工具:
      • arms_search_apps
      • arms_generate_trace_query
      • sls_translate_natural_language_to_query
      • sls_execute_query image

权限要求

为了确保 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 权限说明,并授予必要的查询权限。
    • 请根据您的实际应用场景,精细化配置所需权限。

安全与部署建议

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

  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. 安装之后,直接运行即可,运行命令如下:
python -m mcp_server_aliyun_observability --transport sse --access-key-id <your_access_key_id> --access-key-secret <your_access_key_secret>

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

  • --transport 指定传输方式,可选值为 ssestdio,默认值为 stdio
  • --access-key-id 指定阿里云 AccessKeyId,不指定时会使用环境变量中的ALIBABA_CLOUD_ACCESS_KEY_ID
  • --access-key-secret 指定阿里云 AccessKeySecret,不指定时会使用环境变量中的ALIBABA_CLOUD_ACCESS_KEY_SECRET
  • --log-level 指定日志级别,可选值为 DEBUGINFOWARNINGERROR,默认值为 INFO
  • --transport-port 指定传输端口,默认值为 8000,仅当 --transportsse 时有效
  1. 使用uv 命令启动 可以指定下版本号,会自动拉取对应依赖,默认是 studio 方式启动
uvx --from 'mcp-server-aliyun-observability==0.2.1' mcp-server-aliyun-observability 
  1. 使用 uvx 命令启动
uvx 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 等集成

  1. 使用 SSE 启动方式
{
  "mcpServers": {
    "alibaba_cloud_observability": {
      "url": "http://localhost:7897/sse"
        }
  }
}
  1. 使用 stdio 启动方式 直接从源码目录启动,注意
    1. 需要指定 --directory 参数,指定源码目录,最好是绝对路径
    2. 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>"
      }
    }
  }
}
  1. 使用 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集成

image

image

Cursor集成

image

image

image

ChatWise集成

image

image

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-0.2.2.tar.gz (16.2 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-0.2.2-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for mcp_server_aliyun_observability-0.2.2.tar.gz
Algorithm Hash digest
SHA256 32ceff9f66afaeea3cbfca22a12d041a68794a8780b909c6b049fcf188973b55
MD5 2f85becb02b670dfc87dd7bb4ed4504a
BLAKE2b-256 8178163a29151ffaf39c43fcdd13d1d321ac8fbc1cb95c3e6ea1a68d7a97734f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mcp_server_aliyun_observability-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3770467392476e25184a8242e3171797b254e5b8f2bdc52f797e8e597bd6c005
MD5 431396abd1bfdaff2601eedfc71f2ade
BLAKE2b-256 3aebe20e5ae0f153a83c5b946345cc95d50ad8ea85ecd89da2985cf2b5cbd8f8

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