Skip to main content
Glama
aliyun

Alibaba Cloud Observability MCP Server

Official
by aliyun

Alibaba Cloud Observability MCP Server (Go版)


📌 重要なお知らせ

本プロジェクトは Go言語で再構築 されました。元のPython版を使用する場合は、v1 ディレクトリにアクセスしてください:

  • 📖 v1/README.md - Python版ドキュメント

  • 📦 Python版は pip install mcp-server-aliyun-observability でインストール可能です


Alibaba Cloud Observability MCP ServerのGo言語実装であり、AIモデルに対してAlibaba Cloudのログサービス(SLS)およびクラウドモニタリング(CMS)への構造化データアクセス機能を提供します。Model Context Protocol プロトコルに基づいており、Cursor、Kiro、Cline、WindsurfなどのAIツールとシームレスに統合できます。

特徴

  • stdio、SSE、streamable-httpの3つの転送モードをサポート

  • モジュール化されたツールセットアーキテクチャ:PaaS(クラウドモニタリング 2.0)、IaaS(SLS/CMS直接アクセス)、Shared

  • 柔軟な時間式解析:相対時間、絶対タイムスタンプ、Grafanaスタイル、プリセットキーワード

  • 時系列データの比較分析:統計計算、トレンド分析、差異スコアリング

  • 構造化されたエラー処理:英語のエラー説明と解決策の提案

  • 安定性の確保:リトライ(指数バックオフ)、サーキットブレーカー、グレースフルシャットダウン

  • 構造化JSONログ(slog)

  • 単一バイナリファイル、ランタイム依存関係ゼロ

Related MCP server: Alibaba Cloud RDS OpenAPI MCP Server

クイックスタート

ダウンロードとインストール

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>

AccessKeyの取得方法:Alibaba Cloud AccessKey管理

サービスの起動

# 以 stdio 模式启动(MCP 客户端直接调用)
./alibabacloud-observability-mcp-server start --stdio

# 以网络模式启动(默认 transport 在 config.yaml 中配置)
./alibabacloud-observability-mcp-server start --config config.yaml

CLIコマンド

# 查看版本信息
./alibabacloud-observability-mcp-server version

# 列出所有已注册工具
./alibabacloud-observability-mcp-server tools

ソースからのビルド

前提条件

  • Go 1.23+

ビルド

# 克隆仓库
git clone https://github.com/aliyun/alibabacloud-observability-mcp-server.git
cd alibabacloud-observability-mcp-server

# 构建当前平台
make build

# 构建所有平台(linux/darwin/windows × amd64/arm64)
make build-all

生成されたバイナリファイルは bin/ ディレクトリにあります。

設定

設定は2層構造を採用しています:

  1. config.yaml - サーバー設定(転送モード、ログ、ネットワークなど)

  2. .env ファイルまたは環境変数 - 認証情報およびランタイムパラメータ

設定ファイル

cp config.yaml config.yaml.bak       # 备份默认配置(可选)
cp .env.example .env                  # 凭证(AccessKey)

config.yaml の検索パス:カレントディレクトリ → ./config/

.env ファイルはカレントディレクトリから読み込まれ、バージョン管理に含めるべきではない認証情報の保存に適しています。

config.yamlの構造

# 服务器配置
server:
  transport: streamable-http  # stdio, sse, streamable-http
  host: "0.0.0.0"
  port: 8080

# 日志配置
logging:
  level: info                 # debug, info, warn, error
  debug_mode: false

# 工具集配置
toolkit:
  scope: all                  # all, paas, iaas
  # 精细化工具选择(可选,非空时仅注册列表中的工具)
  # enabled_tools:
  #   - list_workspace
  #   - umodel_get_entities
  #   - sls_execute_sql

# 网络配置
network:
  max_retry: 1
  retry_wait_seconds: 1
  read_timeout_ms: 610000
  connect_timeout_ms: 30000

# 本地化配置
locale:
  timezone: Asia/Shanghai
  language: zh-CN

# 运行时默认值(可选)
# 优先级: 环境变量 > .env 文件 > config.yaml
runtime:
  region: cn-hangzhou
  # workspace: ""

# 端点覆盖(可选,用于内网访问)
# endpoints:
#   sls:
#     cn-hongkong: "cn-hongkong-intranet.log.aliyuncs.com"
#   cms:
#     cn-hongkong: "cms.cn-hongkong.aliyuncs.com"

詳細なツール選択

デフォルトでは、toolkit.scope がカテゴリごとのツール有効化を制御します(all/paas/iaas)。より詳細な制御が必要な場合は、toolkit.enabled_tools を使用して有効にするツールのリストを指定できます:

