Skip to content

Reference / MCP tools

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.

ParameterTypeRequiredDescription
querystringnoWords 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.

ParameterTypeRequiredDescription
namestringyesThe 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.

ParameterTypeRequiredDescription
metricstringnoOnly 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.

ParameterTypeRequiredDescription
metricsstring[]yesMetric names (1-10)
dimensionsstring[]noDimensions to group by (up to 10)
filtersfilter[]noFilters (up to 20)
limitintegernoMaximum 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.

ParameterTypeRequiredDescription
qstringyesThe 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.

ParameterTypeRequiredDescription
assetstringyesA metric name, an entity name or entity.dimension

Resources ​

URINameTypeDescription
keel://catalogcatalogapplication/jsonWhat this endpoint serves: model, release, counts, the top metrics (certified first) and entities.
keel://glossaryglossaryapplication/jsonThe workspace's approved business glossary terms with definitions and synonyms.

Anchor Keel is a working product name: one platform, a shared core and licensed modules (Keel Semantic, Keel Migrate). Documentation built from the repository — facts are derived from code, ADRs and the decisions log.