Skip to main content

Tools Reference

All 53 SignalPilot MCP tools across 12 categories. The catalog below groups every tool by category (click a category for full parameter and example documentation). The Tools by workflow stage section then maps the same tools onto the four stages of a governed dbt/SQL run — Scan/Map, Explore/Research, Write, and Verify.

Tools by workflow stage​

The dbt-workflow skill's steps collapse into four stages. Some scan/map and value-check operations run as bundled plugin CLI scripts (scan_project.py, validate_project.py, verify-values) rather than MCP tools; the tables below list the MCP tools used at each stage by exact name. A tool can appear in more than one stage.

Scan / Map​

Establish the shape of the database and project before writing anything: connections, table inventory, FK map, and data-driven date boundaries.

ToolRole in this stage
get_knowledgeLoad baseline org/project knowledge before the scan
list_database_connectionsConfirm the target connection exists by name
connection_healthConfirm the connection is reachable before querying
list_tablesEnumerate available tables in the connection
schema_overviewHigh-level shape: table count, rows, FK density, hub tables
schema_statisticsAggregate table sizes and FK connectivity
get_relationshipsFK/ERD map of the project
get_date_boundariesData-driven date floor/ceiling (replaces current_date hazards)

Plugin CLI in this stage: scan_project.py, validate_project.py.

Explore / Research​

Confirm grain, discover categorical vocabularies, derive join paths, and preview JOIN behavior before committing to SQL.

ToolRole in this stage
query_databaseCOUNT(*) / COUNT(DISTINCT key) for grain; SELECT DISTINCT on status/flag columns
explore_tableDeep-dive an upstream table's columns, FK refs, and samples
explore_columnsInspect specific columns' types, stats, and samples
explore_columnDistinct values for a single categorical column (drives CASE WHEN vocabulary)
describe_tableColumn types and nullability for an upstream
schema_linkFind tables relevant to the task question (NL → schema)
find_join_pathDerive multi-table join paths
analyze_grainConfirm candidate-key uniqueness / fan-out on upstreams
compare_join_typesPreview INNER/LEFT/RIGHT/FULL row counts to choose the JOIN
query_historyReuse prior successful query patterns
search_knowledgePull task-relevant prior research

Write​

Scaffold the model, validate and cost-check SQL against the live schema, and parse build errors while iterating.

ToolRole in this stage
generate_sql_skeletonScaffold a model's SQL shape from its YML column list
validate_sqlSyntax/semantic check against live schema before materializing
explain_queryPlan check before running
estimate_query_costDry-run cost guardrail on expensive queries
check_budgetRemaining session query budget
query_databaseSpot-check intermediate logic while building
debug_cte_queryLocalize errors inside a WITH query during build
dbt_error_parserTurn dbt run/parse stderr into a structured fix

Plugin CLI in this stage: map-columns, then dbt run --select <models>.

Verify​

Post-build checks against YML contract and source data: column match, row counts, aggregate values, grain, and JOIN diagnosis.

ToolRole in this stage
check_model_schemaActual vs YML columns (missing/extra/case)
validate_model_outputPost-build row count vs source/expected (fan-out, empty model)
audit_model_sourcesFull cardinality + NULL/constant column + grain audit
verify_model_valuesModel aggregates vs independent COUNT(*)/COUNT(DISTINCT) on sources
analyze_grainRe-confirm output grain/uniqueness
compare_join_typesDiagnose a row-count FAIL traced to JOIN choice
query_databaseVerifier subagents' read-only cross-checks
dbt_error_parserParse errors from rebuilds triggered by FAILs
propose_knowledgeRecord learnings after the run

Plugin CLI in this stage: verify-values. Subagents: verifier, value-verifier.

Reporting / Notebooks (outside the four stages)​

Used when the task asks for a notebook deliverable or a published report. connector_capabilities is a feature-flag probe usable at any stage.

ToolRole
list_workspace_projectsList notebook workspace projects
run_notebookExecute an analysis notebook in an isolated cloud sandbox
list_notion_integrationsList configured Notion integrations
notion_searchSearch Notion source pages
notion_fetch_pageFetch full content of a Notion page
notion_create_pagePublish a report page under the configured destination
connector_capabilitiesConnector tier / feature-flag probe (any stage)

Full catalog by category​

Query Intelligence (7 tools)​

See Query Intelligence tools.

ToolDescription
query_databaseExecute governed, read-only SQL with auto-LIMIT, DDL blocking, dangerous function blocking, audit, PII redaction
validate_sqlSyntax + semantic validation via EXPLAIN (no execution, no budget charge)
explain_queryExecution plan with row estimates and cost warnings
estimate_query_costDry-run cost estimate before executing (BigQuery: exact bytes)
debug_cte_queryBreak CTE query into steps, validate each independently
check_budgetRemaining query budget for a session
query_historyRecent successful queries for a connection (session memory)

