npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@mgovedarov/mcp-vcf-orchestrator

v2.2.1

Published

MCP server for VCF Automation Orchestrator — manage workflows, actions, configuration elements, and extensibility subscriptions via AI assistants

Readme

MCP Server for VCF Automation Orchestrator

npm version License: Apache-2.0

An MCP server that exposes VCF Automation Orchestrator (vRO), Service Broker, and Cloud Assembly REST API operations as tools. It helps AI assistants list, inspect, run, create, export, preflight, diff, import, and delete VCFA/vRO automation assets through discovery-first workflows.

Supports VCF 9 Automation and Aria Automation 8.x.

Documentation

Full documentation is available in the GitHub Pages site:

The docs include installation, configuration, MCP client setup, tool references, resources/prompts, how-tos, artifact lifecycle guidance, safety notes, troubleshooting, and contributor guidance.

Checked examples for common workflows are available in examples/README.md. These examples are validated against the registered tool and prompt names so stale snippets are caught during development.

Quick Start

Run directly from npm:

The package is published on npm as @mgovedarov/mcp-vcf-orchestrator.

npx @mgovedarov/mcp-vcf-orchestrator

Or install globally:

npm install -g @mgovedarov/mcp-vcf-orchestrator
mcp-vcf-orchestrator

Run from source:

git clone https://github.com/mgovedarov/mcp-vcf-orchestrator.git
cd mcp-vcf-orchestrator
npm install
npm run build

Claude Code Plugin

A Claude Code plugin in this repository bundles two skills (vcfa-authoring and vcfa-operations) that auto-activate and route to the server's vcfa-* prompts and tools with discovery-first, confirm-before-write safety. Install it from a Claude Code session:

/plugin marketplace add mgovedarov/mcp-vcf-orchestrator
/plugin install vcfa-orchestrator@mcp-vcf-orchestrator

The plugin contains skills only; configure the MCP server separately. See docs/guide/claude-code-plugin.md.

License And Branding

This project is licensed under the Apache License 2.0. Attribution notices are provided in NOTICE.

Forks and derivatives should preserve the required license and attribution notices. Redistributed packages must not use the @mgovedarov npm scope or imply that they are the official @mgovedarov/mcp-vcf-orchestrator package or repository.

Configuration

Required environment variables:

| Variable | Description | | --- | --- | | VCFA_HOST | VCF Automation hostname, for example vcfa.example.com. | | VCFA_USERNAME | Username without organization, for example admin. | | VCFA_ORGANIZATION | Organization name (the tenant URL slug, not the display name), or system for provider/system administrator logins, which are routed to /cloudapi/1.0.0/sessions/provider. | | VCFA_PASSWORD | Password for the VCF Cloud API session, or the vRO Basic-auth password when VCFA_TARGET_PLATFORM=vra8. |

Useful optional variables:

| Variable | Description | | --- | --- | | VCFA_TARGET_PLATFORM | Target platform mode. Defaults to vcfa, which uses the VCF Cloud API session flow and auto-negotiates the API version (9.1.0 preferred, then 9.0.0) via the unauthenticated GET /api/versions discovery document. Set to vcfa9.1 or vcfa9.0 to pin the VCF Cloud API version and skip the probe. Set to vra8 for vRA/vRO 8.12+ Basic-auth mode against /vco/api; this mode supports vRO read operations plus workflow execution/logs and does not support Automation-service APIs such as catalog, deployments, templates, or subscriptions. | | VCFA_IGNORE_TLS | Set to true to skip TLS certificate verification for this server's requests to the VCFA host (lab environments only). | | VCFA_ARTIFACT_DIR | Root directory for local artifact files. Defaults to artifacts/ in the MCP server process working directory, typically the open project. | | VCFA_PACKAGE_DIR | Override package artifact directory. | | VCFA_RESOURCE_DIR | Override resource artifact directory. | | VCFA_WORKFLOW_DIR | Override workflow artifact directory. | | VCFA_EXECUTION_LOG_DIR | Override workflow execution log export directory. | | VCFA_ACTION_DIR | Override action artifact directory. | | VCFA_CONFIGURATION_DIR | Override configuration artifact directory. | | VCFA_CONTEXT_DIR | Override persisted context snapshot directory. If unset, context snapshots prefer the MCP client's current workspace root at artifacts/context/, falling back to VCFA_ARTIFACT_DIR/context. | | VCFA_PROJECT_PACKAGE_NAME | Stable fully-qualified vRO package name reused by package-first project workflows, for example com.example.project. | | VCFA_PROJECT_PACKAGE_DESCRIPTION | Optional description used only when the exact project package is explicitly created. |

Tool Coverage

