MCP server for AI agents
Give your AI agents the meaning behind your data
Connect Claude or any MCP client to OffDataAI. Agents get your approved concepts, metric definitions and join paths, then run read-only SQL against your databases, all under scoped API keys.
→ tools/call get_query_context
{ "question": "revenue by customer segment" }
← {
"concepts": ["Revenue", "Customer"],
"metric": {
"name": "Revenue",
"expression": "sum(fct_orders.amount)"
},
"tables": ["marts.fct_orders",
"marts.dim_customer"],
"join": "fct_orders.customer_sk
= dim_customer.customer_sk"
}
→ tools/call run_query
{ "connection_id": "…", "sql": "SELECT …",
"max_rows": 200 }AI agents are good at writing SQL and bad at knowing your business. Point one at a warehouse and it has to guess which of three revenue columns is the right one and how five tables join. The answers already exist in your data model and ontology; the MCP server hands them to the agent.
Ask a question and the agent calls get_query_context to receive the relevant concepts, the metric's definition and the join path already resolved. It then runs a read-only query through run_query and answers with numbers your team would recognize. When it finds a gap, it can propose a new concept, which waits for a person to approve.
What agents can do
Get the query context for a question
get_query_context returns the concepts, metric definitions, tables and resolved join path for a natural-language question in one call.
Search and browse the ontology
search_concepts, get_concept, get_ontology and join_path let an agent explore your business vocabulary and how concepts connect.
Run read-only SQL safely
run_query allows one SELECT or WITH statement, in a read-only transaction with a timeout and a row cap. Writes and stacked statements are refused.
Suggest, never overwrite
propose_concept and propose_relation put an agent's ideas in the review queue. Your ontology only changes when a person accepts them.
Scoped API keys
Grant ontology:read, ontology:write or query:read per key. Database access is opt-in, and every query attempt is recorded.
Built on your real model
The context comes from the same model that generates your DDL and dbt project, so what the agent reads matches what is deployed.
Frequently asked questions
What is an MCP server?
Why do AI agents need an ontology to query a warehouse?
Which tools does the OffDataAI MCP server provide?
Can an agent change my data or my ontology?
How is access controlled?
Which AI clients work with it?
Explore OffDataAI
- Ontology builderTurn a data model into a published business ontology.
- Model BuilderDrag-and-drop data modeling on a full-screen canvas.
- Database ModelerReverse-engineer a live database into an editable model.
- AI data modeling toolDesign a data model from a plain-English description.
- Data model templates174 production-grade models to start from.
- DuckDB schema generatorNative DuckDB DDL and dbt from the same model.
Your data warehouse is one conversation away.
Describe your domain, or open one of 170+ production-grade templates. ERDs, DDL, and a complete dbt project — generated in under a minute.
