vcf-ops-mpb-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VCFOPS_HOST | Yes | VCF Operations FQDN (scheme and /suite-api are stripped). | |
| VCFOPS_USER | Yes | Account with MPB privilege. | |
| MPB_READ_ONLY | No | Hide every write tool when set to true. | false |
| VCFOPS_CA_FILE | No | PEM file to trust instead of using VCFOPS_INSECURE_TLS. | |
| MPB_DESIGNS_DIR | No | Where exports go and relative imports resolve. | ./mpb-designs |
| VCFOPS_PASSWORD | Yes | Password for the account with MPB privilege. | |
| VCFOPS_TIMEOUT_MS | No | Per-request timeout. | 120000 |
| VCFOPS_AUTH_SOURCE | No | Auth source name for non-local accounts. | |
| VCFOPS_INSECURE_TLS | No | Accept self-signed lab certificates. | false |
| MPB_MAX_OUTPUT_CHARS | No | Truncate large tool results. | 60000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Builds VCF Operations management packs through Management Pack Builder (MPB). Read the mpb://guide resource before authoring a design. Pipeline: create/import design -> set source -> add requests/objects/relationships/events -> test source -> collection preview -> verify -> install -> export to JSON.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mpb_connection_statusA | Checks the configured VCF Operations connection (token acquire + MPB design list) and reports host, read-only mode and design count. |
| mpb_list_designsB | Lists Management Pack Builder designs with id, name, version, validation status and install status. Optional name filter. |
| mpb_get_designA | Returns a design: info, validation status (with per-section errors) and, if requested, the source, source configuration and the request/object/relationship/event lists. |
| mpb_get_design_statusB | Returns VALID/INVALID/VERIFIED, install status (DRAFT/INSTALLED/OUT_OF_DATE) and every per-section validation error with its refId. |
| mpb_get_itemA | 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. |
| mpb_list_existing_object_typesA | 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. |
| mpb_get_existing_object_typeA | Returns MPB's view of one existing object type, including its metric set, e.g. adapterKindKey VMWARE + resourceKindKey VirtualMachine. |
| mpb_list_collectorsA | Lists VCF Operations collectors / cloud proxies with their uuId, which source tests need as collectorId. |
| mpb_test_regexB | 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. |
| mpb_export_designA | 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. |
| mpb_create_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. |
| mpb_update_design_infoB | Updates design info. Bump version before every reinstall: it flows to the adapter and drives the OUT_OF_DATE install status. |
| mpb_set_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. |
| mpb_set_source_configurationC | Writes the adapter-instance configuration fields and credential definitions (ConfigurationPayload) users fill in when adding an account. |
| mpb_upsert_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. |
| mpb_delete_itemsA | Deletes one or more requests, objects, relationships or events from a design. Requires confirm: true. |
| mpb_delete_designsA | Deletes MPB designs (not installed management packs). Requires confirm: true. |
| mpb_import_designA | 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. |
| mpb_test_sourceA | 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. |
| mpb_run_requestA | 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. |
| mpb_collection_previewA | Runs a full collection preview of the design (objects, metrics, properties, relationships) and returns the job id needed by mpb_verify_design. |
| mpb_verify_designA | Marks the design verified using a collection preview job (default: the latest one). Required before install. |
| mpb_installA | 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. |
| mpb_install_statusB | Polls one install deployment started by mpb_install. |
| mpb_shipA | 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. |
| mpb_api_callA | 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| mpb-guide | Pipeline, rules and known quirks of the Management Pack Builder API |
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.