The server includes tools for:

  • Workflows, recursive workflow category/folder listing, workflow executions, inline/exported execution syslogs, workflow artifact scaffold/preflight/diff/import/export
  • Actions and action artifact import/export/preflight/diff
  • Configuration elements and resource elements
  • vRO packages and plugins, including package-first project package reuse
  • Categories
  • Service Broker catalog items and deployments
  • Deployment day-2 actions
  • Cloud Assembly blueprint templates
  • Event topics and extensibility subscriptions
  • Artifact promotion planning
  • Persisted Markdown/JSON context snapshots for future agents
  • MCP resources and prompts for discovery-first implementation work

See the tool reference for the full list.

The source and reference docs are kept in sync by npm run validate:docs, which compares registered tools, prompts, and resources against the documentation and checks documented examples for stale tool names or top-level arguments.

Prompt Examples

Discover what is reusable before building:

Use prompt vcfa-discover-capabilities with:
goal: "Map reusable VM provisioning workflows, actions, templates, catalog items, and subscriptions."

Persist environment context for future agents:

Use prompt vcfa-collect-context-snapshot with:
goal: "Persist reusable VM provisioning context before implementation work."
includeOptionalDomains: true

Persist VMware built-in workflow and action baseline context:

Use prompt vcfa-collect-context-snapshot with:
goal: "Persist VMware built-in workflow and action baseline context."
profile: vcfaBuiltIns

Author a real importable workflow artifact:

Use prompt vcfa-author-workflow with:
goal: "Build a workflow that accepts a project name and returns matching VM names."
categoryHint: "VCFA"

Wrap an existing vRO action as a workflow:

Use prompt vcfa-build-workflow-from-action with:
actionHint: "getAllMachines"
workflowGoal: "Expose machine inventory lookup as a workflow."
categoryHint: "VCFA"

Common Tool Examples

Collect a broader environment snapshot when the default item limit may skip relevant objects:

collect-context-snapshot(fileBaseName: "vcfa-context-full", includeOptionalDomains: true, maxItemsPerDomain: 600, overwrite: true)

Plan an implementation from verified discovery before authoring artifacts:

Use prompt vcfa-discovery-first-implementation-plan with:
goal: "Create a workflow that lists VMs by project name."
artifactKinds: "workflows and actions"

Prepare a safe workflow replacement with preflight, diff, and a live backup before importing:

prepare-artifact-promotion(kind: "workflow", fileName: "echo-message.workflow", target: {
  categoryId: "<workflow-category-id>",
  workflowId: "<live-workflow-id>"
}, backup: {
  enabled: true,
  fileName: "echo-message-backup.workflow",
  overwrite: false
}, overwrite: true)

Run a workflow with input validation, then export execution logs for troubleshooting:

get-workflow(id: "<workflow-id>")
run-workflow-and-wait(id: "<workflow-id>", inputs: [{ name: "message", value: "hello" }], timeoutSeconds: 60, pollIntervalSeconds: 2, confirm: true)
list-workflow-executions(workflowId: "<workflow-id>", maxResults: 5)
get-workflow-execution-logs(workflowId: "<workflow-id>", executionId: "<execution-id>", fileName: "execution-logs.json", level: "info", format: "json", maxResult: 200, overwrite: true)

Publish reusable project content through the stable project package:

ensure-project-package(packageName: "com.example.project")
add-workflow-to-project-package(packageName: "com.example.project", workflowId: "<workflow-id>", confirm: true)
rebuild-project-package(packageName: "com.example.project", confirm: true)
export-project-package(packageName: "com.example.project", fileName: "com.example.project.package", overwrite: true)
get-project-package-import-details(packageName: "com.example.project", fileName: "com.example.project.package")

Development

# Type-check and build
npm run build

# Run tests
npm test

# Run the full local validation gate
npm run validate

# Check docs/examples drift only
npm run validate:docs

# Run in dev mode
VCFA_HOST=... VCFA_USERNAME=... VCFA_ORGANIZATION=... VCFA_PASSWORD=... npm start

# Build documentation
npm run docs:build

# Preview documentation locally
npm run docs:dev

npm run validate builds the project, runs unit tests, enforces conservative coverage thresholds, validates docs/examples drift, builds the VitePress docs, and dry-runs npm packaging with package-content checks.

Safety

Use read-only discovery tools before live writes. Import, delete, deployment action, and run operations require explicit confirmation (confirm: true). Local artifact export and snapshot tools write files under configured artifact directories, are not advertised as read-only, and reject unsafe paths. They do not require confirmation; overwrite defaults to false.

Live VCFA validation should be run separately from local validation. Read-only list/get smoke checks are appropriate for sandbox environments; write, import, delete, and day-2 action tests should use disposable assets and explicit confirmation.