vcf-ops-mcp
vcf-ops-mcp
Ein MCP-Server, der die suite-api REST-API von VCF Operations (vROps) kapselt und Ressourcen, Metriken und Alarme als MCP-Tools bereitstellt, sodass ein LLM-Client die überwachte Infrastruktur direkt abfragen kann.
Einrichtung
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env # then fill in your VCF Operations detailsErforderliche Konfiguration (über .env oder echte Umgebungsvariablen):
Variable | Beschreibung |
| Basis-URL der VCF Operations-Instanz, z.B. |
| Benutzer, der sich authentifiziert |
| Kennwort für deisen Benutzer |
| Name der Authentifizierungsquelle (Standard |
| Auf |
| Zeitlimit pro Anfrage in Sekunden (Standard |
Der Server holt bei der ersten Verwendung ein Token von /suite-api/api/auth/token/acquire, speichert es zwischen und bezieht es transparent erneut, wenn es kurz vor dem Ablauf steht oder mit 401 abgelehnt wird.
Konfiguration des Server-Transports und der Authentifizierung (ebenfalls über .env oder echte Umgebungsvariabe):
Variable | Beschreibung |
|
|
| Bind-Host für |
| Bind-ort für |
| Erforderlich für streamable-Http. Clients müssen |
| Kommgeternnte Zulistliste für |
Related MCP server: VMware-Monitor
Ausfürhrung
Standardmäßig kedient das als eigenständiger Rmote-Server über itstreamable-http, an 127.0.0.1:8000 gebunden, and verlangt bei jede Anfrage ein Bearer-Token:
export VCFOPS_MCP_BEARER_TOKEN="$(openssl rand -hex 32)"
vcf-ops-mcp
# or
python -m vcf_ops_mcpGET /healthz ist nicht authentifiziert (für Liveness-Cöheks von Load-Balancren/Orchestratorun); alles anderes erfordert das Bearer-Token. 127.0.0.1 lauchn nur lokal – um es tatsächlich von einem anderen Host aus erreicheen, binden Sie VCFOPS_MCP_HOST=0.0.0.0 (oder betreiben Sie es hinter einem Reverse-Proxy) undstellen Sie sicher, dass das Bearer-Token das Einzige is, was ich zwischen dem Netzweck und Zugangsdaten stelt, die Ihre gesamte überwachte Umgebrerau abfrüchen können. Behanden Sie es daher wie jedes anderes Geheimnis und bevorzugen Sie TLS-Beendung (z.B. einen Reverseee-Proxy) davor, statt unverschlüsselt items HTTP über ein ncht vertrauenwürdiges Netz zu verwenden.
Wenn VCFOPS_MCP_HOST ncht 127.0.0.1/localhost ist, hat FastMCPe eigener DNS-Rebinding-Schutz(eine Prüfung gegen den Host-Header eingehender Anfrage) standardmäßig nichts auf der Zulistliste, da formes die Allowlist nur für einen Loopback-Host automatisch konfiguriert. Bleibt die Zulistliste ungesetzt, wird kein Host-Header-Prüfung werden und das Bearer-Token is die einzige Zugangshranke – das ist in einem mön vertrauenwürdigen Netz völlig in Ordnung, aber setzen Sie VCFOPS_MCP_ALLOWED_HOSTS auf die Hostname-n/IP:Ports, über die Clients tatsächlich verbunden werden (Kommetätreلs), um auf einer gemeinsamen oder ncht vertrauenwürdigen Netze eine mehrstige Sicherheit zu haben.
"Richten Sie einen MCP-Client als streamable-http-server darauf hin, z.B. in to Claude Code:"']
claude mcp add --transport http vcf-operations http://<host>:8000/mcp \
--header "Authorization: Bearer <your-token>"Stattdess en über stdio ausführen
Für die lokle Verwendung, bei dem ein MCP-Client den Server selbst als Unterprozess startet (keine Netze nur wenn erforderlich, setzen Sie VCFOPS_MCP_TRANSPORT=stdio – in deisem modus ist kein Bearer-Token erforderlich. Beispielkonfiguration as product Nie the Claude Desktop:
{
"mcpServers": {
"vcf-operations": {
"command": "/absolute/path/to/.venv/bin/vcf-ops-mcp",
"env": {
"VCFOPS_MCP_TRANSPORT": "stdio",
"VCFOPS_BASE_URL": "https://ops.example.com",
"VCFOPS_USERNAME": "admin",
"VCFOPS_PASSWORD": "changeme"
}
}
}
}Werktzeuge
Ressourcen
list_ressources– durchsucht überwachte Objekte nach name/Adapterart/Ressourcenart/Healthzustandget_ressource– buildend die details für eine Ressourceget_ressource_properties– gesammelten Eignungenschaftenget_ressource_relationsips– übergeordnete/unterurte Objekte
Metriken
list_metric_keys– verfügbare statKeys für ein Adapter-/Ressourcenart-Päarget_latest_stats– letze Metrikenwerte für eine Resourcenquery_stats– historiche Zeitrehen über diverse Resoucen, mit Rollup/Intervall
Alarme
list_alerts– aktive/alle Alarme, optional eingeschränkt auf einen Ressource oder Kritikalitätget_alert– völlständige Einzheiten for einen Alermelist_alert_definitions– die den Alar zugrundeig liegenden Definitionen
Tests
pip install -e ".[dev]"
pytestDie Tests mocken die HTTP-API de VCF Operations mit respx – keine Live-Instanz erforderlich.
Hineweise
GeFüriert auf
mcp<2.0.0: Die 2.x-Linie des MCP-Python-SDKs hatFastMCPinMCPServerumbenannt und its es nachmcp.server.mcpserververschobenen. Diese projekte zilt auf die etablierte 1.xmcp.server.fastmcp.FastMCPAPI.
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Related MCP Servers
- AlicenseAqualityAmaintenanceAI-powered VMware vCenter/ESXi monitoring and operations. 20 MCP tools for inventory queries, health monitoring, VM lifecycle management, fast provisioning (Linked Clone, OVA, template deploy), snapshot management, and datastore browsing. Supports vSphere 6.5–8.0. Works with local models via Ollama/LM Studio.44270 PyPI74MIT
- AlicenseAqualityAmaintenanceRead-only VMware vCenter/ESXi monitoring. 8 MCP tools for VM inventory, host status, datastore capacity, cluster info, alarms, events, and VM details. Code-level enforced safety — no destructive operations exist in the codebase. Supports vSphere 6.5–8.0. Works with local models via Ollama/LM Studio.32491 PyPI15MIT
- FlicenseNot gradedqualityDmaintenanceExposes MCP tools that enable remote LLMs to query local Docker containers, OS processes, and system services in real time.-
- FlicenseAqualityDmaintenanceExposes two MCP tools (discover and execute) that enable agents to query an OpenAPI schema via natural language and execute matched API operations.2-