OntoBricks MCP

An MCP server for a knowledge graph over Unity Catalog tables: the agent picks a domain, reads the ontology and runs GraphQL.

  • 472 ★ on the repository
  • Last commit
MCP serverOfficial

Extended access

Why this level

  • The server reads Unity Catalog data and the knowledge graph, and tools run as the end user.
  • Domains are published to agents only after the API and MCP flag is turned on.
All reasons and checks

databrickslabs/ontobricks

Install

Manual install

{"mcpServers":{"ontobricks":{"command":"python","args":["src/mcp-server/mcp_server.py"],"cwd":"/path/to/OntoBricks"}}}

The server starts from a cloned repository over stdio; for Claude Desktop add an `env` block with `ONTOBRICKS_URL`.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The server reads Unity Catalog data and the knowledge graph, and tools run as the end user.
  • Domains are published to agents only after the API and MCP flag is turned on.

This is third-party code. Review the repository files before installing.

What it does

OntoBricks turns Unity Catalog tables into a knowledge graph with an ontology, and the MCP server publishes it to agents. The server lives in `src/mcp-server/` and is deployed separately from the web app. Work runs in two steps on a persistent session: `list_domains` shows available domains, `select_domain` picks one, then `list_entity_types`, `describe_ontology`, `describe_entity` and `get_entity_context` read its graph. For structured queries there are `get_graphql_schema` and `query_graphql`. Each domain decides what it publishes: which tools, datasets, class actions and virtual attributes. Ontology-only domains with a single `describe_ontology` tool are supported. Clients with no persistent session such as the Databricks AI Playground pass `domain_name` on every call. The server runs locally (`python src/mcp-server/mcp_server.py`) for Cursor and Claude Desktop or in Databricks Apps over Streamable HTTP, and graph tools run as the end user.

Who it is for. Data teams on Databricks who build ontologies over Unity Catalog and want Claude Desktop or Cursor agents to reach a governed graph.

Good fit when

  • The agent needs answers about business entities: which kinds exist, how they relate and which tables stand behind them.
  • The knowledge graph must show up in the Databricks AI Playground or Genie One.
  • Part of a domain must open to agents while the rest stays closed through a publishing policy.
  • A structured selection across relations needs GraphQL over the graph.

Not a fit when

  • There is no Databricks or Unity Catalog and the server is built around their data.
  • A graph over arbitrary files with no Databricks is wanted.
  • Python is older than 3.11: the server requires 3.11 or newer.

Example request

List the OntoBricks domains, pick the customers domain and describe the entity "Ivan Petrov" with its linked Unity Catalog tables.

MCP

Transport
stdio, http
Authentication
OAuth

Environment variables

ONTOBRICKS_URL
Address of the main OntoBricks app, `http://localhost:8000` by default.
REGISTRY_CATALOG
Unity Catalog registry catalog when it is not set in the browser session.
REGISTRY_SCHEMA
Registry schema in the catalog.

Limitations

The server reads a graph that the main OntoBricks app builds in Databricks Apps, so a Databricks workspace, a registry catalog and a SQL warehouse are required. A domain is visible to the agent only with the API and MCP flag on, and only one domain version is active. The MCP server requires Python 3.11 or newer. The project comes from Databricks Labs, the README shows version 0.9.2 and interfaces still change. The last commit in the repository is from November 2026.

How to disable. Delete the `ontobricks` entry from the client MCP configuration (`.cursor/mcp.json` or `claude_desktop_config.json`) and stop the app in Databricks Apps.

FAQ

How do I connect OntoBricks to Cursor?

Add an `ontobricks` server to `.cursor/mcp.json` with the `python` command and the `src/mcp-server/mcp_server.py` argument, and set `cwd` to the repository directory.

Which tools does the server have?

Among them are `list_domains`, `select_domain`, `describe_ontology`, `list_entity_types`, `describe_entity`, `get_entity_context`, `get_graphql_schema` and `query_graphql`.

Why does the agent not see my domain?

A domain is visible only with the API and MCP flag on, and one active version is published. Set the version in the OntoBricks app under Registry.

How do I use it from the Databricks AI Playground?

The Playground opens a new session on every call, so `select_domain` is not kept. Pass `domain_name` on every call or set `MCP_DEFAULT_DOMAIN`.

How do I run the server over the network?

With `python src/mcp-server/mcp_server.py --http`: it listens on port 9100 over Streamable HTTP. In Databricks Apps the server is deployed with the app.

Discussion

No questions or reviews yet.

NVIDIA Auto Ontology semantic layer as an MCP server: SQL gets validated, facts land in a personal knowledge base.

MCP serverExtended access383Repository stars
Official

ArcadeDB ships a built-in MCP server: an agent reads graph, document and vector data, and writes are opt-in.

MCP serverBroad access1.3KRepository stars
Official

A graph database with git-style branches: the server exposes it to agents over MCP at /mcp, and a skill teaches the agent schemas and queries

MCP serverBroad access2KRepository stars
Official

The official Graphlit MCP server: an agent collects material from Slack, GitHub, mail and websites into a knowledge base and searches it

MCP serverBroad access379Repository stars
Official

An MCP server builds an ontology from a database schema and checks agent SQL before it runs, for PostgreSQL, Snowflake and more

MCP serverBroad access58Repository stars

A knowledge graph with an MCP server: the agent searches concepts by meaning and sees how well each is supported.

MCP serverExtended access131Repository stars

README in short

An MCP server for a knowledge graph over Unity Catalog where each domain sets what to give agents. It runs as the end user and supports GraphQL.

README badge

Report a problem