Appearance
MCP tool reference
Every serving endpoint is also an MCP server at /mcp/{endpoint} (streamable HTTP, ADR-0016). Agents authenticate with a workspace API key that has the mcp:use scope, or with an OIDC bearer token; every call runs under the caller's access policies, is rate limited and logged like any serving query. There is no SQL tool. See MCP for AI agents for set-up and client examples.
This page is generated from the MCP server's own tool definitions (src/Keel.Mcp/KeelMcpTools.cs and the tool catalog it shares with the in-app assistant) on every docs build, so it cannot drift from what agents see in tools/list.
Tool errors come back as MCP tool results with isError: true and the text Code: message — for unknown names with "Did you mean …" suggestions — so an agent can correct itself. The codes are listed in Error codes.
Tools and resources
6 tools and 2 resources, generated from the MCP server's own definitions.
list_metrics
List the governed metrics you may query, with business name, description, certification and trust score (0-100). Pass a query to filter by name, business name or description. Prefer certified metrics.
Annotations: read-only, not destructive.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | no | Words to look for in metric names and descriptions |
describe_metric
Describe one metric: its definition, the dimensions it can be grouped or filtered by, glossary terms, owner and trust breakdown.
Annotations: read-only, not destructive.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | yes | The metric name, e.g. net_revenue |
list_dimensions
List the dimensions you may group or filter by (entity.dimension, with time grains). Pass a metric to list only the dimensions usable with it.
Annotations: read-only, not destructive.
| Parameter | Type | Required | Description |
|---|---|---|---|
metric | string | no | Only the dimensions usable with this metric |
query_metrics
Query metrics through the governed semantic layer (access policies applied). Returns rows, trust scores and warnings. Filters: {dimension, op, values}; op is one of eq, ne, in, not_in, gt, gte, lt, lte, between, is_null, is_not_null, contains. Time dimensions take a grain suffix (e.g. order_date.calendar_date.month). There is no SQL access.
Annotations: read-only, not destructive.
| Parameter | Type | Required | Description |
|---|---|---|---|
metrics | string[] | yes | Metric names (1-10) |
dimensions | string[] | no | Dimensions to group by (up to 10) |
filters | filter[] | no | Filters (up to 20) |
limit | integer | no | Maximum rows, 1-1000 (default 100) |
search_glossary
Search the business glossary for a term (names, synonyms and definitions) and the model objects whose names match.
Annotations: read-only, not destructive.
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | yes | The term or words to search for |
explain_lineage
Explain where a metric, entity or dimension comes from (upstream tables and columns) and what depends on it.
Annotations: read-only, not destructive.
| Parameter | Type | Required | Description |
|---|---|---|---|
asset | string | yes | A metric name, an entity name or entity.dimension |
Resources
| URI | Name | Type | Description |
|---|---|---|---|
keel://catalog | catalog | application/json | What this endpoint serves: model, release, counts, the top metrics (certified first) and entities. |
keel://glossary | glossary | application/json | The workspace's approved business glossary terms with definitions and synonyms. |