Skip to main content
Preview Agents read your ontology through six read-only MCP tools. This page shows which tool answers which question, and how an agent should read a bounded response before it writes a query.

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_id is the release you meant, and its manifest_digest matches the Release checksum in Studio.
  • truncated is false, or the agent has followed the refinement hints.
  • In Studio, Agent context > Ask with the same question and release returns the same definitions.