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.
| Tool | Reads or writes | AI actions | Annotations |
|---|---|---|---|
list_metrics | reads | 0 | readOnlyHint |
query_metrics | reads | 0 | readOnlyHint |
describe_dashboard | reads | 0 | readOnlyHint |
draft_starter_pack | saves a draft | 3, or 1 if nothing can be built | not 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.
| Field | Meaning |
|---|---|
name | Member to use in queries, <cube>.<member> |
cube | Cube (metric model) it belongs to |
kind | measure, dimension or time |
title | Display title |
type, agg, format, description | Present 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):
| Key | Type |
|---|---|
measures, dimensions | string 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, offset | integers; 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.
| Field | Meaning |
|---|---|
rows | Up to 5,000 rows keyed by member name |
titles | Member 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 text | Cause |
|---|---|
Not in your metrics: <members> | A member not returned by list_metrics |
Unsupported query at <path>: … / Nested and/or filters are not supported | Query shape outside the table above |
These figures are still being computed. Try again shortly. | Pre-aggregations still building |
Ask is for project members | The 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:
| Field | Meaning |
|---|---|
vertical | The kind of business the schema was read as |
counts | { views, models, dashboards } drafted |
notBuilt | Items Claude proposed that could not be built, with why |
reviewUrl | https://<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.