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Уровень live-appliance пропускается, если не предоставлены его явные переменные-ограничители. Обычные тесты используют только синтетические ответы 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 и сообщает о всех четырёх зависимостях как истинных: audit_writable, configuration_ready, session_secret_persistent и mcp_ready. Недоступная зависимость аудита, конфигурации, ключа или MCP оставляет процесс диагностируемым, но возвращает HTTP 503.
Лабораторное развёртывание владеет своим пином образа и процедурой обновления. Справочный deploy/compose.yml сохраняет внешнюю сеть docker-slots и те же три постоянных тома, но этот репозиторий не развёртывает его. Секреты времени выполнения никогда не передаются через CI или окружение compose.
Первый вход администратора
Одобренный путь начальной загрузки использует файл пароля, предоставленный оператором. Сервис запускается здоровым и без него, но административная панель остаётся недоступной, пока файл не существует. Пароль должен содержать не менее 16 байт. Он хешируется с помощью scrypt в базу данных времени выполнения, и файл начальной загрузки удаляется, когда первый вход инициализирует учётную запись. Если удаление не удаётся, более поздний вход повторяет очистку без изменения сохранённого пароля администратора.
Для локального контейнера создайте файл, не помещая пароль в историю оболочки или аргументы процесса:
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.Выберите требуемые реализованные области чтения и одну или несколько зарегистрированных целей, затем создайте ключ API MCP. Открытый текст ключа отображается один раз. Хранится только его SHA-256 дайджест.
Настройте MCP-клиент с URL Streamable HTTP
http://localhost:8000/mcp/и заголовкомAuthorization: Bearer <displayed-key>.Используйте
list_targetsдля обнаружения разрешённых идентификаторов целей, затем вызовите инструмент чтения. Аргументы адаптера VCF передаются в объектеargumentsэтого инструмента.Просмотрите
/admin/audit, чтобы увидеть попытки и терминальные записи, доступные только для добавления.
Производство использует https://vcf-ops-mcp.int.sentania.net, что сохраняет cookie сеанса администратора Secure. Локальный HTTP включён только тогда, когда PUBLIC_BASE_URL явно использует 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, реализованные области по умолчанию запрещены, жёсткая блокировка производственных целей, проекция и ограничения ответов, а также долговечный аудит каждого инструмента.
Намеренно отложено:
Все выполнение действий, ключи с возможностью действий, запуски отчётов, plan/apply и асинхронный опрос задач. Они остаются за человеческим шлюзом Phase 2.
Редактирование целей и ротация учётных данных в интерфейсе.
Загрузка завершённых отчётов, потому что на устройстве разработки нет завершённых отчётов без предварительного выполнения мутации отчёта.
Внешнее воздействие, NSX, автоматизация VCFA, инструменты прямого vCenter и очистка PII.
Обнаружение источников аутентификации, отличных от LOCAL. Более ранний произвольный FQDN-запрос был удалён, потому что это была граница SSRF, а не безопасный механизм обнаружения.
См. docs/SPEC.md, принятые записи в docs/decisions и docs/read-plane.md для полного контракта и измеренных поведений 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