Expose Atlas's data-ops tools (schema introspection, guarded read-only BigQuery, KPI anomaly detection) over the Model Context Protocol
Atlas exposes 3 well-intentioned tools with solid descriptions (194 - 250 chars, above baseline 194 avg) and clear safety models. All tools are read-only and parameterized. However, input schemas lack explicit type declarations and constraints in the visible code. Tool names follow verb_noun convention (run_*, detect_*, describe_*). Descriptions explain WHAT and WHEN but lack actionable error recovery guidance. No output schema documentation visible. Parameter descriptions are present but sparse on constraints (e.g., z_threshold lacks range guidance). Error handling returns dicts but no recovery hints. Composition is sound, tools chain logically (describe_dataset → run_bigquery). Security model is strong (parameterized queries, no secrets in params). Overall: above-average descriptions and naming, but schema documentation and error guidance are gaps.
Introspect the watched BigQuery dataset: list tables, columns, types, and descriptions. Use this to understand the schema before writing diagnostic queries.
Scan the KPI metrics table and flag the latest day if a metric moved abnormally. Computes a robust z-score of the most recent day's value against the trailing window (mean/stddev of the preceding `lookback_days`). A |z| above the threshold is reported as an anomaly. This is the Watcher's primary sensor.
Run a read-only diagnostic SQL query against the watched BigQuery warehouse. Use this to investigate a KPI anomaly: slice the metric by dimension, compare time windows, or inspect suspect rows. Only a single read-only SELECT/WITH statement is allowed; writes and DDL are rejected. Reference parameters as @name and supply their values via `params` (never inline untrusted values into the SQL string).
Output schemas not documented. LLMs cannot plan downstream calls or extract fields without knowing what describe_dataset, detect_kpi_anomalies, and run_bigquery return. Baseline: 100% of A+ tools document return types.
Parameter constraints missing. z_threshold lacks range (e.g., 1.0 - 5.0); lookback_days lacks bounds (e.g., 1 - 365); sql lacks format guidance (SELECT/WITH only, no DML). Descriptions state rules but not in machine-parseable form. Baseline: 94% of A+ tools specify min/max for numerics.
Error recovery guidance absent. Descriptions warn of rejection (DML/DDL, writes) but do not tell LLM what to do if a query fails: 'Query timed out. Try reducing the time window or adding LIMIT 1000.' No categorization of retryable vs user-fixable errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Input schema types not visible in source. Code shows parameter names and descriptions but no explicit JSON Schema type declarations (string, integer, number, object).
describe_dataset returns no parameters (empty input schema). Output structure (tables, columns, types, descriptions) is not documented. LLM cannot know what fields to extract or how to reference them in downstream run_bigquery calls.