toolkit:
  scope: all
  enabled_tools:
    - list_workspace
    - list_domains
    - umodel_get_entities
    - umodel_get_metrics
    - sls_execute_sql

enabled_tools が空でない場合、リスト内のツールのみが登録され、その他のツールは使用できません。scope は引き続きどのツールキットモジュールを読み込むかを決定し、enabled_tools はその上でさらにフィルタリングを行います。

完全なツールリストとカテゴリの説明については、config.yaml 内のコメントテンプレートを参照してください。

CLI引数

引数

説明

デフォルト値

--config

設定ファイルのパスを指定

自動検索

--stdio

stdio転送モードを強制使用

false

環境変数(認証情報およびランタイムパラメータ)

環境変数

説明

必須

ALIBABA_CLOUD_ACCESS_KEY_ID

AccessKey ID

いいえ*

ALIBABA_CLOUD_ACCESS_KEY_SECRET

AccessKey Secret

いいえ*

ALIBABA_CLOUD_SECURITY_TOKEN

STS Token(一時認証情報)

いいえ

ALIBABA_CLOUD_REGION

デフォルトリージョン

いいえ

ALIBABA_CLOUD_WORKSPACE

デフォルトワークスペース(PaaSツールで必要)

いいえ

  • AccessKeyが設定されていない場合、サービスは自動的にデフォルト認証情報チェーンを使用して認証情報を取得します(ECS RAM Role、OIDC、設定ファイルなどの方式をサポート)。ECSやFunction Computeなどのクラウド環境では、AccessKeyを手動で設定する必要はありません。

認証情報の解析優先順位:CLI引数 / .env ファイル > シェル環境変数 > デフォルト認証情報チェーン。

💡 デフォルト値の自動補完

ALIBABA_CLOUD_REGION または ALIBABA_CLOUD_WORKSPACE が設定されている場合、ツール呼び出しで regionId または workspace パラメータが提供されていないと、サービスは自動的に環境変数の値を使用します。ユーザーが明示的に渡した値は上書きされません。

AIツール統合

Cursor / Kiro / Cline

streamable-httpモード(推奨):

  1. config.yaml を設定(server.transport: streamable-http を設定)

  2. サービスを起動:

./bin/alibabacloud-observability-mcp-server start
  1. mcp.json を設定:

{
  "mcpServers": {
    "alibaba_cloud_observability": {
      "url": "http://localhost:8080"
    }
  }
}

stdioモード:

  1. 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 が存在しない場合、組み込みのデフォルト値が使用されます。

ツールセット

合計33個のツールがあり、3つの階層に分かれています。

PaaSツールセット(クラウドモニタリング 2.0、推奨)

統一データモデルに基づいており、ツール名は umodel_ または cms_ で始まります。合計16個のツール。

エンティティ管理ツール

ツール

説明

主要パラメータ

umodel_get_entities

エンティティリストを取得

workspacedomainentity_set_nameregionId(必須);entity_filter(オプション)

umodel_get_neighbor_entities

エンティティの隣接関係を取得

workspacesrc_domainsrc_namesrc_entity_idsregionId(必須)

umodel_search_entities

エンティティを検索

workspacesearch_textregionId(必須)

データセット管理ツール

ツール

説明

主要パラメータ

umodel_list_data_set

データセットを一覧表示

workspacedomainentity_set_nameregionId(必須);data_set_types(オプション)

umodel_search_entity_set

エンティティセットを検索

workspacesearch_textregionId(必須)

umodel_get_entity_set

エンティティセットのスキーマ定義を取得

domainentity_set_nameworkspaceregionId(必須);detail(オプション)

umodel_list_related_entity_set

関連エンティティセットを一覧表示

workspacedomainentity_set_nameregionId(必須)

データクエリツール

ツール

説明

主要パラメータ

umodel_get_metrics

指標データをクエリ

workspacedomainentity_set_namemetric_domain_namemetricregionId(必須);analysis_mode(basic/cluster/forecast/anomaly_detection)、offset(時系列比較)、time_range(オプション)

umodel_get_golden_metrics

ゴールデン指標をクエリ

workspacedomainentity_set_nameregionId(必須);offsettime_range(オプション)

umodel_get_relation_metrics

関係指標をクエリ

workspacesrc_domainsrc_entity_set_namerelation_typedirection(in/out)、metricmetric_set_domainregionId(必須);dest_entity_set_name(オプション)

umodel_get_logs

ログデータをクエリ

workspacedomainentity_set_namelog_set_domainlog_set_nameregionId(必須);time_rangelimit(オプション)

umodel_get_events

イベントデータをクエリ

workspacedomainentity_set_nameevent_set_domainevent_set_nameregionId(必須);time_rangelimit(オプション)

umodel_get_traces

トレースデータをクエリ

