Cover image
Alibababacloud-observability-MCP-Server
Private

Alibababacloud-observability-MCP-Server

Try Now
2025-04-14

3 years

Works with Finder

5

Github Watches

2

Github Forks

5

Github Stars

阿里云可观测MCP服务

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

简介

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

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

版本记录

可以查看 版本记录

场景举例
  • 场景一: 快速查询某个 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 命令启动
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 等集成

  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

相关推荐

  • av
  • 毫不费力地使用一个命令运行LLM后端,API,前端和服务。

  • 1Panel-dev
  • 🔥1Panel提供了直观的Web接口和MCP服务器,用于在Linux服务器上管理网站,文件,容器,数据库和LLMS。

  • WangRongsheng
  • 🧑‍🚀 llm 资料总结(数据处理、模型训练、模型部署、 o1 模型、mcp 、小语言模型、视觉语言模型)|摘要世界上最好的LLM资源。

  • rulego
  • ⛓️Rulego是一种轻巧,高性能,嵌入式,下一代组件编排规则引擎框架。

  • sigoden
  • 使用普通的bash/javascript/python函数轻松创建LLM工具和代理。

  • RockChinQ
  • 😎简单易用、🧩丰富生态 -大模型原生即时通信机器人平台| 适配QQ / 微信(企业微信、个人微信) /飞书 /钉钉 / discord / telegram / slack等平台| 支持chatgpt,deepseek,dify,claude,基于LLM的即时消息机器人平台,支持Discord,Telegram,微信,Lark,Dingtalk,QQ,Slack

  • hkr04
  • 轻巧的C ++ MCP(模型上下文协议)SDK

  • dmayboroda
  • 带有可配置容器的本地对话抹布

  • modelscope
  • 开始以更轻松的方式开始构建具有LLM授权的多代理应用程序。

  • evilsocket
  • 简单的代理开发套件。

    Reviews

    5 (0)