vcf-ops-mcp
Sentania VCF Ops MCP (no oficial)
vcf-ops-mcp es un servidor MCP contenerizado, de solo lectura por defecto, con una
pequeña interfaz de administración para VCF Operations. El MVP actual expone las lecturas
implementadas de inventario, métricas, alertas, definiciones de informes, destinos y
habilidades a través de HTTP Streamable autenticado. Cada llamada a una herramienta MCP
pasa por el despachador de auditoría duradero.
Este es un proyecto no oficial de laboratorio personal. No es una oferta de Broadcom ni de VMware.
Ejecutar la suite de pruebas
Se requiere Python 3.12 o posterior.
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-testEl nivel de appliance en vivo se omite a menos que se proporcionen sus variables de protección explícitas. Las pruebas normales usan solo respuestas sintéticas de VCF Ops.
Related MCP server: appd-mcp
Compilar e iniciar el contenedor localmente
El servicio crea su secreto de firma de sesión y su llavero de credenciales en el volumen
/keys en el primer inicio. No se requiere un SESSION_SECRET escrito a mano.
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:localEn otra terminal:
curl --fail http://localhost:8000/healthzUna respuesta lista es HTTP 200 e informa las cuatro dependencias como verdaderas:
audit_writable, configuration_ready, session_secret_persistent y
mcp_ready. Una dependencia de auditoría, configuración, clave o MCP no disponible
mantiene el proceso diagnosticable pero devuelve HTTP 503.
El despliegue de laboratorio posee su fijación de imagen y su lanzamiento. El
deploy/compose.yml de referencia conserva la red externa
docker-slots y los mismos tres volúmenes persistentes, pero este repositorio no lo
despliega. Los secretos en tiempo de ejecución nunca pasan por CI ni por el entorno de
compose.
Primer inicio de sesión de administrador
La ruta de arranque aprobada usa un archivo de contraseña proporcionado por el operador. El servicio se inicia saludable sin él, pero el plano de administración permanece inaccesible hasta que el archivo exista. La contraseña debe contener al menos 16 bytes. Se aplica un hash con scrypt en la base de datos en tiempo de ejecución y el archivo de arranque se elimina cuando el primer inicio de sesión inicializa la cuenta. Si esa eliminación falla, un inicio de sesión posterior reintenta la limpieza sin cambiar la contraseña de administrador almacenada.
Para el contenedor local, cree el archivo sin colocar la contraseña en el historial del shell ni en los argumentos del proceso:
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: "))'
exitPara el slot docker.int, lab-admin realiza la misma operación de una sola vez a través del
canal administrativo normal del host dentro del contenedor en ejecución
vcf-ops-mcp-web. La clave de despliegue no puede ni debe realizarla, porque su lista de
permitidos de comandos forzados excluye intencionalmente exec. La ruta del archivo y el
modo son los mismos. CI nunca recibe la contraseña de arranque.
Abra http://localhost:8000/admin/login, inicie sesión como admin, luego:
Registre un destino de VCF Ops. Los nuevos destinos son siempre
read_only. El FQDN de producción se reconoce en el lado del servidor y nunca se puede cambiar a acciones en este MVP.Seleccione los ámbitos de lectura implementados requeridos y uno o más destinos registrados, luego emita una clave de API MCP. La clave en texto plano se muestra una sola vez. Solo se almacena su digest SHA-256.
Configure el cliente MCP con la URL HTTP Streamable
http://localhost:8000/mcp/y el encabezadoAuthorization: Bearer <clave-mostrada>.Use
list_targetspara descubrir los IDs de destino permitidos, luego llame a una herramienta de lectura. Los argumentos del adaptador de VCF se pasan en el objetoargumentsde esa herramienta.Inspeccione
/admin/auditpara ver los registros de intento y terminales de solo anexión.
La producción usa https://vcf-ops-mcp.int.sentania.net, que mantiene la cookie de sesión
de administrador Secure. HTTP local está habilitado solo cuando PUBLIC_BASE_URL
usa explícitamente http://.
Datos persistentes y recuperación
Las tres raíces de volumen tienen trabajos separados:
Ruta de volumen | Contenido |
| Base de datos SQLite en tiempo de ejecución con hash de administrador, metadatos de destino, sobres de credenciales cifrados y digests de claves de API |
| Secreto de sesión generado, clave de digest de argumentos de auditoría, llavero de credenciales AES-256-GCM versionado y el archivo de arranque de administrador de un solo uso |
| Libro mayor de auditoría SQLite de solo anexión |
Haga una copia de seguridad de /data, /keys y /audit como artefactos protegidos
separados. Perder /keys mientras quedan registros de destino cifrados es
intencionalmente irrecuperable. El servidor se niega a regenerar el llavero de
credenciales sobre texto cifrado existente. No use docker compose down -v para un
despliegue establecido.
Si un proceso muere después de confirmar un intento de auditoría pero antes de su registro
terminal, el siguiente inicio agrega outcome_unknown. Nunca reescribe el intento ni
inventa un resultado exitoso.
Límite del MVP
Incluido:
Generación automática y duradera de
SESSION_SECRET, con una anulación explícita de entorno retenida para la operación directa del proceso.Configuración de destino cifrada y duradera, inicio de sesión de administrador de arranque, emisión y revocación de claves de API con ámbito, registro de destinos y visualización de auditoría.
HTTP Streamable autenticado con los adaptadores de lectura implementados, descubrimiento de destinos y tanto herramientas de habilidades como recursos/prompts de habilidades. El contenido de habilidades sobre recursos y prompts requiere la misma capacidad
read:skillsque las herramientas de habilidades; solo el descubrimiento concreto de recursos está disponible sin ella.Postura de destino de solo lectura, listas de permitidos de destinos para claves de API, ámbitos implementados con denegación por defecto, bloqueo duro de destinos de producción, proyección y límites de respuesta, y auditoría duradera por herramienta.
Diferido intencionalmente:
Toda ejecución de acciones, claves con capacidad de acciones, ejecuciones de informes, plan/apply y sondeo de tareas asíncronas. Todo esto permanece detrás de la puerta humana de la Fase 2.
Edición de destinos y rotación de credenciales en la interfaz.
Descarga de informes completados, porque el appliance de desarrollo no tiene informes completados sin antes ejecutar una mutación de informes.
Exposición externa, NSX, automatización de VCFA, herramientas directas de vCenter y limpieza de PII.
Descubrimiento de fuentes de autenticación no LOCALES. La búsqueda anterior de FQDN arbitrario se eliminó porque era un límite de SSRF, no un mecanismo de descubrimiento seguro.
Consulte docs/SPEC.md, los registros aceptados en docs/decisions y docs/read-plane.md para el contrato completo y los comportamientos medidos de VCF Ops.
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