workspacedomainentity_set_nametrace_set_domaintrace_set_nametrace_idsregionId(必須);time_range(オプション)

umodel_search_traces

トレースを検索

workspacedomainentity_set_nametrace_set_domaintrace_set_nameregionId(必須);conditionslimittime_range(オプション)

umodel_get_profiles

パフォーマンスプロファイルデータをクエリ

workspacedomainentity_set_nameprofile_set_domainprofile_set_nameentity_idsregionId(必須);time_rangelimit(オプション)

cms_natural_language_query

自然言語データクエリ

queryworkspaceregionId(必須);time_range(オプション)

IaaSツールセット(SLS/CMS直接アクセス)

基盤APIに直接アクセスし、ツール名は sls_ または cms_ で始まります。合計14個のツール。

SLSツール

ツール

説明

主要パラメータ

sls_list_projects

プロジェクトを一覧表示

regionId(必須);project(オプション、あいまい検索)

sls_list_logstores

ログストアを一覧表示

projectregionId(必須)

sls_text_to_sql

自然言語をSQLに変換

textprojectlogStoreregionId(必須)

sls_text_to_sql_old

自然言語をSQLに変換(旧版、Python版互換)

textprojectlogStoreregionId(必須)

sls_text_to_promql

自然言語をPromQLに変換

textprojectmetricStoreregionId(必須)

sls_text_to_spl

自然言語をSPLに変換

textprojectlogStoredata_sampleregionId(必須)

sls_execute_sql

SQLクエリを実行

projectlogStorequeryregionId(必須);from_timeto_time(オプション)

sls_execute_spl

ネイティブSPLクエリを実行

queryworkspaceregionId(必須);from_timeto_time(オプション)

sls_get_context_logs

ログコンテキストを取得

projectlogStorepack_idpack_metaregionId(必須);back_linesforward_lines(オプション)

sls_log_explore

ログ探索分析

projectlogStorelogFieldregionId(必須);from_timeto_timefilter_querygroupField(オプション)

sls_log_compare

ログ比較分析

projectlogStorelogFieldregionId(必須);test_from_timetest_to_timecontrol_from_timecontrol_to_timefilter_querygroupField(オプション)

sls_sop

SLS運用アシスタント

textregionId(必須)

CMSツール

ツール

説明

主要パラメータ

cms_execute_promql

PromQLクエリを実行

projectmetricStorequeryregionId(必須);from_timeto_time(オプション)

cms_text_to_promql

自然言語をPromQLに変換

textprojectmetricStoreregionId(必須)

Sharedツールセット

合計3個のツール。

ツール

説明

主要パラメータ

list_workspace

ワークスペースを一覧表示

regionId(必須)

list_domains

エンティティドメインを一覧表示

workspaceregionId(必須)

introduction

サービス紹介

パラメータなし

時間式

すべてのデータクエリツールは、柔軟な時間範囲フォーマットをサポートしています:

フォーマット

相対プリセット

last_5mlast_1hlast_3dlast_1wlast_1Mlast_1y

相対時間

now()-1hnow-30mnow()-7d

Grafanaスタイル

now-15m~now-5mnow/dnow-1d/d

キーワード

todayyesterday

絶対タイムスタンプ

1718451045(秒)、1718451045000(ミリ秒)

日時文字列

2024-01-01 00:00:002024-01-01T00:00:00Z

高度な機能

時系列比較分析

umodel_get_metrics および umodel_get_golden_metrics は、offset パラメータによる時系列比較をサポートしています:

# 对比当前1小时与1天前的数据
umodel_get_metrics(
    domain="apm", entity_set_name="apm.service",
    metric_domain_name="apm.metric.apm.service", metric="request_count",
    time_range="last_1h", offset="1d"
)

結果には以下が含まれます:

  • current: 現在期間の統計(max, min, avg, count)

  • compare: 比較期間の統計

  • diff: 変化分析(trend, avg_change, avg_change_percent)

  • diff_score: 差異スコアリング(0-1、大きいほど差異が顕著)

高度な分析モード

umodel_get_metrics は4つの分析モードをサポートしています:

モード

説明

出力フィールド

basic

生の時系列データ(デフォルト)

__ts__, __value__, __labels__

cluster

K-Means時系列クラスタリング

__cluster_index__, __entities__, __sample_value__

forecast

時系列予測(1-5日の履歴データが必要)

__forecast_ts__, __forecast_value__, __forecast_lower/upper_value__

anomaly_detection

異常検知(1-3日のデータが必要)

__anomaly_list_, __anomaly_msg__, __value_min/max/avg__

プロジェクト構造

