vcf-ops-mcp
Sentania VCF Ops MCP (비공식)
vcf-ops-mcp는 VCF Operations용 소규모 관리 UI를 갖춘 컨테이너화된, 기본적으로 읽기 전용인 MCP 서버입니다. 현재 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로 해시되어 런타임 데이터베이스에 저장되며, 첫 로그인이 계정을 초기화할 때 부트스트랩 파일이 제거됩니다. 해당 제거가 실패하면 이후 로그인에서 저장된 관리자 암호를 변경하지 않고 정리 작업을 재시도합니다.
로컬 컨테이너의 경우 셸 기록이나 프로세스 인수에 암호를 넣지 않고 파일을 생성합니다:
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: "))'
exitdocker.int 슬롯의 경우 lab-admin은 실행 중인 vcf-ops-mcp-web 컨테이너 내부의 호스트 일반 관리 채널을 통해 동일한 일회성 작업을 수행합니다. 배포 키는 이를 수행할 수 없고 수행해서도 안 됩니다. 강제 명령 허용 목록이 의도적으로 exec를 제외하기 때문입니다. 파일 경로와 모드는 동일합니다. CI는 부트스트랩 암호를 절대 수신하지 않습니다.
http://localhost:8000/admin/login을 열고 admin으로 로그인한 후:
VCF Ops 대상을 등록합니다. 새 대상은 항상
read_only입니다. 프로덕션 FQDN은 서버 측에서 인식되며 이 MVP에서는 절대 actions로 전환할 수 없습니다.필요한 구현된 읽기 범위와 하나 이상의 등록된 대상을 선택한 다음 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을 사용하며, 이는 관리 세션 쿠키를 Secure로 유지합니다. 로컬 HTTP는 PUBLIC_BASE_URL이 명시적으로 http://를 사용할 때만 활성화됩니다.
영구 데이터 및 복구
세 개의 볼륨 루트는 별도의 역할을 가집니다:
볼륨 경로 | 내용 |
| 관리자 해시, 대상 메타데이터, 암호화된 자격 증명 봉투 및 API 키 다이제스트가 포함된 런타임 SQLite 데이터베이스 |
| 생성된 세션 비밀, 감사 인수 다이제스트 키, 버전 관리되는 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 인간 게이트 뒤에 남아 있습니다.
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