Connect an agent
Everything generated is now reachable over MCP. Point any LLM client at the endpoint below and it queries your Databricks through the ontology — asserted claims only, deduplicated, under your Unity Catalog permissions.
Bind a table and generate first — the tools call Unity Catalog functions
that generation creates. Until then every tool returns ROUTINE_NOT_FOUND.
Endpoint
https://app.dev.wiseontology.ai/mcp/U6CADTj2Bzjy6iH-EOekSprYYukuM3nE/
Public origin from WISE_PUBLIC_URL. Loopback address
for local tools: http://app.dev.wiseontology.ai/mcp/U6CADTj2Bzjy6iH-EOekSprYYukuM3nE/
Transport is streamable HTTP. The trailing slash matters — the app
mounts the MCP server as a sub-application, so /mcp answers 307
and not every client follows a redirect on POST.
The path segment is the credential. There is no field for a static token in any MCP client, so the secret lives in the URL. Treat this link like a password — anyone holding it queries Databricks under this server's identity.
Client configuration
Claude Desktop — claude_desktop_config.json. The same
block works in any client that speaks MCP over HTTP.
{
"mcpServers": {
"wise-generative-ontology": {
"url": "https://app.dev.wiseontology.ai/mcp/U6CADTj2Bzjy6iH-EOekSprYYukuM3nE/"
}
}
}
Tools it exposes
| Tool | What it answers | Backed by |
|---|---|---|
resolve_entity |
User wording → canonical CURIEs. Call before filtering by any name. | tastewise_dev.tw_semantics.f_resolve_entity |
entity_descendants |
Everything rolling up to a node, at any depth — impossible without the closure. | tastewise_dev.tw_semantics.f_entity_descendants |
column_meaning |
What a raw column asserts per value, including sign. | tastewise_dev.tw_semantics.f_column_meaning |
claim_performance |
Asserted products per claim, with prevalence and evidence basis. | tastewise_dev.tw_semantics.f_claim_performance |
list_registered_servers |
Third-party MCP servers reachable through the ontology. | tastewise_dev.tw_ontology.mcp_registry |
Each tool's SQL COMMENT is written as a prompt, not
documentation — it names the trap it protects against, so an agent picks the right tool
without being told.
Ask it these
Questions that go wrong without the layer, and come out right with it.
Without the layer an agent reads the name and assumes presence means yes. The tool returns both signs and their row counts.
Returns asserted products only, plus prevalence — so a claim true of 98% of the catalogue is flagged rather than ranked first.
Answerable only because the hierarchy is materialised. Today it lives in flat Elasticsearch synonym files and cannot be queried at all.
Identity
| Acting as | — |
|---|---|
| Auth mode | — |
| Row-level security | not enforced — a service principal would bypass it |
The MCP surface refuses to serve when it cannot attribute a call to a real user. An agent running as a service principal would be a path around the customer's row-level security, so that is rejected rather than assumed away.