semantic-warehouse-mcp
This is a read-only MCP server for semantically aware SQL database work, but the provided schema exposes only an about tool.
Call
aboutto learn what the server is/will offer and check the connection.According to the README, it can query allowed tables read-only across ClickHouse, PostgreSQL, MySQL, and DuckDB with SQL parsing, table allowlists, bounds, and limits.
It can serve an Apache Ossie semantic layer (datasets, fields, relationships, metrics, AI context, custom extensions).
It can import dbt projects or draft semantic models from database schemas.
It can serve custom instructions, documents, and Agent Skills, and run over stdio or Streamable HTTP.
Enables AI agents to describe, query, and compute metrics against ClickHouse databases using a semantic model, with read-only checked SQL and bounded results.
Imports semantic models from dbt projects so agents can use dbt-defined datasets, fields, metrics, and relationships when querying databases.
Enables AI agents to describe, query, and compute metrics against DuckDB databases using a semantic model, with read-only checked SQL and bounded results.
Enables AI agents to describe, query, and compute metrics against MySQL databases using a semantic model, with read-only checked SQL and bounded results.
Enables AI agents to describe, query, and compute metrics against PostgreSQL databases using a semantic model, with read-only checked SQL and bounded results.
Enables AI agents to describe, query, and compute metrics against Snowflake databases using a semantic model, with read-only checked SQL and bounded results.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@semantic-warehouse-mcp compute MRR by plan for Q3 and show the SQL you ran"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
semantic-warehouse-mcp
A read-only MCP server that lets any AI agent work with SQL databases the way an analyst does: knowing what the data means. You give it your semantic model in an open format (Apache Ossie, formerly OSI), your own metadata, context and documents — and it lets agents find the right tables, read what they mean and query them, safely.
Status: pre-alpha — working, and used on real warehouses; its interfaces may still change. Metrics, saved query sets and more databases are on their way (the plan).
What it does now
ClickHouse, PostgreSQL, MySQL and DuckDB, configured in one YAML file: the tables agents may read, the large tables a query must bound (and the columns it must name values of — an event log of every kind of event), limits per query; secrets by variable name, never written in it.
Read-only, checked twice: one
SELECTat a time, parsed for the database's own dialect by sqlglot and by the database itself; only the tables you allow, wherever they are read; large tables bounded; rows and time capped, never cut without saying so — on top of a read-only database user. Every answer carries the SQL as it ran and when.A semantic layer in Apache Ossie: datasets, fields, relationships and metrics, with
ai_contextfor agents andcustom_extensionsfor anything of your own — categories, layers, links to code, owners — checked against a vocabulary you declare and served with what each value means — and lists filtered by it, with the menu of its values.An importer from dbt:
semantic-warehouse-mcp import-dbtwrites your dbt project's tables, descriptions,metaand tags as an Ossie model — with what each model reads and its SQL, if you want them; the tables chosen by name or as dbt selects them (tag:daily,path:models/marts); the mapping yours, in its configuration.A draft from the database itself, where no dbt project describes it:
semantic-warehouse-mcp import-databasewrites its readable tables, columns and comments as an Ossie model for you, or an agent, to give meaning to.Your own context and skills: instructions, documents and skills (the Agent Skills format: a folder with a
SKILL.mdand the files it refers to) served to agents as written — from disk, or straight from a git repository, kept fresh.Any MCP client: stdio for one person's agent, Streamable HTTP for a server a team shares (a token on every request,
/health, a container image).
Related MCP server: dst
Install
Each engine's driver is an extra — postgres, mysql, duckdb, or all (ClickHouse needs none):
uvx --from 'semantic-warehouse-mcp[all]' semantic-warehouse-mcp --config config.yaml --check # check, reach every database
uvx --from 'semantic-warehouse-mcp[all]' semantic-warehouse-mcp --config config.yaml # serve over stdio
pip install 'semantic-warehouse-mcp[postgres]' # or install itConnect Claude Code (any client that runs stdio servers takes the same command):
claude mcp add warehouse -- uvx --from 'semantic-warehouse-mcp[all]' semantic-warehouse-mcp --config /path/to/config.yamlDocumentation
swm.pipelab.dev — the guide, built from docs/:
Getting started — from nothing to an agent answering about a made-up shop's data.
The guide: tools, configuration, semantic models and vocabularies, the dbt importer, the guard, engines, running it.
Why
An agent with a bare SQL connection writes plausible queries over the wrong tables. What makes its answers right is semantics: what a table holds, which column is the date, how a metric is defined, what not to mix. That knowledge already exists in teams — in dbt projects, semantic layers, wikis — but every tool wants it in its own shape. This server reads it in an open, vendor-neutral format and serves it beside the data.
Development
Python 3.12, uv, the official MCP Python SDK.
uv sync
uv run pytest
uv run ruff check . && uv run ruff format --check .
uv run python examples/data/make_shop.py # the made-up shop the examples describe
uv run semantic-warehouse-mcp --config examples/config.example.yaml # the server over stdioLicense
Available Tools
1 toolaboutARead-only
What this server is and what it will offer. Call it to check the connection.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
With only a single tool, there is nothing to confuse it with, so an agent cannot misselect. The tool's purpose (report server identity and capabilities) is unambiguous.
A single name ('about') offers no pattern to evaluate, but it is a readable, conventional diagnostic name with no style clashes. Neutral score reflects the absence of any naming convention rather than a violation.
A server whose entire surface is one trivial informational tool is an extreme mismatch for a 'semantic-warehouse' purpose. The tool only reports what the server 'will offer', indicating it is a stub with no actual capability.
There are no query, schema, catalog, or data-access tools at all, only a connection check. Any real warehouse task (list tables, run queries, inspect semantics) is impossible, making the surface severely incomplete.
Related MCP Connectors
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
The grounded data layer for any LLM: governed SQL, metrics, lineage and catalog over your data.
Build a semantic layer of reusable metrics and query it in plain words. Share models with your team.
Query, explore, and manage your databases through natural conversation.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to understand and query your database safely by providing a semantic layer of metadata, with tools to search, explain, validate, and generate safe SQL.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query governed data warehouses through plain language, returning grounded answers with SQL, confidence grades, and signed receipts while enforcing access, testing, and audit controls.72 PyPI17Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to safely query SQL databases through read-only tools for describing entities, reading records, and aggregating records, with view-based access and fail-closed per-user row-level security.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to query Postgres, BigQuery and DuckDB read-only through policy-checked SQL, with AST-based guards that refuse writes and dangerous functions, column masking on the way out, and an audit log of every query. Also exposes schema browsing and query-planning tools so agents can see allowed tables, columns and costs before running anything.MIT