The trust and intelligence layer between AI agents and your database. A Model Context Protocol server that provides semantic schema exploration, PII filtering, and validated metric computation for Postgres databases.
SchemaBrain presents a well-organized semantic layer tool suite with clear naming conventions and complete parameter schemas. All 12 tools follow verb_noun naming patterns (find_, describe_, list_, get_, suggest_, resolve_) and include descriptions. Input schemas are present and typed for all tools. However, output schemas are not documented in the source, parameter descriptions lack depth and enforcement guidance, and error handling/recovery patterns are absent from the visible code. The tools are read-only and domain-focused (database schema intelligence), which simplifies safety concerns but limits composition guidance.
Get detailed information about a specific column including type, constraints, PII tags, and join context
Get detailed information about a semantic entity including columns, PII tags, joins, and metrics
Get detailed information about a specific table including columns, indexes, and constraints
Find entities matching a semantic query in the semantic layer
Find tables matching a semantic query
Get example SQL queries extracted from query logs for a table
Compute a validated aggregation (metric) against an entity with automatic multi-hop join resolution and PII filtering
Output schemas not documented. Tools describe inputs but provide no documentation of return structure, forcing LLMs to infer what fields to expect and preventing reliable downstream composition.
Parameter descriptions lack actionable constraints. E.g., 'max_hops' on suggest_joins says '(default 6)' but does not state min/max bounds, format expectations, or semantic meaning. 'qualified_name' does not specify case sensitivity, escaping rules, or what happens if the name is invalid.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
List all defined entities in the semantic layer
List all defined canonical joins in the semantic layer
List all defined metrics in the semantic layer
Return the canonical SQL JOIN between two entities
Find foreign key paths between two tables
No error handling or recovery guidance visible in code. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next if a call fails (e.g., 'table not found' or 'join path does not exist').
Tool composition guidance missing. Tools like suggest_joins and resolve_join both return paths, but no documentation clarifies the difference or when to use each. get_metric requires 'name' but no discovery tool is explicitly documented to help find valid metric names.
Pagination and result limits not explicitly documented in tool descriptions. list_joins, list_entities, list_metrics accept 'limit' but descriptions do not state the default, max allowed, or whether pagination cursors are supported.