Before you begin
- An administrator has installed the Ontology app, and the Ontology Binding app if agents need table names. See Install and manage apps.
- Your MCP client is connected to Atlan. See Connect client to MCP Gateway. Reconnect after an app is installed so the client lists the new tools.
- You have the ontology ID and an exact release ID (
rel_…). Studio shows the release ID after you publish, and the ontology ID is the part of the Studio address after#/o/.
Choose a tool
All six tools are read-only. None of them saves a draft, publishes a release, reads warehouse rows or runs SQL. To turn an agent’s proposal into drafts, a person approves it in Studio; see Review agent-drafted definitions.
Example: answer a question about orders
A user asks, “Which customers placed more than three orders last month?” Here is how an agent answers it from the retail model.1
Open an MCP session
Call
mcp__initialise once per conversation and pass its session_id to every tool call. Each call also takes a rationale: one sentence on why the agent is calling the tool, recorded for audit.2
Get the meaning
Ask the ontology release for the definitions the question touches:The response names the
release and manifest_digest it read. Each resource has selected_because (for example term_match or relationship_path) and a depth from the direct match. Here it returns Customer, Order and the places link, which says each Order has exactly one Customer.3
Check that nothing was cut
Read
truncated before you rely on the answer. If it is true, follow refinement_hints: use more specific terms, narrow include, or raise max_resources or max_tokens within their bounds. See Read bounded context.4
Get the physical mappings
Ask the binding release for the same question:Each resource pairs the
logical_definition with its binding: Customer in retail.core.customers, Order in retail.core.orders, and places joined on customer_id. Read the handoff report: its blockers list anything unmapped, such as property_unmapped for ordered_at, with a remediation. The response always reports source_verification: declarative_unverified and is_execution_verified: false, so treat the names as declarations.5
Query with the agent's own connection
The agent writes SQL from the mapped names and runs it through its own, separately governed data connection. Ontology doesn’t run it.
6
Add governed evidence (optional)
If the answer depends on a policy, such as which orders count as returns, call
extension__ontology__get_records with as_of set to the business date in question. It returns only records valid at that instant.Read bounded context
Context tools return a slice of the release sized for a prompt, not the whole model. You set the bounds; the response tells you whether they cut anything.
Read these response fields before using the result:
A shallow
max_depth leaves linked definitions out without setting truncated, so raise it if a related type you expect is missing. A request outside a bound is refused with a 422 rather than silently clamped.
Verify
- The context response’s
release_idis the release you meant, and itsmanifest_digestmatches the Release checksum in Studio. truncatedisfalse, or the agent has followed the refinement hints.- In Studio, Agent context > Ask with the same question and release returns the same definitions.
Related
- Ontology: how releases, bindings and agents fit together.
- Bindings: why a binding is locked to one ontology release.
- All MCP tools: every tool your identity can call.
- Troubleshoot Ontology: truncated and refused context queries.