Schema & Exploration (10 tools)​

See Schema & Exploration tools.

ToolDescription
list_tablesCompact one-line-per-table overview: columns, PKs, FKs, row counts
describe_tableFull column details: types, nullability, PKs, annotations, PII flags
explore_tableDeep-dive: column details + FK refs + sample values + referenced tables
explore_columnDistinct values with counts, NULL stats, optional LIKE filter
explore_columnsMulti-column stats: distinct counts, uniqueness, min/max/avg, samples
schema_overviewDatabase-wide summary: table count, total rows, FK density, hub tables
schema_ddlFull schema as CREATE TABLE DDL with FK constraints
schema_statisticsHigh-level stats: table sizes, FK connectivity (sorted by row count)
schema_diffCompare current schema against last cached version (DDL changes)
get_date_boundariesMIN/MAX dates across all DATE/TIMESTAMP columns

Relationships (3 tools)​

See Schema & Exploration tools.

ToolDescription
get_relationshipsFull ERD: all FK relationships as arrows or adjacency list
find_join_pathFK-based join path discovery between two tables (1–6 hops)
schema_linkFind tables relevant to a natural-language question (NL → schema)

dbt & Verification (8 tools)​

See dbt tools.

ToolDescription
dbt_error_parserParse raw dbt error output into structured diagnosis + fix suggestion
generate_sql_skeletonGenerate a SQL template from YML column spec + ref tables
check_model_schemaCompare materialized columns vs YML-declared columns
validate_model_outputRow count validation + fan-out detection + empty model detection
verify_model_valuesCross-validate model aggregate values against raw source data
audit_model_sourcesUpstream audit: source row counts, fan-out/over-filter ratios, NULL scan
analyze_grainCardinality analysis: per-key distinct counts, fan-out factors
compare_join_typesCompare row counts across INNER/LEFT/RIGHT/FULL OUTER JOIN

Workspaces (2 tools)​

See Operational tools.

ToolDescription
list_workspace_projectsList the dbt/notebook projects in the user's workspace
run_notebookRun a .py notebook in an isolated cloud sandbox, return output + view URL

Knowledge Base (5 tools)​

See Operational tools.

ToolDescription
get_knowledgeLoad baseline docs + task-relevant knowledge entries
search_knowledgeAgent-directed search across the knowledge base
read_knowledgeRead one knowledge entry in full by ID
propose_knowledgePropose a new knowledge entry, or edit one in place with overwrite=true
archive_knowledgeArchive (soft-delete) a knowledge entry by ID

Reporting (1 tool)​

ToolDescription
manage_reportCreate or permanently delete a rendered HTML report

Dashboards are artifacts/<name>.dashboard.json files written in the chat sandbox and checked with the sandbox tools dashboard_sample_data and dashboard_screenshot.

Semantic layer (2 tools)​

ToolDescription
list_semantic_metricsList metrics defined in the project's dbt semantic layer
verify_metric_conformanceCheck that a model's aggregates conform to the metric definitions

Branch workflow — Xata (6 tools)​

Branch-per-developer Postgres on Xata: fork a branch, work on it, diff it against the parent before merging.

ToolDescription
xata_list_branchesList branches on the connection's Xata project
create_xata_branchFork a new branch from a parent branch
delete_xata_branchDelete a branch
xata_branch_diffDiff two branches at the Xata control-plane level
schema_diff_branchesCompare table and column structure across two branches
get_dbt_profileEmit a profiles.yml block for a branch's credentials

Model mapping (2 tools)​

ToolDescription
map_columnsMap upstream columns against a model's YML contract; labels each column MAPPED, UNMAPPED-INCLUDE, or UNMAPPED-EXCLUDE
analyze_project_dbSummarise the database a dbt project builds into

Notion Integration (4 tools)​

See Operational tools.

ToolDescription
list_notion_integrationsList configured Notion integrations with search scope and report destination
notion_searchSearch Notion pages visible to an integration's access token
notion_fetch_pageFetch full content of a Notion page by ID
notion_create_pageCreate a page under the configured report destination

Connections (3 tools)​

See Operational tools.

ToolDescription
list_database_connectionsList all configured database connections
connection_healthLatency percentiles (p50/p95/p99), error rates, status per connection
connector_capabilitiesConnector tier classification (Tier 1/2/3) and available features

Removed tools​

The following tools were removed because the gateway runs in Docker and cannot access local filesystems. Their functionality is available via standalone scripts in the plugin:

  • execute_code / sandbox_status — sandbox disabled in cloud
  • dbt_project_map / dbt_project_validate — use scan_project.py and validate_project.py in the plugin
  • fix_date_spine_hazards / fix_nondeterminism_hazards — use the dbt-date-spines skill
  • create_project — use the web UI or API