Token导航 LogoToken导航TokenDH.com
Ariaops MCP logo
运维云端stdio官方级别未说明来源级核验

Ariaops MCP

MCP Server

一个为VMware Aria Operations(本地部署)提供的模型上下文协议(MCP)服务器,将Aria Ops的REST API功能暴露为MCP工具,使AI助手能够查询基础设施的健康状况、警报、指标、容量和报告,并在显式启用时执行写入操作。

工具数

39

提示词数

0

GitHub Stars

1

资源数

0
PythonClaudeAPI集成Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

asnd

提供方

asnd

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

AriaOps MCP服务器

A. 模型上下文协议(MCP) VMware Aria操作服务器(本地)。将Aria Ops REST API功能作为MCP工具进行展示,使人工智能助手可以查询基础设施运行状况、警报、指标、容量和报告,并在明确启用时可选地执行写入操作。

特性

  • 资源 --列出、搜索、查询虚拟机/主机/集群及其属性
  • 警报 --活动警报、定义、注释、促成症状
  • 指标 --随时间变化的统计数据、最新值、批量查询、Top-N
  • 容量 --每个集群的剩余容量、满负荷时间、策略阈值
  • 报告 --列表模板、生成的报告、下载(PDF/CSV)
  • 发现 --版本信息、收集器、症状定义、建议
  • 写入操作 *(选择加入)* --修改警报、维护模式、计划、报告生成、资源生命周期

支持两者 stdio (本地/测试)以及 streamable HTTP (生产)运输。

需求

  • Python 3.11+
  • 访问本地VMware Aria Operations 8.x实例
  • 波德曼 (可选,用于容器化部署)

快速开始

安装

git clone https://github.com/asnd/ariaops-mcp.git
cd ariaops-mcp
pip install -e .

对于开发(包括linting和测试工具):

pip install -e ".[dev]"

配置

cp .env.example .env
# Edit .env with your Aria Ops credentials
ARIAOPS_HOST=vrops.example.com
ARIAOPS_USERNAME=admin
ARIAOPS_PASSWORD=secret
ARIAOPS_AUTH_SOURCE=local     # or your LDAP source name
ARIAOPS_VERIFY_SSL=true

运行(stdio--用于MCP客户端)

python -m ariaops_mcp

运行(HTTP--生产)

ARIAOPS_TRANSPORT=http ARIAOPS_PORT=8080 python -m ariaops_mcp

要在HTTP传输上要求OAuth 2.x承载令牌,请启用该标志并提供资源服务器设置:

ARIAOPS_TRANSPORT=http \
ARIAOPS_HTTP_OAUTH_ENABLED=true \
ARIAOPS_HTTP_OAUTH_ISSUER_URL=https://issuer.example.com \
ARIAOPS_HTTP_OAUTH_RESOURCE_SERVER_URL=https://mcp.example.com \
ARIAOPS_HTTP_OAUTH_JWT_KEY="$(python -c 'import secrets; print(secrets.token_urlsafe(32))')" \
ARIAOPS_HTTP_OAUTH_REQUIRED_SCOPES=mcp:read \
python -m ariaops_mcp

OAuth旋钮

