vcf-ops-mcp
Sentania VCF Ops MCP(非官方)
vcf-ops-mcp 是一个容器化的、默认只读的 MCP 服务器,带有用于 VCF Operations 的小型管理界面。当前 MVP 通过经过身份验证的 Streamable HTTP 公开已实现的清单、指标、告警、报告定义、目标和技能读取。每个 MCP 工具调用都经过持久化审计调度器。
这是一个非官方的个人实验室项目。它不是 Broadcom 或 VMware 的产品。
运行测试套件
需要 Python 3.12 或更高版本。
python3 -m venv .venv
.venv/bin/python -m pip install --upgrade pip hatchling
.venv/bin/python -m pip install -e '.[test]'
.venv/bin/pytest tests/
./tools/generate_agents_md.sh --check
./tools/consensus-check.py --self-test除非提供了明确的保护变量,否则实时设备层会被跳过。常规测试仅使用合成的 VCF Ops 响应。
Related MCP server: appd-mcp
在本地构建并启动容器
服务在首次启动时会在 /keys 卷上创建其会话签名密钥和凭据密钥环。无需手动编写 SESSION_SECRET。
docker build -t vcf-ops-mcp:local .
docker volume create vcf-ops-mcp-data
docker volume create vcf-ops-mcp-keys
docker volume create vcf-ops-mcp-audit
docker run --name vcf-ops-mcp --rm \
--read-only \
--user 10001:10001 \
--security-opt no-new-privileges \
--cap-drop ALL \
-p 8000:8000 \
-e PUBLIC_BASE_URL=http://localhost:8000 \
-v vcf-ops-mcp-data:/data \
-v vcf-ops-mcp-keys:/keys \
-v vcf-ops-mcp-audit:/audit \
vcf-ops-mcp:local在另一个终端中:
curl --fail http://localhost:8000/healthz就绪响应为 HTTP 200,并报告所有四个依赖项均为 true:audit_writable、configuration_ready、session_secret_persistent 和 mcp_ready。如果审计、配置、密钥或 MCP 依赖项不可用,进程仍可诊断,但返回 HTTP 503。
实验室部署拥有自己的镜像固定和滚动更新。参考 deploy/compose.yml 保留了外部 docker-slots 网络和相同的三个持久卷,但此仓库不部署它。运行时密钥永远不会通过 CI 或 compose 环境传递。
首次管理员登录
批准的引导路径使用操作员提供的密码文件。服务在没有该文件的情况下也能健康启动,但管理平面在文件存在之前保持不可访问。密码必须至少包含 16 个字节。它通过 scrypt 哈希到运行时数据库中,当首次登录初始化账户时,引导文件会被删除。如果删除失败,后续登录会重试清理,而不会更改已存储的管理员密码。
对于本地容器,创建文件时不要将密码放入 shell 历史记录或进程参数中:
docker exec -it vcf-ops-mcp sh
umask 077
python -c 'import getpass,pathlib; pathlib.Path("/keys/admin_bootstrap_password").write_text(getpass.getpass("New admin password: "))'
exit对于 docker.int 槽位,lab-admin 通过运行中的 vcf-ops-mcp-web 容器内主机的正常管理通道执行相同的单次操作。部署密钥不能也不得执行此操作,因为其强制命令允许列表有意排除了 exec。文件路径和模式相同。CI 永远不会收到引导密码。
打开 http://localhost:8000/admin/login,以 admin 身份登录,然后:
注册一个 VCF Ops 目标。新目标始终为
read_only。生产 FQDN 在服务端被识别,并且在此 MVP 中永远无法切换为操作模式。选择所需的已实现读取范围和一个或多个已注册目标,然后生成 MCP API 密钥。明文密钥仅显示一次。仅存储其 SHA-256 摘要。
使用 Streamable HTTP URL
http://localhost:8000/mcp/和标头Authorization: Bearer <显示的密钥>配置 MCP 客户端。使用
list_targets发现允许的目标 ID,然后调用读取工具。VCF 适配器参数在该工具的arguments对象中传递。检查
/admin/audit以查看仅追加的尝试记录和终态记录。
生产环境使用 https://vcf-ops-mcp.int.sentania.net,该地址保持管理会话 cookie 为 Secure。仅当 PUBLIC_BASE_URL 明确使用 http:// 时,本地 HTTP 才被启用。
持久化数据和恢复
三个卷根目录有各自的职责:
卷路径 | 内容 |
| 运行时 SQLite 数据库,包含管理员哈希、目标元数据、加密凭据信封和 API 密钥摘要 |
| 生成的会话密钥、审计参数摘要密钥、带版本控制的 AES-256-GCM 凭据密钥环,以及一次性管理员引导文件 |
| 仅追加的 SQLite 审计账本 |
将 /data、/keys 和 /audit 作为单独的保护工件进行备份。在加密目标记录仍然存在时丢失 /keys 是有意不可恢复的。服务器拒绝在现有密文上重新生成凭据密钥环。对于已建立的部署,不要使用 docker compose down -v。
如果进程在提交审计尝试记录之后但在终态记录之前死亡,下次启动时会追加 outcome_unknown。它永远不会重写尝试记录或虚构成功结果。
MVP 边界
已交付:
自动持久化
SESSION_SECRET生成,保留显式环境变量覆盖以支持直接进程操作。持久化加密目标配置、引导管理员登录、作用域 API 密钥生成和撤销、目标注册和审计查看。
经过身份验证的 Streamable HTTP,包含已实现的读取适配器、目标发现,以及技能工具和技能资源/提示。通过资源和提示获取技能内容需要与技能工具相同的
read:skills能力;没有该能力时仅可进行具体资源发现。只读目标姿态、API 密钥目标允许列表、默认拒绝的已实现范围、生产目标硬阻止、响应投影和上限,以及持久化的每工具审计。
有意推迟:
所有操作执行、可操作密钥、报告运行、计划/应用和异步任务轮询。这些仍处于 Phase 2 人工门禁之后。
UI 中的目标编辑和凭据轮换。
已完成报告下载,因为开发设备在未先运行报告变更的情况下没有已完成报告。
外部暴露、NSX、VCFA 自动化、直接 vCenter 工具和 PII 清洗。
非 LOCAL 认证源发现。之前的任意 FQDN 获取已被移除,因为它是 SSRF 边界,而不是安全的发现机制。
有关完整契约和实测的 VCF Ops 行为,请参阅 docs/SPEC.md、docs/decisions 中已接受的记录,以及 docs/read-plane.md。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides read-only access to query and retrieve information about devices, fleets, events, and configurations managed by Flight Control through a safe integration layer supporting filtering and selector-based queries.
- AlicenseAqualityBmaintenanceA read-only MCP server for AppDynamics that exposes 12 task-oriented tools to query applications, topology, metrics, snapshots, health rules, anomalies, events, alerting config, analytics events, and dependency maps via OAuth API-client credentials.121MIT

KVMFleet MCP Serverofficial
AlicenseAqualityCmaintenanceRead-only MCP server that allows AI assistants to query and monitor KVM Fleet devices, audit logs, and console sessions through the official REST API.5141MIT- AlicenseAqualityCmaintenanceExposes an observability REST API as MCP tools, enabling incident investigation through automated correlation of deploys with errors, log and metrics queries.6MIT
Related MCP Connectors
Read-only access to your VortexIQ store data: audits, KPIs, alerts, Brand DNA, reports, Ask VIQ.
A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud
XFA's remote MCP server — query device posture, compliance, policies & CVEs. Read-only.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sentania-labs/vcf-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server