├── cmd/server/          # CLI 入口(cobra)
├── pkg/
│   ├── client/          # SLS/CMS 客户端封装
│   ├── config/          # 配置管理(viper + sync.Once)
│   ├── endpoint/        # 端点解析
│   ├── errors/          # 结构化错误与错误码映射
│   ├── logger/          # 结构化日志(slog)
│   ├── server/          # MCP Server 核心(传输层、生命周期、健康检查)
│   ├── stability/       # 重试与熔断器
│   ├── timeparse/       # 时间表达式解析
│   └── toolkit/         # 工具集接口与注册中心
│       ├── paas/        # PaaS 工具集(umodel_*、cms_natural_language_query)
│       ├── iaas/        # IaaS 工具集(sls_*、cms_execute_promql、cms_text_to_promql)
│       └── shared/      # Shared 工具集(list_workspace、list_domains、introduction)
├── v1/                  # Python 版本(历史参考)
├── Makefile
├── go.mod
└── go.sum

開発

# 构建
make build

# 运行测试
make test

# 代码检查
make lint

# 清理构建产物
make clean

テスト

プロジェクトは、ユニットテスト + プロパティベーステスト + 回帰テストの3トラック戦略を採用しています:

  • ユニットテスト:テーブル駆動テスト、具体的な例と境界条件をカバー

  • プロパティベーステスト:gopter を使用し、すべての入力にわたる一般的な正当性プロパティを検証

  • 回帰テスト:統合テスト(//go:build integration)、Python版とのパラメータの一貫性を比較、実際のAlibaba Cloud認証情報が必要

# 运行所有单元测试
go test ./... -v

# 仅运行属性测试
go test ./... -run TestProperty_

# 运行回归测试(需要配置环境变量)
ALIBABA_CLOUD_ACCESS_KEY_ID=xxx \
ALIBABA_CLOUD_ACCESS_KEY_SECRET=xxx \
ALIBABA_CLOUD_REGION=cn-hongkong \
ALIBABA_CLOUD_WORKSPACE=xxx \
go test -tags=integration ./pkg/toolkit/... -v

AIエージェント開発規約

docs/AGENTS.md を参照してください。プロジェクト構造の説明、コードスタイルの規約、新しいツールの追加フロー、テスト規約などが含まれています。

権限要件

MCP ServerがAlibaba Cloudの可観測性リソースに正常にアクセスおよび操作できるようにするには、以下の権限を設定する必要があります:

Alibaba Cloudアクセスキー (AccessKey)

  • サービスの実行には有効なAlibaba Cloud認証情報が必要です。以下の方式をサポートしています(優先順位順):

    1. AccessKey ID + AccessKey Secret(.env ファイル、環境変数、またはCLI引数で渡す)

    2. STS一時認証情報(ALIBABA_CLOUD_SECURITY_TOKEN 環境変数を設定)

    3. デフォルト認証情報チェーンによる自動検出(ECS RAM Role、OIDC、認証情報ファイルなど)

  • AccessKeyの取得と管理については、Alibaba Cloud AccessKey管理公式ドキュメントを参照してください。

RAM認可

AccessKeyに関連付けられたRAMユーザーまたはロールには、関連するクラウドサービスへのアクセスに必要な権限を付与する必要があります

「最小権限の原則」に従うことを強く推奨します:使用する予定のMCPツールを実行するために必要な最小限の権限セットのみを付与してください。

使用するツールに応じて、以下のドキュメントを参照して権限を設定してください:

サービス

権限ドキュメント

説明

ログサービス (SLS)

SLS権限説明

sls_* ツールで必要

アプリケーションリアルタイム監視 (ARMS)

ARMS権限説明

umodel_* ツールで必要

クラウドモニタリング (CMS)

CMS権限説明

cms_* ツールで必要

特別な権限の説明

  • SQL生成系ツール(sls_text_to_sql など)を使用するには、個別に sls:CallAiTools 権限を付与する必要があります

  • 自然言語クエリ機能(cms_natural_language_query)を使用するには、cms:CreateChatcms:CreateThreadcms:GetThreadcms:ListThreads を付与する必要があります

セキュリティに関する推奨事項

  • サービスはAccessKeyを保存せず、実行時のAPI呼び出しにのみ使用します

  • SSE/HTTPモードでは、必ずアクセスポイントのアクセス制御を自身で行ってください

  • 内部ネットワークまたはVPC内にデプロイし、パブリックインターネットへの直接公開を避けることを推奨します

  • 認証なしでAccessKeyが設定されたサーバーエンドポイントをパブリックインターネットに公開しないでください

  • Alibaba Cloud Function Compute (FC) を使用してデプロイし、VPC内からのアクセスのみに制限することを推奨します

ライセンス

本プロジェクトは、元のPython版と同じライセンス契約に従います。

Install Server
A
security – no known vulnerabilities
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aliyun/alibabacloud-observability-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server