Tool Reference
Purpose, parameters, and example input/output for all five VisualOne MCP tools.
The VisualOne MCP exposes five tools. This page documents each one: its purpose, parameters, and example input/output. All five are read-only.
| Tool | Category |
|---|---|
visualone_discover_reports | Discovery |
visualone_get_reports | Data |
visualone_list_units | Discovery |
visualone_get_session | Session |
visualone_health_check | Diagnostics |
visualone_discover_reports
Search the VisualOne report registry to find which report — and which stored procedure — to use for a request. Call this first whenever you want to see, run, or analyze a report, then use the returned proc_name to make the follow-up visualone_get_reports call.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Natural-language description of the report or data you want. |
limit | integer | No | Max results. Default 5, min 1, max 20. |
report_id | string | No | Look up one specific report by its exact reportId instead of searching. |
{ "tool": "visualone_discover_reports",
"arguments": { "query": "storage capacity plan", "limit": 5 } }
Reading the result: pick the report whose title / context matches, use its proc_name for the next call, and check each parameter’s source (context params are automatic; navigation params you must supply; user_input params are optional filters). When a report lists several routes, each proc_name is a different cut of the report (e.g. grouped by data center vs. by tier).
visualone_get_reports
Execute a VisualOne report and return the data. Use visualone_discover_reports first to obtain the correct proc_name.
| Parameter | Type | Required | Description |
|---|---|---|---|
action | string | Yes | Operation to perform. Use run_get to execute a stored-procedure report. |
proc_name | string | Yes (for run_get) | Stored procedure to run, from visualone_discover_reports. |
client_id | string | No | Resolved from session automatically. Super users may pass it to query another client. |
period_id | string | No | Auto-resolved to the latest period for the report context. Pass only to override. |
response_format | string | No | markdown (default) or json. |
| drilldown identifiers | string | depends | Supply when the report declares them as navigation parameters (see below). |
Drilldown identifier parameters
Provide these only when the chosen report requires them. Use visualone_list_units to resolve exact names.
| Parameter | Required for | Resolve via unit_type |
|---|---|---|
device_name | Storage Device drilldowns | devices |
vcenter_name | Virtual drilldowns | vcenters |
cluster_name | Cluster / host / VM drilldowns | clusters |
esx_host_name | VM & ESX host drilldowns | esx_hosts |
vm_name | VM summary drilldowns | vms |
datastore_name | Datastore drilldowns | datastores |
data_center_name | vCenter data-center summaries | vcenters |
host_name | Host / Hosts drilldowns | storage_hosts |
switch_name | Switch drilldowns | switches |
instance_name | Database Server drilldowns | database_instances |
node_name | Kubernetes Node drilldowns | kubernetes_nodes |
Examples
// Enterprise report (no drilldown)
{ "tool": "visualone_get_reports",
"arguments": { "action": "run_get", "proc_name": "enterprise_summary_proc" } }
// Drilldown report (JSON output)
{ "tool": "visualone_get_reports",
"arguments": {
"action": "run_get",
"proc_name": "device_capacity_plan_proc",
"device_name": "ARRAY-DAL-01",
"response_format": "json"
} }
Note:
client_idandperiod_idare resolved from your session and the report’s context — add them only to override the defaults. Report output is your live environment data; anonymize before publishing examples anywhere public.
The tool also advertises two helper actions — device_summary (a device inventory summary) and get_tag_mapping (a tag key/value map for a client). run_get is the primary, registry-driven action used for all catalog reports; confirm the helper actions in your deployment before relying on them.
visualone_list_units
Look up the exact entity identifiers needed to run drilldown reports. Call this before visualone_get_reports whenever a report requires a navigation parameter such as device_name, vcenter_name, cluster_name, esx_host_name, vm_name, switch_name, or instance_name. It returns only the identifier fields needed for the follow-up call, plus a total_matching count — not full report data.
| Parameter | Type | Required | Description |
|---|---|---|---|
unit_type | string | Yes | The entity type to look up (see table below). |
search | string | No | Case-insensitive substring match on the primary name. |
vcenter_name | string | No | Filter. Applies to clusters, esx_hosts, vms, datastores. |
cluster_name | string | No | Filter. Applies to esx_hosts, vms. |
esx_host_name | string | No | Filter. Applies to vms. |
device_name | string | No | Filter. Applies to storage_hosts. |
limit | integer | No | Max rows. Default 100, min 1, max 500. |
response_format | string | No | markdown (default) or json. |
Unit types
| unit_type | Returns |
|---|---|
devices | Storage arrays |
vcenters | VMware vCenters |
clusters | vSphere clusters |
esx_hosts | ESX hypervisor hosts |
vms | Virtual machines |
datastores | vSphere datastores |
switches | SAN switches |
storage_hosts | Hosts connected to storage |
database_instances | SQL Server instances |
// Resolve a VM by partial name
{ "tool": "visualone_list_units",
"arguments": { "unit_type": "vms", "search": "sql", "limit": 25 } }
// Progressive discovery: narrow as you descend
{ "unit_type": "vcenters", "search": "dallas" }
{ "unit_type": "clusters", "vcenter_name": "dal-vcenter-01.corp" }
{ "unit_type": "vms", "vcenter_name": "dal-vcenter-01.corp", "cluster_name": "PROD-CL01" }
If total_matching exceeds the rows returned, add filters or a more specific search term rather than raising limit.
visualone_get_session
Check the current authentication session. Returns the active user profile, client ID, role, and token expiry. Use it to confirm you are authenticated, to retrieve your client_id, or to check your role before super-user actions. Takes no parameters.
{ "tool": "visualone_get_session", "arguments": {} }
// Example response
{
"status": "authenticated",
"expiresAt": "2026-01-01T00:00:00.000Z",
"clientId": 1234,
"role": "standard_user"
}
visualone_health_check
Check whether the VisualOne Arbiter API is reachable and responding. Useful as a first step when troubleshooting. Accepts an optional response_format (markdown or json).
{ "tool": "visualone_health_check", "arguments": {} }
// Example response
# VisualOne Health Check
service: arbiter
version: 6.0.0
mongoConnection: OK
A response with mongoConnection: OK means the API and its datastore are healthy. Anything else indicates a backend issue — see Troubleshooting & FAQ.