vcf-orchestrator-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VRO_ORG | No | VCFA org for vcfa-cloudapi mode (System = provider) | |
| VRO_URL | Yes | URL of the Orchestrator server. Required. Embedded: https://auto.vmw.lab, External: https://vro.vmw.lab | |
| VRO_TOKEN | No | Static bearer token for token mode | |
| VRO_DOMAIN | No | Identity domain for vcfa login (e.g. vsphere.local, System Domain, AD domain) | |
| VRO_API_BASE | No | API base path. Default: /vco/api | /vco/api |
| VRO_AUTH_URL | No | Where to log in when Orchestrator authenticates against a different VCF Automation host. Default: VRO_URL | VRO_URL |
| VRO_INSECURE | No | Set to 'true' for self-signed lab certs. Default: false | false |
| VRO_PASSWORD | No | Password for authentication (used in vcfa, vcfa-cloudapi, and basic modes) | |
| VRO_USERNAME | No | Username for authentication (used in vcfa, vcfa-cloudapi, and basic modes) | |
| VRO_AUTH_MODE | No | Authentication mode. One of: auto, vcfa, vcfa-cloudapi, basic, token. Default: auto | auto |
| VRO_MAX_CHARS | No | Response truncation limit per tool call. Default: 25000 | 25000 |
| VRO_SPEC_PATH | No | Path to a custom OpenAPI spec file. Default: bundled 9.0.0 spec | |
| VRO_TIMEOUT_MS | No | Timeout in milliseconds. Default: 60000 | 60000 |
| VRO_SCRATCH_MODULE | No | Module for vro_run_script temp actions. Default: com.mcp.scratch | com.mcp.scratch |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vro_server_infoA | Check connectivity to VCF Operations Orchestrator: logs in, returns the server's /about info, the auth mode in use, and the loaded API spec. Call this first if anything fails. |
| vro_api_searchA | Search the Orchestrator REST API spec (300+ operations) by keyword, e.g. 'workflow execution logs', 'configuration element', 'package export', 'resource element'. Returns operationIds to use with vro_api_describe / vro_api_call. Pass query='' with listTags=true to see API areas. |
| vro_api_describeA | Show one Orchestrator API operation in detail: path/query/header parameters, request body schema ($refs resolved) and success response shape. Use before vro_api_call for anything with a body. |
| vro_api_callA | Call any Orchestrator REST endpoint (full access — GET/POST/PUT/PATCH/DELETE). Identify it by operationId (preferred, from vro_api_search) or by method + path relative to /vco/api. Inventory lists (link/attributes) are flattened into 'items' unless raw=true. |
| vro_find_workflowsB | Find Orchestrator workflows by (partial) name. Returns id, name, category, version, description. |
| vro_get_workflowA | Get a workflow's inputs/outputs (names + types), version and description, by id or exact name. |
| vro_run_workflowA | Run a workflow by id or name with plain JSON inputs ({inputName: value}); values are converted to Orchestrator types automatically (string, number, boolean, Date, Properties, Array/x, SecureString, SDK objects given as id). By default waits for completion and returns state, outputs, error and logs. |
| vro_get_executionB | Get a workflow execution's state, outputs and error, optionally with logs. Can also wait for it to finish. |
| vro_list_executionsB | List recent executions of a workflow (id, state, start/end, started by). |
| vro_find_actionsB | Find Orchestrator actions by partial module or name (e.g. 'getAllVMs', 'com.vmware.library.vc'). Returns fqn module/name and id. |
| vro_get_actionC | Get an action's script, inputs and return type. Reference as 'module/name' or id. |
| vro_run_actionB | Execute an action synchronously with plain JSON inputs ({inputName: value}) and return its result (converted to plain JSON), error with line number, and logs. |
| vro_save_actionA | Create or update an action (upsert by module/name). Script must be plain ES5 JavaScript (no arrow functions, let/const, template literals, etc.) — Orchestrator runs Rhino. Omitted inputs/returnType keep the existing ones on update. Versions are always maintained: new actions start at 1.0.0, every update bumps the patch version unless version/bump is given. |
| vro_run_scriptA | Run an ad-hoc JavaScript snippet on Orchestrator — for prototyping and quick checks. Creates a temporary action, executes it with the given inputs (available as variables), returns the 'return' value + System.log output, then deletes the action. Script must be plain ES5 (Rhino): var, function(){}, no arrow functions/let/const/template literals. |
| vro_save_workflowA | Create or update (upsert by name + folder) an Orchestrator workflow from a compact spec: inputs, outputs, attributes and ordered steps (script tasks, action calls, decisions, ends). Builds the schema, creates the folder path if missing, and validates. Scripts must be plain ES5. Steps flow in array order unless next/ifTrue/ifFalse say otherwise. Versions are always maintained: new = 1.0.0, each update bumps the patch version unless version/bump is given. Set dryRun to only return the generated XML. |
| vro_set_versionsA | Set or bump the version of actions (whole module or listed fqns) and/or workflows (ids or names) in one call, without touching their content. Use to baseline versions (e.g. set 1.0.0) or to mark a release (bump minor/major). |
| vro_delete_workflowB | Delete a workflow by id or exact name. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Most tools have clearly distinct resource+action targets (find/get/save/run for workflows and actions, executions, API spec). Minor overlap between vro_run_workflow (which waits and returns state) and vro_get_execution, and between vro_run_action and vro_run_script, but descriptions clarify the intended use of each.
Every tool follows the same vro_<verb>_<noun> snake_case pattern (vro_api_search, vro_find_workflows, vro_save_action, vro_run_execution-style verbs). No mixed conventions or vague verbs, making the set highly predictable.
17 tools for a broad platform (workflows, actions, executions, versions, and full REST API access) is reasonable and each tool earns its place. It leans slightly heavy, but the scope (full Orchestrator domain) justifies it.
Strong lifecycle coverage: find/get/save/run/delete for workflows, find/get/save/run for actions, plus execution inspection, version management, and a raw vro_api_call escape hatch for anything missing. Minor gaps exist (no delete action, no cancel/delete execution tool), workable via the generic API call.