Vantage Docs
MCP server

Tool reference

Which tools does the server expose, with inputs and outputs?

The server is named vantage, version 1.0.0. It exposes four tools and no resources or prompts. Every result is one text content block holding JSON. A failure is a tool result with isError: true and a sentence in the text, not a JSON-RPC error.

ToolReads or writesAI actionsAnnotations
list_metricsreads0readOnlyHint
query_metricsreads0readOnlyHint
describe_dashboardreads0readOnlyHint
draft_starter_packsaves a draft3, or 1 if nothing can be builtnot read-only, not destructive, not idempotent

The three read tools send nothing to Anthropic. draft_starter_pack sends the project's dataset schema (names and types, no rows) to Claude, so it needs the workspace's AI consent, like Starter packs in the app.

list_metrics

Input: none.

Output: an array of members from the projects the token's user is a member of.

FieldMeaning
nameMember to use in queries, <cube>.<member>
cubeCube (metric model) it belongs to
kindmeasure, dimension or time
titleDisplay title
type, agg, format, descriptionPresent when the model sets them
[
  { "name": "sales.revenue", "cube": "sales", "kind": "measure", "title": "Revenue", "agg": "sum", "format": "currency" },
  { "name": "sales.facility", "cube": "sales", "kind": "dimension", "title": "Facility", "type": "string" },
  { "name": "sales.order_date", "cube": "sales", "kind": "time", "title": "Order date" }
]

query_metrics

Input: query, a Cube query restricted to these keys (anything else is rejected):

KeyType
measures, dimensionsstring arrays of member names from list_metrics
filters[{ member, operator, values? }]; nested and / or are not supported
timeDimensions[{ dimension, granularity?, dateRange? }]; granularity is day, week, month, quarter or year; dateRange is [from, to] or a phrase such as "last 30 days"
order{ "<member>": "asc" | "desc" }
limit, offsetintegers; limit is capped at 5,000
{
  "query": {
    "measures": ["sales.revenue"],
    "dimensions": ["sales.facility"],
    "filters": [{ "member": "sales.facility", "operator": "equals", "values": ["westlands store"] }],
    "timeDimensions": [{ "dimension": "sales.order_date", "granularity": "month", "dateRange": "last 6 months" }]
  }
}

Output: { rows, titles }, plus unmatched when an equals filter value matched nothing.

FieldMeaning
rowsUp to 5,000 rows keyed by member name
titlesMember name → display title
unmatched[{ member, value }] for filter values not found in the data

Values in equals and notEquals filters on string dimensions are matched case-insensitively against the warehouse, so westlands store finds Westlands Store. Queries run in the workspace's report timezone.

Error textCause
Not in your metrics: <members>A member not returned by list_metrics
Unsupported query at <path>: … / Nested and/or filters are not supportedQuery shape outside the table above
These figures are still being computed. Try again shortly.Pre-aggregations still building
Ask is for project membersThe user belongs to no project

describe_dashboard

Input: dashboardId, a UUID (the id in a dashboard's URL, /dashboards/<id>).

Output: the published version of a dashboard the user may view.

{
  "name": "Revenue by facility",
  "widgets": [
    { "title": "Revenue", "viz": "bar", "query": { "measures": ["sales.revenue"], "dimensions": ["sales.facility"] } }
  ]
}

query is null for a widget that is not backed by a Cube query (a saved SQL query, for example). A dashboard with no published version returns That dashboard is not published yet.

draft_starter_pack

Input: projectId, a UUID. The user needs the editor role in that project.

Output:

FieldMeaning
verticalThe kind of business the schema was read as
counts{ views, models, dashboards } drafted
notBuiltItems Claude proposed that could not be built, with why
reviewUrlhttps://<app>/catalog?draft=<id>, where a person reviews and imports it; null when nothing was built

Nothing is installed: the draft waits on the Catalog page. A project with no data answers Connect a data source to this project first.

Next

On this page