list_virtual_dimensions
List virtual dimensions (custom cost axes) in the organization. virtualDimensionId in inputs equals id from list/get/search. Use when the user asks which virtual dimensions exist or needs a virtualDimensionId. Returns id, virtualDimensionId (same as id), name, bqName, description, status, computeStatus, tags (string[] of tag names), hasPendingDraft, and optionally draftValidation.ok when includeDraftStatus is true. bqName is the immutable BigQuery/CEL field name (e.g. virtual_environment) — set once at create from the initial name and never updated, even when name changes. Always use bqName (not name) for groupBy/filterCel in query. Use query to match name/bqName/description/tag; status filters DRAFT vs COMPLETED. Newly created MCP drafts typically have status DRAFT; published VDIMs are COMPLETED. Paginate with limit (default 50, max 100) and offset. Call this before get when the user refers to a VDIM by name rather than id.
EXAMPLE: "Show our environment virtual dimensions" → { query: "environment" }
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"context": "<context>"
},
"name": "list_virtual_dimensions"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Organization slug. Omit to auto-detect from your account (fails if you belong to multiple orgs). | |
| limit | No | Max rows to return (default 50, cap 100) | |
| query | No | Filter by name, bqName, description, or tag name | |
| offset | No | Number of rows to skip before returning results | |
| status | No | Filter by virtual dimension status | all |
| context | Yes | A few words on why you are calling this tool, for the server developer's analytics. Describe people and things by role, such as "a customer". Do not quote the user or include names, emails, or other personal details. | |
| llm_model | No | The model identifier you are running as, for example "claude-opus-4-8" or "gpt-5.2". Pass "unknown" if you are not certain. Recorded for the server developer's analytics. | |
| conversation_id | No | The conversation_id this server returned earlier in this conversation, unchanged, including after later user messages. Omit it if you have none. Recorded for the server developer's analytics. | |
| includeDraftStatus | No | Include draftValidation.ok for rows with a pending draft |