vcf-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VCF_MCP_AVI_HOST | No | Override address for the Avi Load Balancer target. | |
| VCF_MCP_ENV_FILE | No | Path to the credentials .env file. Defaults to ./.env in a clone, or ~/.config/vcf-mcp/.env for an installed copy. | |
| VCF_MCP_NSX_HOST | No | Override address for the NSX Manager target. | |
| VCF_MCP_OPS_HOST | No | Override address for the VCF Operations target. | |
| VCF_MCP_SPEC_DIR | No | Directory containing the OpenAPI spec files. Defaults to ./specs in a clone, or the bundled copy in the package. | |
| VCF_MCP_AUDIT_LOG | No | Path where mutating calls are recorded. Defaults to ./logs/vcf-mcp-audit.jsonl in a clone, or ~/.local/state/vcf-mcp/vcf-mcp-audit.jsonl for an installed copy. | |
| VCF_MCP_CACHE_DIR | No | Directory for the index cache. Defaults to ~/.cache/vcf-mcp. | |
| VCF_MCP_SDDC_HOST | No | Override address for the SDDC Manager target. | |
| VCF_MCP_HOSTS_FILE | No | Path to the addresses file (hosts.json). Defaults to ./hosts.json in a clone, or ~/.config/vcf-mcp/hosts.json for an installed copy. | |
| VCF_MCP_VERIFY_TLS | No | Set to '1' to enforce TLS verification. Default is off because appliances present self-signed certs. | |
| VCF_MCP_AVI_PASSWORD | No | Override password for the Avi Load Balancer target. | |
| VCF_MCP_NSX_PASSWORD | No | Override password for the NSX Manager target. | |
| VCF_MCP_OPS_PASSWORD | No | Override password for the VCF Operations target. | |
| VCF_MCP_VCENTER_HOST | No | Override address for the vCenter Server target. | |
| VCF_MCP_VSAN_DP_HOST | No | Override address for the vSAN Data Protection target (usually same as vCenter). | |
| VCF_MCP_SDDC_PASSWORD | No | Override password for the SDDC Manager target. | |
| VCF_MCP_INSTALLER_HOST | No | Override address for the VCF Installer target. | |
| VCF_MCP_INSTALLER_CREDS | No | Path to the installer's generated credentials file. | |
| VCF_MCP_VCENTER_PASSWORD | No | Override password for the vCenter Server target. | |
| VCF_MCP_VSAN_DP_PASSWORD | No | Override password for the vSAN Data Protection target. | |
| VCF_MCP_INSTALLER_PASSWORD | No | Override password for the VCF Installer target. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vcf_targetsA | List every VCF appliance this server can talk to. Start here. Returns each target's name, product, address, auth scheme,
how many API operations it serves, and whether it is currently answering.
The |
| vcf_search_apiA | Find VCF API operations by intent, across ~7,700 indexed operations. Search the way you would describe the task -- "commission hosts", "rotate passwords", "expand cluster", "list segments" -- rather than guessing a path. Results are ranked and include method, full request path, summary and operationId. Args: query: What you want to do, in plain words. target: Restrict to one appliance (sddc, vcenter, nsx, ops, installer, vsan-dp). Strongly recommended when you know it. method: Restrict to GET/POST/PATCH/PUT/DELETE. limit: Maximum results (default 25). include_deprecated: Include operations VCF 9.1 marks deprecated. |
| vcf_describe_apiA | Show the full signature of one API operation before calling it. Identify the operation either by Always do this before a POST/PATCH/PUT -- VCF request bodies are large and unforgiving, and the schema names the required fields. Args: depth: How deep to expand nested schemas (1-6, default 3). Raise it when a nested object shows "truncated". max_properties: Cap properties rendered per object (default 60). |
| vcf_callA | Call a VCF API operation. Authentication is handled for you. This performs real operations against real infrastructure. Reads are safe; POST/PATCH/PUT/DELETE change the estate, and some are irreversible (decommissioning a host, deleting a workload domain). Every mutating call is recorded to the audit log. Check vcf_describe_api first when writing. Long-running operations return HTTP 202 and a task id -- follow it with vcf_task rather than assuming success. Args: target: Appliance name from vcf_targets. method: GET, POST, PATCH, PUT or DELETE. path: Full request path including any base prefix, exactly as vcf_search_api reports it (e.g. "/v1/hosts", "/policy/api/v1/infra/segments/web-seg"). Substitute real ids for {placeholders}. query: Query parameters as an object. body: JSON request body. timeout: Seconds to wait (VCF operations can be slow; default 300). max_response_chars: Shrink oversized responses to fit (default 20000). |
| vcf_taskA | Check, or wait on, a long-running VCF task. Most mutations return a task id instead of a result. This reports the task's current status and, when it fails, which subtask failed and why. Args: target: sddc or installer. task_id: The id returned by vcf_call. wait_seconds: Poll until the task reaches a terminal state or this many seconds elapse. 0 (default) checks once and returns. |
| vcf_validateA | Test a spec against VCF's validation endpoint WITHOUT executing it. SDDC Manager and the Installer pair most mutating endpoints with a validation twin that takes the same request body and checks it end to end -- POST /v1/clusters/validations for POST /v1/clusters, and so on. This is the safe way to iterate on a spec before committing it. Give the real path (e.g. "/v1/hosts") or the validation path directly; the twin is resolved automatically, run, and polled to completion. Returns validated true/false plus each failed check with its error. Targets without the /validations convention (vCenter uses ?action=check operations) get a list of the nearest check-style operations instead. Args: target: Appliance name from vcf_targets (sddc and installer have the richest validation surface). path: The operation you intend to run, or its /validations path. body: The same JSON body you would give the real operation. wait_seconds: How long to poll for the validation verdict. |
| vcf_inventoryA | Snapshot the estate: domains, clusters, hosts, gateways, alerts. One call that answers "what have I got?" across SDDC Manager, vCenter, NSX and Operations. Unreachable appliances are reported inline rather than failing the whole snapshot. Args: targets: Restrict to specific appliances (default: all with a recipe). per_section_limit: Items shown per section before summarising. |
| vcf_auditA | Show recent mutating calls made through this server. Every POST/PATCH/PUT/DELETE is logged with target, path, status and a redacted body. Use it to answer "what did I change?" -- including changes made by an earlier session. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/NiranEC77/vcf-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server