变量必填默认备注
ARIAOPS_HTTP_OAUTH_ENABLED没有false开启强制执行。需要 ARIAOPS_TRANSPORT=http.
ARIAOPS_HTTP_OAUTH_ISSUER_URL--预计 iss 声明和通过发现文档发布的授权服务器。
ARIAOPS_HTTP_OAUTH_RESOURCE_SERVER_URLyes--此服务器的资源标识符--用作默认值 aud 并通过暴露 /.well-known/oauth-protected-resource.
ARIAOPS_HTTP_OAUTH_JWT_KEY--HS256/384/512共享密钥之一(≥32字节) RS\*/ES\*/PS\*的PEM公钥。
ARIAOPS_HTTP_OAUTH_JWKS_URL--JWKS端点URL之一(例如Keycloak的 /realms//protocol/openid-connect/certs).相互排斥 JWT_KEY;旋转关键帧的IdP需要。
ARIAOPS_HTTP_OAUTH_JWT_ALGORITHMS没有HS256逗号分隔的列表。验证器拒绝不在此列表中的所有算法(因此 alg: none 并且阻止了算法混淆)。
ARIAOPS_HTTP_OAUTH_AUDIENCEno资源URL如果您的IdP发出不同的请求,则覆盖 aud.
ARIAOPS_HTTP_OAUTH_REQUIRED_SCOPES没有[]令牌必须包含所有列出的作用域,否则将获得403 insufficient_scope.
ARIAOPS_HTTP_OAUTH_LEEWAY_SECONDS没有30时钟偏斜容差 exp / nbf / iat.
ARIAOPS_HTTP_OAUTH_JWKS_CACHE_TTL没有300重新蚀刻前缓存JWKS密钥的时间。

发现: 启用OAuth后,服务器发布 GET /.well-known/oauth-protected-resource 根据RFC 9728,MCP客户端 自动发现授权服务器和所需作用域。

健康: GET /health 故意未经身份验证,因此进行探测和加载 平衡器在OAuth打开的情况下继续工作。

钥匙斗篷设置

Keycloak是受支持的IdP。使用JWKS——Keycloak旋转RS256键。

  1. 创建客户端 在你的领域(Clients → Create client):

- *客户端类型:* OpenID连接 - *客户端身份验证:* 为MCP客户保密 - *有效的重定向URI:* 无论您的MCP客户端使用什么

  1. 添加受众映射器 (Client scopes → -dedicated → Add mapper → Audience):

- *包括客户受众:* 您想要的客户端ID aud (例如。 mcp-client). - 这是必需的,因为Keycloak可以 将资源URL放入 aud 默认情况下。

  1. 添加范围 (Client scopes → Create)并分配给客户端(DefaultOptional).
  1. 配置ariaops mcp:
   ARIAOPS_TRANSPORT=http \
   ARIAOPS_HTTP_OAUTH_ENABLED=true \
   ARIAOPS_HTTP_OAUTH_ISSUER_URL=https://kc.example.com/realms/myrealm \
   ARIAOPS_HTTP_OAUTH_RESOURCE_SERVER_URL=https://mcp.example.com \
   ARIAOPS_HTTP_OAUTH_JWKS_URL=https://kc.example.com/realms/myrealm/protocol/openid-connect/certs \
   ARIAOPS_HTTP_OAUTH_JWT_ALGORITHMS=RS256 \
   ARIAOPS_HTTP_OAUTH_AUDIENCE=mcp-client \
   ARIAOPS_HTTP_OAUTH_REQUIRED_SCOPES=mcp:read \
   python -m ariaops_mcp
  1. CLI测试 使用客户端凭据授予:
   TOKEN=$(curl -s -X POST \
     "https://kc.example.com/realms/myrealm/protocol/openid-connect/token" \
     -d grant_type=client_credentials \
     -d client_id=mcp-client \
     -d client_secret=$KC_SECRET \
     -d scope="mcp:read" | jq -r .access_token)

   curl -H "Authorization: Bearer $TOKEN" https://mcp.example.com/

笔记:

  • iss Keycloak中的令牌正是 https:///realms/ (没有尾随斜线)。验证器会删除两侧的尾随斜线,因此任何一种形式都可以在config中使用。
  • 角色(realm_access.roles, resource_access..roles)不强制执行--仅限OAuth scope。如果需要RBAC,请将角色映射到Keycloak中的作用域。
  • 验证器包装 PyJWKClientasyncio.to_thread,因此JWKS缓存未命中不会阻止事件循环。

与波德曼一起跑步

podman build --format docker -t ariaops-mcp .
podman run --env-file .env -p 8080:8080 ariaops-mcp

MCP架构

+---------------------------+     MCP (stdio / streamable HTTP)     +---------------------------+
| MCP Client / AI Assistant |  | ariaops-mcp server        |
| Claude Desktop, IDE, etc. |                                       |                           |
+-------------+-------------+                                       |  read tools: always on    |
              |                                                     |  write tools: opt-in      |
              |                                                     +-------------+-------------+
              |                                                                   |
              |                                                                   | HTTPS REST
              |                                                                   v
              |                                                     +---------------------------+
              +---------------------------------------------------> | VMware Aria Operations   |
                                                                    | /suite-api/api/...       |
                                                                    +---------------------------+
+-----------------------+      chat / tool plans      +-----------------------+
| Browser               |  | test-ui/app.py        |
| Gradio test UI        |                             | Gradio + tool bridge  |
+-----------+-----------+                             +-----+-----------+-----+
            |                                               |           |
            |                                               |           |
            |                                    LLM Gateway |           | in-process MCP tools
            v                                               v           v
  +-------------------+                           +----------------+  +----------------------+
  | Human operator    |                           | OpenAI-compat  |  | ariaops_mcp modules  |
  +-------------------+                           | model gateway  |  | + AriaOpsClient      |
                                                  +----------------+  +----------+-----------+
                                                                                  |
                                                                                  v
                                                                       +----------------------+
                                                                       | VMware Aria Ops      |
                                                                       +----------------------+

MCP客户端集成

添加到MCP配置中(例如。 ~/.claude/mcp_settings.json 对于AI代码助理):

{
  "mcpServers": {
    "ariaops": {
      "command": "python",
      "args": ["-m", "ariaops_mcp"],
      "env": {
        "ARIAOPS_HOST": "vrops.example.com",
        "ARIAOPS_USERNAME": "admin",
        "ARIAOPS_PASSWORD": "secret"
      }
    }
  }
}

可用工具

工具
资源list_resources, get_resource, query_resources, get_resource_properties, get_resource_relationships, list_resource_kinds, list_adapter_kinds, list_resource_groups, get_resource_group_members
警报list_alerts, get_alert, query_alerts, get_alert_notes, list_alert_definitions, get_alert_definition, get_contributing_symptoms
指标get_resource_stats, get_latest_stats, query_stats, query_latest_stats, get_stat_keys, get_top_n_stats, list_properties_latest
容量get_capacity_remaining, get_capacity_overview, list_policies, get_capacity_forecast, get_trend_analysis
报告list_report_definitions, get_report_definition, list_reports, get_report, download_report, list_report_schedules
发现get_version, list_collectors, list_symptoms, list_recommendations, list_supermetrics

写入工具(必需 ARIAOPS_ENABLE_WRITE_OPERATIONS=true)

工具
警报操作modify_alerts, add_alert_note, delete_alert_note, delete_canceled_alerts
资源维护mark_resources_maintained, unmark_resources_maintained
维护。时间表create_maintenance_schedule, update_maintenance_schedule, delete_maintenance_schedule
报告操作generate_report, delete_report, create_report_schedule, update_report_schedule, delete_report_schedule
资源生命周期create_resource, update_resource, delete_resources

完整工具目录: TOOLS.md

完整规格: REQUIREMENTS.md

测试UI应用程序

该仓库包括一个基于Gradio的测试UI test-ui/ 用于在通过LLM网关路由聊天时在进程中执行相同的工具处理程序。

首先创建一个本地env文件,这样就不需要在仓库中硬编码租户ID、客户端ID或令牌:

cp .env.example .env

LITELLM_BASE_URL 对于网关。如果你想使用 通过Azure SSO获取令牌 按钮,也设置:

AZURE_TENANT_ID=your-azure-tenant-id
AZURE_CLIENT_ID=your-azure-client-id
python -m pip install -r test-ui/requirements.txt
python test-ui/app.py --port 7860

要运行其自动测试,请执行以下操作:

cd test-ui
pytest tests

发展

pip install -e ".[dev]"
pytest                  # run tests
ruff check src/ tests/  # lint
pyright                 # type-check
cd test-ui && pytest tests

配置参考

变量必填默认描述
ARIAOPS_HOST--Aria Ops主机名(无方案)
ARIAOPS_USERNAME-neneneba API用户名
ARIAOPS_PASSWORD-neneneba API密码
ARIAOPS_AUTH_SOURCE没有local身份验证源(本地/LDAP名称)
ARIAOPS_VERIFY_SSL没有trueTLS证书验证
ARIAOPS_TRANSPORT没有stdiostdiohttp
ARIAOPS_PORT没有8080HTTP侦听端口
ARIAOPS_HTTP_OAUTH_ENABLED没有false在HTTP MCP传输上要求OAuth 2.x承载令牌
ARIAOPS_HTTP_OAUTH_ISSUER_URL--启用HTTP身份验证时,向MCP客户端通告OAuth 2.x颁发者URL
ARIAOPS_HTTP_OAUTH_RESOURCE_SERVER_URL--用于OAuth保护的资源元数据的公共MCP HTTP端点URL
ARIAOPS_HTTP_OAUTH_JWT_KEYRS\*/ES\*/PS\*的--HS\*共享密钥(≥32字节)或PEM公钥之一
ARIAOPS_HTTP_OAUTH_JWKS_URL--JWKS端点之一(例如Keycloak证书URL);互斥于 JWT_KEY
ARIAOPS_HTTP_OAUTH_JWT_ALGORITHMS没有HS256接受的JWT算法的逗号分隔或JSON数组列表
ARIAOPS_HTTP_OAUTH_AUDIENCE没有ARIAOPS_HTTP_OAUTH_RESOURCE_SERVER_URLHTTP承载令牌的预期JWT受众
ARIAOPS_HTTP_OAUTH_REQUIRED_SCOPES--HTTP MCP访问所需的逗号分隔或JSON数组范围列表
ARIAOPS_HTTP_OAUTH_LEEWAY_SECONDS没有30时钟偏斜容差 exp/nbf/iat
ARIAOPS_HTTP_OAUTH_JWKS_CACHE_TTL没有300JWKS缓存生存期(秒)
ARIAOPS_LOG_LEVEL没有INFO日志级别
ARIAOPS_ENABLE_WRITE_OPERATIONS没有false启用变异工具(警报管理、维护、报告、资源生命周期)
LITELLM_BASE_URL--测试UI LLM网关基本URL
LITELLM_TOKEN--测试网关的UI JWT
AZURE_TENANT_ID--测试浏览器SSO的UI Azure租户ID
AZURE_CLIENT_ID--测试浏览器SSO的UI Azure客户端ID

许可证

麻省理工学院

目录标签

目录标签

PythonClaudeAPI集成VMware本地部署AriaOperationsMCP服务器基础设施监控AI集成RESTAPI

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

39

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP