MCP server for VCF Automation Orchestrator — manage workflows, actions, configuration elements, and extensibility subscriptions via AI assistants
Strong tool definitions with comprehensive schemas and descriptions. All 19 tools have explicit registrations with Zod schemas and descriptions. Naming follows verb_noun convention (list-, get-, create-, update-, delete-, export-, import-, preflight-, collect-). Most parameters are well-described with types. Key strengths: confirmation guards on destructive ops, readOnlyHint annotations, pagination support. Weaknesses: some parameter descriptions lack format/constraint details (e.g., 'limit' object type not fully specified); output schemas documented in code but not exposed to LLM; error messages generic in places.
Collect reusable VCF Automation/vRO environment context and persist deterministic Markdown and JSON snapshots for future agents. Secrets, scripts, template YAML, and binary content are omitted by default. When available, snapshots default to the MCP client's current workspace artifacts/context directory.
Create a new action (scriptable task) in VCF Automation Orchestrator.
Create a new configuration element in VCF Automation Orchestrator. Use list-categories with type ConfigurationElementCategory to find a category ID first.
Delete an action from VCF Automation Orchestrator. This action is irreversible. Set confirm to true to proceed.
Delete a configuration element from VCF Automation Orchestrator. This action is irreversible. Set confirm to true to proceed. A 409 reporting the element as in use right after delete-package is usually transient; retry first, and set force to true only if it persists.
Pagination 'limit' parameter uses generic 'object' type without schema details. LLMs cannot infer valid structure (offset vs cursor, page vs limit fields).
Output schemas not exposed in tool definitions. LLMs cannot see what fields to expect from responses (e.g., list-actions returns 'link' array with id/module/name/description, but this is not documented in the schema).
Error messages in catch blocks are generic ('Failed to X') and do not guide recovery. No distinction between retryable (transient) vs user-fixable (invalid input) vs fatal errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Export a vRO package as a ZIP file under the configured package artifact directory on the server. The package name should be fully qualified (e.g. com.example.mypackage). The fileName must be a plain .package or .zip file name, not a path.
Get detailed information about a specific action including its parameters. The full script is returned only when includeScript is true.
Get detailed information about a specific catalog item by its ID.
Get detailed information about a specific configuration element including its attributes.
Get details of a specific vRO package by its name (e.g. com.example.mypackage).
Import a vRO package from the configured package artifact directory into the Orchestrator instance. The fileName must be a plain .package or .zip file name. Set confirm to true to proceed.
List actions (scriptable tasks) from VCF Automation Orchestrator. Optionally filter by name.
List available catalog items from the VCF Automation Service Broker. Optionally narrow the inventory with a search.
List categories in VCF Automation Orchestrator. Categories are needed to create workflows, actions, configuration elements, and resource elements. Use the type parameter to filter by category type.
List configuration elements from VCF Automation Orchestrator. Optionally filter by name or scope to a specific category.
List vRO packages available on the Orchestrator instance. Optionally filter by name substring.
List installed plugins in VCF Automation Orchestrator. Optionally filter by name substring.
Validate a local .package or .zip artifact under the configured package artifact directory before importing it.
Update an existing action (scriptable task) in place in VCF Automation Orchestrator via its ID. Provide at least one of script, inputParameters, or returnType; unspecified fields are preserved from the live action. Use get-action first to inspect the current contract, and pass expectedName/expectedModule to bind the update to the action you inspected. Set confirm to true to proceed.
Confirmation guards (confirm=true) are present but not documented in parameter descriptions. LLMs may not understand why confirm is required or what happens if omitted.
STDIO transport only, server is not remotely accessible and cannot be used by hosted MCP clients. Limits deployment to local/CLI-only scenarios.