vcf-ops-mpb-mcp
Drives the VCF Operations (Broadcom/VMware) Management Pack Builder internal API to design, test, verify, install and export REST management packs — including managing designs and sources, authoring requests/objects/relationships/events, running source tests on collectors, previewing collections, checking validity, installing packs, and exporting designs as JSON.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vcf-ops-mpb-mcp test, verify, and install my latest MPB design"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
vcf-ops-mpb-mcp

An MCP server for the VCF Operations Management Pack Builder (MPB). Any MCP client (Claude, Cursor, VS Code, a local model) can design, test, verify, install and export REST management packs, without the built-in AI Assistant and with any LLM you choose.
Unsupported API. MPB is driven through
/suite-api/internal/mpbuilder/*, an internal VCF Operations API that is undocumented and can change between releases. Broadcom support does not cover MPB. Use in labs and for community packs; pin to a tested VCF Operations build.
Why
No lock-in. VCF 9.1.1's AI Assistant only works with Gemini or VCF Private AI. This server works with whatever agent you run.
Designs as code. Export each pack as JSON into git and re-import it anywhere. After an upgrade that breaks MPB-built packs (9.1.1 did), re-run one pipeline to rebuild them.
The full loop, headless. Source test → collection preview → verify → install, including the steps the MPB UI hides (persisting the test response, collector UUIDs, two-step session auth).
Related MCP server: MCP REST API Tester
Tools
Group | Tool | What it does |
Discover |
| Checks auth and MPB reachability |
| Designs with status and install state | |
| Info, validation errors, source, sections | |
| VALID / INVALID / VERIFIED and every error | |
| One request/object/relationship/event, or a | |
| Built-in object types to extend or relate to | |
| Collector | |
| MPB's own regex check | |
Author |
| Create, rename, bump version |
| Data source, auth, account fields | |
| Requests, objects, relationships, events | |
| Import a JSON envelope, fixing known import quirks | |
| Delete designs | |
Test |
| Source test on a collector, saved into the design |
| Run one request through MPB | |
| Preview and verify | |
Ship |
| Build and install the pack |
| Test → preview → verify → install in one call | |
| Write the design to a JSON file, credential values removed | |
Raw |
| Any |
Resource mpb://guide explains the pipeline and the API's quirks to the agent.
Safety: MPB_READ_ONLY=true removes every tool that changes VCF Operations from the tool list. Deletes and installs return a dry run unless called with confirm: true. Install refuses designs that are not VALID, because MPB otherwise reports success and does nothing. Credentials passed to mpb_test_source are sent to VCF Operations for the test and are never written to disk.
Setup
Requires Node.js 18.17 or later, and a VCF Operations 9.x account with the Developer Center / Management Pack Builder privilege.
npx -y vcf-ops-mpb-mcp # run without installing
npm install -g vcf-ops-mpb-mcp # or install the vcf-ops-mpb-mcp commandFrom source: git clone https://github.com/imtrinity94/vcf-ops-mpb-mcp.git && cd vcf-ops-mpb-mcp && npm install.
Claude Desktop / Claude Code
{
"mcpServers": {
"vcf-ops-mpb": {
"command": "npx",
"args": ["-y", "vcf-ops-mpb-mcp"],
"env": {
"VCFOPS_HOST": "ops.vmw.lab",
"VCFOPS_USER": "admin",
"VCFOPS_PASSWORD": "********",
"VCFOPS_INSECURE_TLS": "true",
"MPB_DESIGNS_DIR": "/path/to/mpb-designs"
}
}
}
}Environment
Variable | Default | Purpose |
| – | VCF Operations FQDN (scheme and |
| – | Account with MPB privilege |
| (local) | Auth source name for non-local accounts |
|
| Accept self-signed lab certificates |
| – | PEM file to trust instead |
|
| Hide every write tool |
|
| Where exports go and relative imports resolve |
|
| Per-request timeout |
|
| Truncate large tool results |
Claude Code, one line:
claude mcp add vcf-ops-mpb -e VCFOPS_HOST=ops.vmw.lab -e VCFOPS_USER=admin -e VCFOPS_PASSWORD='********' -e VCFOPS_INSECURE_TLS=true -- npx -y vcf-ops-mpb-mcpHow it works
AI agent (any LLM) ──MCP/stdio──▶ vcf-ops-mpb-mcp ──HTTPS + vRealizeOpsToken──▶ VCF Operations
X-Ops-API-use-unsupported /suite-api/internal/mpbuilder/*
│
design JSON in git ◀── export / import ──────┘Pipeline: create or import design → set source → add requests, objects, relationships, events → source test (saved into the design) → collection preview → verify → install → export.
Development
npm test # runs the MCP server against an in-memory VCF Operations mockChanges are listed in CHANGELOG.md.
Typical prompts
"List my MPB designs and tell me why Synology is INVALID."
"Import
synology.json, test it with password X on the first collector, preview, verify, and install it.""Create a pack for the Veeam REST API: source
https://veeam.vmw.lab:9419/api, a jobs request, a Backup Job object with duration and status.""Export every VALID design into the designs folder."
Status
v1.0.0 is tested against an in-memory mock that follows the documented MPB behaviour (npm test). Still to check on a live VCF Operations 9.1.1 lab: the exact response shapes of preview jobs and the per-section POST bodies. Use mpb_api_call to look at raw responses if a tool's summary looks wrong.
Credits
The MPB API mapping (endpoints, wire format, import quirks, the import → test → preview → verify → install recipe) comes from the research in sentania-labs/vcf-content-factory (MIT). See NOTICE.md. This server is a new implementation and shares no code with it.
License
MIT
Available Tools
26 toolsmpb_api_callRaw MPB / Suite API callARead-only
Calls any /internal/mpbuilder/* or /api/* path (relative to /suite-api) for cases the other tools do not cover. Non-GET methods are not available in read-only mode.
Inputs: path (required), method (required), body, query.
mpb_collection_previewRun a collection previewARead-only
Runs a full collection preview of the design (objects, metrics, properties, relationships) and returns the job id needed by mpb_verify_design.
Inputs: designId (required), wait, logLevel.
mpb_connection_statusCheck VCF Operations connectionARead-only
Checks the configured VCF Operations connection (token acquire + MPB design list) and reports host, read-only mode and design count.
Inputs: no named parameters.
mpb_create_designCreate MPB designA
Creates an empty HTTP design. The name becomes the adapter kind once installed, so pick a stable one: renaming later creates a second adapter kind.
Inputs: name (required), version, description.
mpb_delete_designsDelete designsADestructive
Deletes MPB designs (not installed management packs). Requires confirm: true.
Inputs: designIds (required), confirm.
mpb_delete_itemsDelete design itemsADestructive
Deletes one or more requests, objects, relationships or events from a design. Requires confirm: true.
Inputs: ids (required), section (required), designId (required), confirm.
mpb_export_designExport design to a JSON fileARead-only
Exports a VALID design in MPB exchange format, removes credential values, and writes it to a file (design as code, git-friendly). Relative paths resolve under MPB_DESIGNS_DIR.
Inputs: designId (required), outputPath.
mpb_get_designGet MPB design detailARead-only
Returns a design: info, validation status (with per-section errors) and, if requested, the source, source configuration and the request/object/relationship/event lists.
Inputs: designId (required), include.
mpb_get_design_statusGet MPB design validation statusBRead-only
Returns VALID/INVALID/VERIFIED, install status (DRAFT/INSTALLED/OUT_OF_DATE) and every per-section validation error with its refId.
Inputs: designId (required).
mpb_get_existing_object_typeGet existing object type detailARead-only
Returns MPB's view of one existing object type, including its metric set, e.g. adapterKindKey VMWARE + resourceKindKey VirtualMachine.
Inputs: adapterKindKey (required), resourceKindKey (required).
mpb_get_itemGet one design itemARead-only
Returns the full form for one request, object, relationship or event (the item plus what it can reference). Use itemId "default" for a blank, defaults-filled form to base a new item on.
Inputs: itemId (required), section (required), designId (required).
mpb_import_designImport design from JSONA
Imports a design envelope (MPB export format) from a file or inline JSON, first fixing known import quirks (unwrapped list items, flat-format fields). The server assigns a new design id. Credentials must be re-entered (mpb_test_source credentials) before a source test passes.
Inputs: version, envelope, filePath, sanitize.
mpb_installBuild and install the management packA
Builds the pack from the design and installs it on this VCF Operations instance, waiting for the deployment. Refuses a design that is not VALID/VERIFIED, because MPB then silently does nothing. Requires confirm: true.
Inputs: designId (required), wait, confirm.
mpb_install_statusGet install deployment statusBRead-only
Polls one install deployment started by mpb_install.
Inputs: designId (required), deploymentId (required).
mpb_list_collectorsList collectorsARead-only
Lists VCF Operations collectors / cloud proxies with their uuId, which source tests need as collectorId.
Inputs: no named parameters.
mpb_list_designsList MPB designsBRead-only
Lists Management Pack Builder designs with id, name, version, validation status and install status. Optional name filter.
Inputs: nameContains.
mpb_list_existing_object_typesList existing object typesARead-only
Lists object types already declared by installed adapters (e.g. VMWARE VirtualMachine, HostSystem). Use these to extend built-in objects or relate new objects to them.
Inputs: limit, filter.
mpb_run_requestRun one HTTP requestARead-only
Runs one design request against the target through MPB (REQUEST job) and returns the response and attributes MPB found. Pass the request object from mpb_get_item.
Inputs: request (required), designId (required).
mpb_set_sourceSet the design sourceB
Creates or replaces the HTTP source (configuration with baseApiPath and collectorId, authentication with creds and optional sessionSettings, globalHeaders, testRequest). Pass the live GET /source shape, not the export envelope's source.source shape.
Inputs: source (required), designId (required).
mpb_set_source_configurationSet source configuration fieldsC
Writes the adapter-instance configuration fields and credential definitions (ConfigurationPayload) users fill in when adding an account.
Inputs: payload (required), designId (required).
mpb_shipTest, preview, verify and installA
Runs the full MPB pipeline for a design and stops at the first failing step: source test (+ persist), collection preview, verify, install. Requires confirm: true to install; without it, it stops after verify.
Inputs: designId (required), confirm, logLevel, collectorId, +2 more.
mpb_test_regexTest an MPB regexBRead-only
Runs a regular expression against a sample string with MPB's own regex engine, the same check the MPB UI uses for metric/property extraction.
Inputs: regex (required), sample (required).
mpb_test_sourceTest the design source connectionA
Runs the MPB source test on a collector (GET_SESSION when session auth is configured, then TEST_CONNECTION) and, by default, saves the test response into the source, which MPB requires before the design can become VALID.
Inputs: designId (required), persist, collectorId, credentials, +1 more.
mpb_update_design_infoUpdate design name/description/versionB
Updates design info. Bump version before every reinstall: it flows to the adapter and drives the OUT_OF_DATE install status.
Inputs: designId (required), name, version, description.
mpb_upsert_itemCreate or update a design itemA
Creates (POST) or updates (PUT, payload carries its id) a request, object, relationship or event. Body shapes: requests = HttpRequest; objects = ObjectDefinition; relationships = {existingObjectTypeReferences:[], relationship:{...}}; events = {existingObjectTypeReferences:[], event:{...}}. Start from mpb_get_item itemId:"default" (new) or an existing item, then edit. Note: per-object PUT is known to answer 500 on some builds; if so, re-import the design instead.
Inputs: mode (required), payload (required), section (required), designId (required).
mpb_verify_designVerify design from previewA
Marks the design verified using a collection preview job (default: the latest one). Required before install.
Inputs: designId (required), jobId.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 26 tools
Most tools target a distinct resource+action (designs, items, source, install), and the pipeline tools (test_source, collection_preview, verify_design, install) are clearly sequenced. The main overlap is mpb_get_design vs mpb_get_design_status (both surface validation/install status) and mpb_ship, which is a composite of the other pipeline steps; descriptions mitigate but do not eliminate this.
Nearly every tool follows a predictable mpb_verb_noun snake_case pattern (mpb_list_designs, mpb_upsert_item, mpb_delete_designs). A few deviate to bare verbs (mpb_install, mpb_ship) or noun phrases (mpb_connection_status, mpb_api_call), but the shared mpb_ prefix keeps the set readable.
At 26 tools the surface sits at the heavy end, driven by real domain breadth (design lifecycle, item CRUD, source config, test/verify/install pipeline). Several tools are conveniences layered over others (mpb_ship wraps the pipeline, mpb_install_status polls one job, mpb_api_call is an escape hatch), so some consolidation is possible.
The design lifecycle is well covered end-to-end: create/import/export/list/get/delete designs, upsert/delete items, configure and test the source, preview, verify, install and poll status. Gaps are modest — no uninstall/rollback or listing of installed packs, no standalone item listing beyond design fetch — and mpb_api_call provides a workaround.
Maintenance
Related MCP Connectors
Build and run AI workflows, agents, data tables and 1000+ API integrations from any MCP client.
Build, validate, and manage API simulations in WireMock Cloud from MCP-compatible AI agents.
List, read, edit, and deploy your GenMB AI-generated apps from any MCP client.
Build, debug, and publish production AI agent workflows in Falcon Builder from any MCP client.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables users to test and interact with REST API endpoints directly from MCP clients, with support for GET, POST, PUT, DELETE, and PATCH requests, authentication, custom headers, SSL verification, and response-size limits.5 npmISC
- AlicenseNot gradedqualityAmaintenanceEnables testing and interacting with any REST API endpoints directly from development environments through MCP clients, including support for multiple HTTP methods, authentication methods, custom headers, SSL verification control, and response size limiting.5 npmISC
- AlicenseNot gradedqualityAmaintenanceEnables testing and interacting with REST API endpoints through MCP clients, with support for multiple HTTP methods, authentication, custom headers, SSL verification settings, and response size limits.5 npmISC
- AlicenseNot gradedqualityAmaintenanceEnables testing and interacting with REST API endpoints through MCP clients, with support for multiple HTTP methods, authentication, custom headers, SSL verification, and response size limits.5 npmISC