vmware-aria 1.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. vmware_aria-1.3.0/.gitignore +19 -0
  2. vmware_aria-1.3.0/Dockerfile +13 -0
  3. vmware_aria-1.3.0/PKG-INFO +165 -0
  4. vmware_aria-1.3.0/README-CN.md +137 -0
  5. vmware_aria-1.3.0/README.md +145 -0
  6. vmware_aria-1.3.0/RELEASE_NOTES.md +55 -0
  7. vmware_aria-1.3.0/config.example.yaml +23 -0
  8. vmware_aria-1.3.0/docker-compose.yml +8 -0
  9. vmware_aria-1.3.0/examples/mcp-configs/claude-code.json +10 -0
  10. vmware_aria-1.3.0/examples/mcp-configs/cursor.json +11 -0
  11. vmware_aria-1.3.0/examples/mcp-configs/goose.json +11 -0
  12. vmware_aria-1.3.0/mcp_server/__init__.py +0 -0
  13. vmware_aria-1.3.0/mcp_server/__main__.py +5 -0
  14. vmware_aria-1.3.0/mcp_server/server.py +441 -0
  15. vmware_aria-1.3.0/pyproject.toml +38 -0
  16. vmware_aria-1.3.0/server.json +21 -0
  17. vmware_aria-1.3.0/skills/vmware-aria/SKILL.md +224 -0
  18. vmware_aria-1.3.0/skills/vmware-aria/references/capabilities.md +94 -0
  19. vmware_aria-1.3.0/skills/vmware-aria/references/cli-reference.md +299 -0
  20. vmware_aria-1.3.0/skills/vmware-aria/references/setup-guide.md +237 -0
  21. vmware_aria-1.3.0/tests/__init__.py +0 -0
  22. vmware_aria-1.3.0/tests/test_config.py +200 -0
  23. vmware_aria-1.3.0/vmware_aria/__init__.py +3 -0
  24. vmware_aria-1.3.0/vmware_aria/cli.py +479 -0
  25. vmware_aria-1.3.0/vmware_aria/config.py +123 -0
  26. vmware_aria-1.3.0/vmware_aria/connection.py +195 -0
  27. vmware_aria-1.3.0/vmware_aria/doctor.py +142 -0
  28. vmware_aria-1.3.0/vmware_aria/notify/__init__.py +0 -0
  29. vmware_aria-1.3.0/vmware_aria/notify/audit.py +91 -0
  30. vmware_aria-1.3.0/vmware_aria/ops/__init__.py +0 -0
  31. vmware_aria-1.3.0/vmware_aria/ops/alerts.py +294 -0
  32. vmware_aria-1.3.0/vmware_aria/ops/anomaly.py +115 -0
  33. vmware_aria-1.3.0/vmware_aria/ops/capacity.py +184 -0
  34. vmware_aria-1.3.0/vmware_aria/ops/health.py +108 -0
  35. vmware_aria-1.3.0/vmware_aria/ops/resources.py +283 -0
