Alibaba Cloud Observability MCP Server
OfficialAlibaba 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.yamlCLIコマンド
# 查看版本信息
./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層構造を採用しています:
config.yaml- サーバー設定(転送モード、ログ、ネットワークなど).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_sqlenabled_tools が空でない場合、リスト内のツールのみが登録され、その他のツールは使用できません。scope は引き続きどのツールキットモジュールを読み込むかを決定し、enabled_tools はその上でさらにフィルタリングを行います。
完全なツールリストとカテゴリの説明については、config.yaml 内のコメントテンプレートを参照してください。
CLI引数
引数 | 説明 | デフォルト値 |
| 設定ファイルのパスを指定 | 自動検索 |
| stdio転送モードを強制使用 | false |
環境変数(認証情報およびランタイムパラメータ)
環境変数 | 説明 | 必須 |
| AccessKey ID | いいえ* |
| AccessKey Secret | いいえ* |
| STS Token(一時認証情報) | いいえ |
| デフォルトリージョン | いいえ |
| デフォルトワークスペース(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モード(推奨):
config.yamlを設定(server.transport: streamable-httpを設定)サービスを起動:
./bin/alibabacloud-observability-mcp-server startmcp.jsonを設定:
{
"mcpServers": {
"alibaba_cloud_observability": {
"url": "http://localhost:8080"
}
}
}stdioモード:
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個のツール。
エンティティ管理ツール
ツール | 説明 | 主要パラメータ |
| エンティティリストを取得 |
|
| エンティティの隣接関係を取得 |
|
| エンティティを検索 |
|
データセット管理ツール
ツール | 説明 | 主要パラメータ |
| データセットを一覧表示 |
|
| エンティティセットを検索 |
|
| エンティティセットのスキーマ定義を取得 |
|
| 関連エンティティセットを一覧表示 |
|
データクエリツール
ツール | 説明 | 主要パラメータ |
| 指標データをクエリ |
|
| ゴールデン指標をクエリ |
|
| 関係指標をクエリ |
|
| ログデータをクエリ |
|
| イベントデータをクエリ |
|
| トレースデータをクエリ |
|
| トレースを検索 |
|
| パフォーマンスプロファイルデータをクエリ |
|
| 自然言語データクエリ |
|
IaaSツールセット(SLS/CMS直接アクセス)
基盤APIに直接アクセスし、ツール名は sls_ または cms_ で始まります。合計14個のツール。
SLSツール
ツール | 説明 | 主要パラメータ |
| プロジェクトを一覧表示 |
|
| ログストアを一覧表示 |
|
| 自然言語をSQLに変換 |
|
| 自然言語をSQLに変換(旧版、Python版互換) |
|
| 自然言語をPromQLに変換 |
|
| 自然言語をSPLに変換 |
|
| SQLクエリを実行 |
|
| ネイティブSPLクエリを実行 |
|
| ログコンテキストを取得 |
|
| ログ探索分析 |
|
| ログ比較分析 |
|
| SLS運用アシスタント |
|
CMSツール
ツール | 説明 | 主要パラメータ |
| PromQLクエリを実行 |
|
| 自然言語をPromQLに変換 |
|
Sharedツールセット
合計3個のツール。
ツール | 説明 | 主要パラメータ |
| ワークスペースを一覧表示 |
|
| エンティティドメインを一覧表示 |
|
| サービス紹介 | パラメータなし |
時間式
すべてのデータクエリツールは、柔軟な時間範囲フォーマットをサポートしています:
フォーマット | 例 |
相対プリセット |
|
相対時間 |
|
Grafanaスタイル |
|
キーワード |
|
絶対タイムスタンプ |
|
日時文字列 |
|
高度な機能
時系列比較分析
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つの分析モードをサポートしています:
モード | 説明 | 出力フィールド |
| 生の時系列データ(デフォルト) |
|
| K-Means時系列クラスタリング |
|
| 時系列予測(1-5日の履歴データが必要) |
|
| 異常検知(1-3日のデータが必要) |
|
プロジェクト構造
├── 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/... -vAIエージェント開発規約
docs/AGENTS.md を参照してください。プロジェクト構造の説明、コードスタイルの規約、新しいツールの追加フロー、テスト規約などが含まれています。
権限要件
MCP ServerがAlibaba Cloudの可観測性リソースに正常にアクセスおよび操作できるようにするには、以下の権限を設定する必要があります:
Alibaba Cloudアクセスキー (AccessKey)
サービスの実行には有効なAlibaba Cloud認証情報が必要です。以下の方式をサポートしています(優先順位順):
AccessKey ID + AccessKey Secret(
.envファイル、環境変数、またはCLI引数で渡す)STS一時認証情報(
ALIBABA_CLOUD_SECURITY_TOKEN環境変数を設定)デフォルト認証情報チェーンによる自動検出(ECS RAM Role、OIDC、認証情報ファイルなど)
AccessKeyの取得と管理については、Alibaba Cloud AccessKey管理公式ドキュメントを参照してください。
RAM認可
AccessKeyに関連付けられたRAMユーザーまたはロールには、関連するクラウドサービスへのアクセスに必要な権限を付与する必要があります。
「最小権限の原則」に従うことを強く推奨します:使用する予定のMCPツールを実行するために必要な最小限の権限セットのみを付与してください。
使用するツールに応じて、以下のドキュメントを参照して権限を設定してください:
サービス | 権限ドキュメント | 説明 |
ログサービス (SLS) |
| |
アプリケーションリアルタイム監視 (ARMS) |
| |
クラウドモニタリング (CMS) |
|
特別な権限の説明:
SQL生成系ツール(
sls_text_to_sqlなど)を使用するには、個別にsls:CallAiTools権限を付与する必要があります自然言語クエリ機能(
cms_natural_language_query)を使用するには、cms:CreateChat、cms:CreateThread、cms:GetThread、cms:ListThreadsを付与する必要があります
セキュリティに関する推奨事項
サービスはAccessKeyを保存せず、実行時のAPI呼び出しにのみ使用します
SSE/HTTPモードでは、必ずアクセスポイントのアクセス制御を自身で行ってください
内部ネットワークまたはVPC内にデプロイし、パブリックインターネットへの直接公開を避けることを推奨します
認証なしでAccessKeyが設定されたサーバーエンドポイントをパブリックインターネットに公開しないでください
Alibaba Cloud Function Compute (FC) を使用してデプロイし、VPC内からのアクセスのみに制限することを推奨します
ライセンス
本プロジェクトは、元のPython版と同じライセンス契約に従います。
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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