Skip to main content
Glama

Costory: Your Finops MCP

publish_virtual_dimension

Validate the latest persisted pending virtual dimension draft, then promote it to published and kick off a BigQuery refresh. virtualDimensionId in inputs equals id from list/get/search. Requires a pending draft row — call update_virtual_dimension_draft for an existing virtualDimensionId (or create_virtual_dimension_draft for a brand-new VDIM) before publish. Preview alone does not create a draft. Rejects invalid drafts with draftValidation errors (no publish). On success returns virtualDimensionId, immutable bqName, name, computeStatus, and published rules — does not wait for the refresh job. After publish, query using returned bqName for groupBy/filterCel in query — bqName is immutable (set at create from the initial name) and does not change when name is renamed. computeStatus is REFRESHING when the refresh job was queued (async — poll via get or list_virtual_dimensions until COMPLETED before querying), or TO_REFRESH when the draft was promoted but queuing the refresh job failed — do not query yet; retry publish or re-check computeStatus until COMPLETED. Deletes the pending draft version. Clerk MCP only — not available on the service route. EXAMPLE: "Publish the Environment VDIM draft" → { virtualDimensionId: "<virtualDimensionId from create/list>" }

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNoOrganization slug. Omit to auto-detect from your account (fails if you belong to multiple orgs).
virtualDimensionIdYesVirtual dimension id (stable public identifier)

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses critical behaviors not captured by annotations: it deletes the pending draft version, starts an async BigQuery refresh, returns computeStatus values (REFRESHING/TO_REFRESH) with guidance on querying, explains bqName immutability, and notes it does not wait for the refresh job. Since annotations provide no safety hints (all false), this full transparency is essential and well-provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured, front-loading the main action and followed by prerequisites, error handling, return value details, and an example. Each sentence adds essential information without redundancy, making the length appropriate for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description fully covers return fields, error conditions, async behavior, side effects (deletion), and operational caveats. It explains what happens in every computeStatus state and instructs on next steps, making the description self-sufficient for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaningful context by stating that virtualDimensionId equals the id from list/get/search and providing a concrete example mapping the example utterance to the parameter. This goes beyond the schema's 'stable public identifier' description, earning a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool validates and promotes a persisted pending virtual dimension draft, then triggers a BigQuery refresh. It clearly distinguishes from siblings like create_virtual_dimension_draft, update_virtual_dimension_draft, and preview_virtual_dimension_draft by focusing on the publish action and its effects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit prerequisites: a pending draft must exist, and directs the user to update_virtual_dimension_draft or create_virtual_dimension_draft beforehand. It also warns that preview alone does not create a draft, explains when to poll with get/list_virtual_dimensions, and notes the tool is Clerk MCP only, giving clear when-to-use and alternative context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Tools are organized by resource (alerts, dashboards, reports, events, virtual dimensions) with distinct actions, so most are clearly separable. The main confusion risks are the three report-delivery side-effect tools (run_report_now, retry_report_execution, transfer_report_execution) and the generic get that spans five resource types, though detailed descriptions mitigate these.

Naming Consistency4/5

The dominant verb_noun pattern (create_*, list_*, update_*, preview_*, get_*) is consistent and predictable across the set. Deviations like bare verbs query/search/get and the noun-only virtual_dimension_overlap_matrix are readable but break the otherwise uniform convention.

Tool Count3/5

44 tools is heavy and exceeds the comfortable range, but the server covers a genuinely broad FinOps platform spanning querying, dashboards, reports, alerts, events, virtual dimensions, docs, skills, and suggestions. Each tool has a distinct job, though the sheer count makes agent navigation harder.

Completeness3/5

Core workflows are well covered: query → dashboard/report/alert/event, plus a full virtual-dimension draft lifecycle. Notable gaps include alerts being create-only with no update/delete, no deletes for dashboards/events/published virtual dimensions, and budget management limited to query/get with no create/update.

Resources