@@ -0,0 +1,19 @@
1
+ __pycache__/
2
+ *.py[cod]
3
+ *$py.class
4
+ *.so
5
+ .Python
6
+ build/
7
+ dist/
8
+ *.egg-info/
9
+ .eggs/
10
+ .env
11
+ .venv/
12
+ venv/
13
+ env/
14
+ .pytest_cache/
15
+ .ruff_cache/
16
+ .mypy_cache/
17
+ *.log
18
+ *.sqlite3
19
+ .DS_Store
@@ -0,0 +1,13 @@
1
+ FROM python:3.12-slim
2
+
3
+ WORKDIR /app
4
+
5
+ RUN pip install --no-cache-dir uv
6
+
7
+ COPY pyproject.toml .
8
+ COPY vmware_aria/ vmware_aria/
9
+ COPY mcp_server/ mcp_server/
10
+
11
+ RUN uv pip install --system .
12
+
13
+ CMD ["python", "-m", "mcp_server"]
@@ -0,0 +1,165 @@
1
+ Metadata-Version: 2.4
2
+ Name: vmware-aria
3
+ Version: 1.3.0
4
+ Summary: VMware Aria Operations (vRealize Operations) monitoring, alerting, and capacity planning
5
+ Author: zw008
6
+ License-Expression: MIT
7
+ Keywords: ai-ops,aria,capacity,mcp,monitoring,vmware,vrealize,vrops
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Topic :: System :: Monitoring
12
+ Requires-Python: >=3.10
13
+ Requires-Dist: httpx<1.0,>=0.27
14
+ Requires-Dist: mcp[cli]<2.0,>=1.0
15
+ Requires-Dist: python-dotenv<2.0,>=1.0
16
+ Requires-Dist: pyyaml<7.0,>=6.0
17
+ Requires-Dist: rich<15.0,>=13.0
18
+ Requires-Dist: typer<1.0,>=0.12
19
+ Description-Content-Type: text/markdown
20
+
21
+ # VMware Aria Operations MCP Skill
22
+
23
+ AI-assisted monitoring and capacity planning for VMware Aria Operations (vRealize Operations) via the Model Context Protocol (MCP).
24
+
25
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
26
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
27
+
28
+ ## Overview
29
+
30
+ `vmware-aria` exposes 18 MCP tools for interacting with Aria Operations through natural language AI agents (Claude Code, Cursor, Goose, etc.):
31
+
32
+ | Category | Tools | Type |
33
+ |----------|-------|------|
34
+ | **Resources** | list, get, metrics, health badge, top consumers | Read-only (5) |
35
+ | **Alerts** | list, get, acknowledge, cancel, definitions | Read + 2 Write (5) |
36
+ | **Capacity** | overview, remaining, time-remaining, rightsizing | Read-only (4) |
37
+ | **Anomaly** | list anomalies, risk badge | Read-only (2) |
38
+ | **Health** | platform health, collector groups | Read-only (2) |
39
+
40
+ **Total**: 18 tools — 16 read-only, 2 write (acknowledge/cancel alerts)
41
+
42
+ ## Quick Start
43
+
44
+ ```bash
45
+ # Install
46
+ uv tool install vmware-aria
47
+
48
+ # Configure
49
+ mkdir -p ~/.vmware-aria
50
+ cat > ~/.vmware-aria/config.yaml << 'EOF'
51
+ targets:
52
+ prod:
53
+ host: aria-ops.example.com
54
+ username: admin
55
+ port: 443
56
+ verify_ssl: true
57
+ auth_source: LOCAL
58
+ default_target: prod
59
+ EOF
60
+
61
+ # Set password (never in config.yaml)
62
+ echo "VMWARE_ARIA_PROD_PASSWORD=your_password" > ~/.vmware-aria/.env
63
+ chmod 600 ~/.vmware-aria/.env
64
+
65
+ # Verify setup
66
+ vmware-aria doctor
67
+ ```
68
+
69
+ ## CLI Examples
70
+
71
+ ```bash
72
+ # List top CPU consumers
73
+ vmware-aria resource top --metric cpu|usage_average --top 10
74
+
75
+ # Check active CRITICAL alerts
76
+ vmware-aria alert list --criticality CRITICAL
77
+
78
+ # Acknowledge an alert
79
+ vmware-aria alert acknowledge <alert-id>
80
+
81
+ # Fetch 4-hour CPU + memory metrics for a VM
82
+ vmware-aria resource metrics <vm-id> --metrics cpu|usage_average,mem|usage_average --hours 4
83
+
84
+ # Check cluster capacity
85
+ vmware-aria capacity remaining <cluster-id>
86
+ vmware-aria capacity time-remaining <cluster-id>
87
+
88
+ # Find rightsizing opportunities
89
+ vmware-aria capacity rightsizing
90
+
91
+ # Check Aria platform health
92
+ vmware-aria health status
93
+ vmware-aria health collectors
94
+ ```
95
+
96
+ ## MCP Setup (Claude Code)
97
+
98
+ Add to `~/.claude.json`:
99
+
100
+ ```json
101
+ {
102
+ "mcpServers": {
103
+ "vmware-aria": {
104
+ "command": "vmware-aria-mcp",
105
+ "env": {
106
+ "VMWARE_ARIA_CONFIG": "~/.vmware-aria/config.yaml"
107
+ }
108
+ }
109
+ }
110
+ }
111
+ ```
112
+
113
+ Then use natural language:
114
+ - *"Show me the top 10 CPU consumers right now"*
115
+ - *"List all CRITICAL alerts and acknowledge them"*
116
+ - *"How long until the prod cluster runs out of memory?"*
117
+ - *"Which VMs are over-provisioned? Show rightsizing recommendations"*
118
+ - *"Are there any anomalies on vm-web-01?"*
119
+
120
+ ## Authentication
121
+
122
+ Aria Operations uses **OpsToken** authentication:
123
+
124
+ ```
125
+ POST /suite-api/api/auth/token/acquire
126
+ {"username": "admin", "password": "...", "authSource": "LOCAL"}
127
+ → {"token": "abc123", "validity": 1800000}
128
+
129
+ Subsequent requests: Authorization: OpsToken abc123
130
+ ```
131
+
132
+ Tokens are valid for 30 minutes and automatically refreshed 60 seconds before expiry.
133
+
134
+ ## Architecture
135
+
136
+ ```
137
+ User (natural language)
138
+
139
+ AI Agent (Claude Code / Goose / Cursor)
140
+ ↓ [reads SKILL.md]
141
+ vmware-aria MCP server (stdio transport)
142
+ ↓ [HTTPS + OpsToken]
143
+ Aria Operations Suite API
144
+
145
+ VMs / Hosts / Clusters / Alerts / Capacity
146
+ ```
147
+
148
+ ## Companion Skills
149
+
150
+ | Skill | Purpose |
151
+ |-------|---------|
152
+ | [vmware-aiops](https://github.com/zw008/VMware-AIops) | VM lifecycle: create, clone, snapshot, power |
153
+ | [vmware-nsx](https://github.com/zw008/VMware-NSX) | NSX networking: segments, gateways, NAT, routing |
154
+ | [vmware-monitor](https://github.com/zw008/VMware-Monitor) | Read-only vSphere inventory and events |
155
+
156
+ ## Security
157
+
158
+ - Passwords loaded from env vars or `.env` file, never from `config.yaml`
159
+ - Write operations (acknowledge/cancel alert) audit-logged to `~/.vmware-aria/audit.log`
160
+ - API responses sanitized (control chars stripped, 500-char limit) to prevent prompt injection
161
+ - Supports self-signed certificates (`verify_ssl: false`) for lab environments
162
+
163
+ ## License
164
+
165
+ MIT — see [LICENSE](LICENSE)
@@ -0,0 +1,137 @@
1
+ # VMware Aria Operations MCP Skill
2
+
3
+ 通过 Model Context Protocol (MCP) 为 VMware Aria Operations(原 vRealize Operations)提供 AI 辅助的监控与容量规划能力。
4
+
5
+ ## 概述
6
+
7
+ `vmware-aria` 提供 18 个 MCP 工具,支持通过自然语言 AI Agent(Claude Code、Cursor、Goose 等)与 Aria Operations 交互:
8
+
9
+ | 类别 | 工具 | 类型 |
10
+ |------|------|------|
11
+ | **资源** | 列表、详情、指标、健康评分、高消耗排名 | 只读 (5) |
12
+ | **告警** | 列表、详情、确认、取消、告警定义 | 读+2写 (5) |
13
+ | **容量** | 概览、剩余容量、时间预测、虚拟机调整 | 只读 (4) |
14
+ | **异常** | 异常列表、风险评分 | 只读 (2) |
15
+ | **健康** | 平台健康、采集器状态 | 只读 (2) |
16
+
17
+ **共 18 个工具** — 16 只读、2 写操作(确认/取消告警)
18
+
19
+ ## 快速开始
20
+
21
+ ```bash
22
+ # 安装
23
+ uv tool install vmware-aria
24
+
25
+ # 配置
26
+ mkdir -p ~/.vmware-aria
27
+ cat > ~/.vmware-aria/config.yaml << 'EOF'
28
+ targets:
29
+ prod:
30
+ host: aria-ops.example.com
31
+ username: admin
32
+ port: 443
33
+ verify_ssl: true
34
+ auth_source: LOCAL
35
+ default_target: prod
36
+ EOF
37
+
38
+ # 设置密码(绝不存入 config.yaml)
39
+ echo "VMWARE_ARIA_PROD_PASSWORD=your_password" > ~/.vmware-aria/.env
40
+ chmod 600 ~/.vmware-aria/.env
41
+
42
+ # 验证配置
43
+ vmware-aria doctor
44
+ ```
45
+
46
+ ## 常用 CLI 示例
47
+
48
+ ```bash
49
+ # 查看 CPU 消耗排名前 10 的虚拟机
50
+ vmware-aria resource top --metric cpu|usage_average --top 10
51
+
52
+ # 查看所有严重告警
53
+ vmware-aria alert list --criticality CRITICAL
54
+
55
+ # 确认告警
56
+ vmware-aria alert acknowledge <alert-id>
57
+
58
+ # 查询虚拟机 CPU 和内存指标(最近 4 小时)
59
+ vmware-aria resource metrics <vm-id> --metrics cpu|usage_average,mem|usage_average --hours 4
60
+
61
+ # 集群容量规划
62
+ vmware-aria capacity remaining <cluster-id>
63
+ vmware-aria capacity time-remaining <cluster-id>
64
+
65
+ # 查找虚拟机资源调整建议
66
+ vmware-aria capacity rightsizing
67
+
68
+ # Aria 平台自身健康检查
69
+ vmware-aria health status
70
+ ```
71
+
72
+ ## MCP 配置(Claude Code)
73
+
74
+ 在 `~/.claude.json` 中添加:
75
+
76
+ ```json
77
+ {
78
+ "mcpServers": {
79
+ "vmware-aria": {
80
+ "command": "vmware-aria-mcp",
81
+ "env": {
82
+ "VMWARE_ARIA_CONFIG": "~/.vmware-aria/config.yaml"
83
+ }
84
+ }
85
+ }
86
+ }
87
+ ```
88
+
89
+ 然后即可使用自然语言:
90
+ - *"显示当前 CPU 占用最高的 10 台虚拟机"*
91
+ - *"列出所有严重告警并逐一确认"*
92
+ - *"生产集群的内存还够用多少天?"*
93
+ - *"哪些虚拟机资源配置过多?给出调整建议"*
94
+ - *"vm-web-01 上有没有异常检测结果?"*
95
+
96
+ ## 认证机制
97
+
98
+ Aria Operations 使用 **OpsToken** 认证:
99
+
100
+ ```
101
+ POST /suite-api/api/auth/token/acquire
102
+ Body: {"username": "admin", "password": "...", "authSource": "LOCAL"}
103
+ 响应: {"token": "abc123", "validity": 1800000}
104
+
105
+ 后续请求 Header: Authorization: OpsToken abc123
106
+ ```
107
+
108
+ Token 有效期 30 分钟,到期前 60 秒自动刷新。
109
+
110
+ ## 密码命名规则
111
+
112
+ | 目标名 | 环境变量 |
113
+ |--------|---------|
114
+ | `prod` | `VMWARE_ARIA_PROD_PASSWORD` |
115
+ | `aria-lab` | `VMWARE_ARIA_ARIA_LAB_PASSWORD` |
116
+ | `staging-01` | `VMWARE_ARIA_STAGING_01_PASSWORD` |
117
+
118
+ 规则:`VMWARE_ARIA_<TARGET大写>_PASSWORD`,连字符转为下划线。
119
+
120
+ ## 配套 Skill
121
+
122
+ | Skill | 用途 |
123
+ |-------|------|
124
+ | [vmware-aiops](https://github.com/zw008/VMware-AIops) | 虚拟机生命周期:创建、克隆、快照、开关机 |
125
+ | [vmware-nsx](https://github.com/zw008/VMware-NSX) | NSX 网络:Segment、网关、NAT、路由 |
126
+ | [vmware-monitor](https://github.com/zw008/VMware-Monitor) | vSphere 只读库存和事件查询 |
127
+
128
+ ## 安全性
129
+
130
+ - 密码仅从环境变量或 `.env` 文件加载,不存入 `config.yaml`
131
+ - 写操作(确认/取消告警)记录审计日志至 `~/.vmware-aria/audit.log`
132
+ - API 响应经过净化处理(去除控制字符,截断至 500 字符),防止提示注入攻击
133
+ - 支持自签名证书(`verify_ssl: false`),适用于实验环境
134
+
135
+ ## 许可证
136
+
137
+ MIT
@@ -0,0 +1,145 @@
1
+ # VMware Aria Operations MCP Skill
2
+
3
+ AI-assisted monitoring and capacity planning for VMware Aria Operations (vRealize Operations) via the Model Context Protocol (MCP).
4
+
5
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+
8
+ ## Overview
9
+
10
+ `vmware-aria` exposes 18 MCP tools for interacting with Aria Operations through natural language AI agents (Claude Code, Cursor, Goose, etc.):
11
+
12
+ | Category | Tools | Type |
13
+ |----------|-------|------|
14
+ | **Resources** | list, get, metrics, health badge, top consumers | Read-only (5) |
15
+ | **Alerts** | list, get, acknowledge, cancel, definitions | Read + 2 Write (5) |
16
+ | **Capacity** | overview, remaining, time-remaining, rightsizing | Read-only (4) |
17
+ | **Anomaly** | list anomalies, risk badge | Read-only (2) |
18
+ | **Health** | platform health, collector groups | Read-only (2) |
19
+
20
+ **Total**: 18 tools — 16 read-only, 2 write (acknowledge/cancel alerts)
21
+
22
+ ## Quick Start
23
+
24
+ ```bash
25
+ # Install
26
+ uv tool install vmware-aria
27
+
28
+ # Configure
29
+ mkdir -p ~/.vmware-aria
30
+ cat > ~/.vmware-aria/config.yaml << 'EOF'
31
+ targets:
32
+ prod:
33
+ host: aria-ops.example.com
34
+ username: admin
35
+ port: 443
36
+ verify_ssl: true
37
+ auth_source: LOCAL
38
+ default_target: prod
39
+ EOF
40
+
41
+ # Set password (never in config.yaml)
42
+ echo "VMWARE_ARIA_PROD_PASSWORD=your_password" > ~/.vmware-aria/.env
43
+ chmod 600 ~/.vmware-aria/.env
44
+
45
+ # Verify setup
46
+ vmware-aria doctor
47
+ ```
48
+
49
+ ## CLI Examples
50
+
51
+ ```bash
52
+ # List top CPU consumers
53
+ vmware-aria resource top --metric cpu|usage_average --top 10
54
+
55
+ # Check active CRITICAL alerts
56
+ vmware-aria alert list --criticality CRITICAL
57
+
58
+ # Acknowledge an alert
59
+ vmware-aria alert acknowledge <alert-id>
60
+
61
+ # Fetch 4-hour CPU + memory metrics for a VM
62
+ vmware-aria resource metrics <vm-id> --metrics cpu|usage_average,mem|usage_average --hours 4
63
+
64
+ # Check cluster capacity
65
+ vmware-aria capacity remaining <cluster-id>
66
+ vmware-aria capacity time-remaining <cluster-id>
67
+
68
+ # Find rightsizing opportunities
69
+ vmware-aria capacity rightsizing
70
+
71
+ # Check Aria platform health
72
+ vmware-aria health status
73
+ vmware-aria health collectors
74
+ ```
75
+
76
+ ## MCP Setup (Claude Code)
77
+
78
+ Add to `~/.claude.json`:
79
+
80
+ ```json
81
+ {
82
+ "mcpServers": {
83
+ "vmware-aria": {
84
+ "command": "vmware-aria-mcp",
85
+ "env": {
86
+ "VMWARE_ARIA_CONFIG": "~/.vmware-aria/config.yaml"
87
+ }
88
+ }
89
+ }
90
+ }
91
+ ```
92
+
93
+ Then use natural language:
94
+ - *"Show me the top 10 CPU consumers right now"*
95
+ - *"List all CRITICAL alerts and acknowledge them"*
96
+ - *"How long until the prod cluster runs out of memory?"*
97
+ - *"Which VMs are over-provisioned? Show rightsizing recommendations"*
98
+ - *"Are there any anomalies on vm-web-01?"*
99
+
100
+ ## Authentication
101
+
102
+ Aria Operations uses **OpsToken** authentication:
103
+
104
+ ```
105
+ POST /suite-api/api/auth/token/acquire
106
+ {"username": "admin", "password": "...", "authSource": "LOCAL"}
107
+ → {"token": "abc123", "validity": 1800000}
108
+
109
+ Subsequent requests: Authorization: OpsToken abc123
110
+ ```
111
+
112
+ Tokens are valid for 30 minutes and automatically refreshed 60 seconds before expiry.
113
+
114
+ ## Architecture
115
+
116
+ ```
117
+ User (natural language)
118
+
119
+ AI Agent (Claude Code / Goose / Cursor)
120
+ ↓ [reads SKILL.md]
121
+ vmware-aria MCP server (stdio transport)
122
+ ↓ [HTTPS + OpsToken]
123
+ Aria Operations Suite API
124
+
125
+ VMs / Hosts / Clusters / Alerts / Capacity
126
+ ```
127
+
128
+ ## Companion Skills
129
+
130
+ | Skill | Purpose |
131
+ |-------|---------|
132
+ | [vmware-aiops](https://github.com/zw008/VMware-AIops) | VM lifecycle: create, clone, snapshot, power |
133
+ | [vmware-nsx](https://github.com/zw008/VMware-NSX) | NSX networking: segments, gateways, NAT, routing |
134
+ | [vmware-monitor](https://github.com/zw008/VMware-Monitor) | Read-only vSphere inventory and events |
135
+
136
+ ## Security
137
+
138
+ - Passwords loaded from env vars or `.env` file, never from `config.yaml`
139
+ - Write operations (acknowledge/cancel alert) audit-logged to `~/.vmware-aria/audit.log`
140
+ - API responses sanitized (control chars stripped, 500-char limit) to prevent prompt injection
141
+ - Supports self-signed certificates (`verify_ssl: false`) for lab environments
142
+
143
+ ## License
144
+
145
+ MIT — see [LICENSE](LICENSE)
@@ -0,0 +1,55 @@
1
+ # Release Notes
2
+
3
+ ## v1.3.0 (2026-03-27)
4
+
5
+ Initial release of `vmware-aria` — VMware Aria Operations AI monitoring skill.
6
+
7
+ ### Features
8
+
9
+ **Resource Monitoring (5 tools)**
10
+ - `list_resources` — List VMs, hosts, clusters, datastores by resource kind with health badge
11
+ - `get_resource` — Full resource details including health, risk, and efficiency badge scores
12
+ - `get_resource_metrics` — Time-series metric stats with configurable window and rollup type
13
+ - `get_resource_health` — Health badge score (0–100) with color and description
14
+ - `get_top_consumers` — Rank VMs or hosts by CPU, memory, disk, or network usage
15
+
16
+ **Alert Management (5 tools)**
17
+ - `list_alerts` — Active or all alerts with criticality and resource scope filtering
18
+ - `get_alert` — Full alert details: symptom list, recommendations, timeline
19
+ - `acknowledge_alert` — Mark alert as acknowledged (write, audit-logged)
20
+ - `cancel_alert` — Dismiss an active alert (write, audit-logged)
21
+ - `list_alert_definitions` — Browse alert definition templates
22
+
23
+ **Capacity Planning (4 tools)**
24
+ - `get_capacity_overview` — Cluster capacity recommendations
25
+ - `get_remaining_capacity` — Remaining CPU, memory, disk headroom
26
+ - `get_time_remaining` — Days until capacity dimensions are exhausted
27
+ - `list_rightsizing_recommendations` — Over/under-provisioned VM recommendations
28
+
29
+ **Anomaly Detection (2 tools)**
30
+ - `list_anomalies` — ML-detected metric anomalies, per-resource or global
31
+ - `get_resource_riskbadge` — Risk score with contributing causes
32
+
33
+ **Platform Health (2 tools)**
34
+ - `get_aria_health` — All Aria internal service states
35
+ - `list_collector_groups` — Remote collector agent status
36
+
37
+ ### Authentication
38
+ - OpsToken authentication: `POST /suite-api/api/auth/token/acquire`
39
+ - Auto-refresh: token refreshed 60s before 30-minute expiry
40
+ - Supports LOCAL, LDAP, and AD authentication sources
41
+
42
+ ### Security
43
+ - Passwords loaded from env vars / `.env` file only
44
+ - All API text sanitized (control chars stripped, 500-char max)
45
+ - Write operations (acknowledge/cancel) audit-logged to `~/.vmware-aria/audit.log`
46
+
47
+ ### CLI
48
+ - Full CLI with 5 command groups: `resource`, `alert`, `capacity`, `anomaly`, `health`
49
+ - `vmware-aria doctor` — pre-flight diagnostics for config, network, auth, MCP import
50
+ - Rich table output for list commands, JSON output for detail commands
51
+
52
+ ### Compatibility
53
+ - Python 3.10+
54
+ - Aria Operations 8.x (vRealize Operations 8.x)
55
+ - Suite API v2 (`/suite-api/api/`)
@@ -0,0 +1,23 @@
1
+ # VMware Aria Operations Configuration
2
+ # Copy to ~/.vmware-aria/config.yaml and edit
3
+
4
+ targets:
5
+ prod:
6
+ host: aria-ops.example.com
7
+ username: admin
8
+ port: 443
9
+ verify_ssl: true
10
+ auth_source: LOCAL # LOCAL | LDAP | AD
11
+ lab:
12
+ host: 10.0.0.100
13
+ username: admin
14
+ port: 443
15
+ verify_ssl: false
16
+ auth_source: LOCAL
17
+
18
+ default_target: prod
19
+
20
+ # Passwords are loaded from environment variables:
21
+ # VMWARE_ARIA_PROD_PASSWORD=xxx
22
+ # VMWARE_ARIA_LAB_PASSWORD=xxx
23
+ # Or from ~/.vmware-aria/.env file
@@ -0,0 +1,8 @@
1
+ services:
2
+ vmware-aria-mcp:
3
+ build: .
4
+ volumes:
5
+ - ~/.vmware-aria:/root/.vmware-aria:ro
6
+ environment:
7
+ - VMWARE_ARIA_CONFIG=/root/.vmware-aria/config.yaml
8
+ stdin_open: true
@@ -0,0 +1,10 @@
1
+ {
2
+ "mcpServers": {
3
+ "vmware-aria": {
4
+ "command": "vmware-aria-mcp",
5
+ "env": {
6
+ "VMWARE_ARIA_CONFIG": "~/.vmware-aria/config.yaml"
7
+ }
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "mcpServers": {
3
+ "vmware-aria": {
4
+ "command": "vmware-aria-mcp",
5
+ "env": {
6
+ "VMWARE_ARIA_CONFIG": "/Users/<your-username>/.vmware-aria/config.yaml",
7
+ "VMWARE_ARIA_PROD_PASSWORD": "<your-password>"
8
+ }
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "extensions": {
3
+ "vmware-aria": {
4
+ "type": "stdio",
5
+ "cmd": "vmware-aria-mcp",
6
+ "env": {
7
+ "VMWARE_ARIA_CONFIG": "~/.vmware-aria/config.yaml"
8
+ }
9
+ }
10
+ }
11
+ }
File without changes
@@ -0,0 +1,5 @@
1
+ """Allow running as `python -m mcp_server`."""
2
+
3
+ from mcp_server.server import main
4
+
5
+ main()