28 read-only tools that inspect and analyze your schema without changing anything — navigation, configuration, analysis, validation, search, diagnostics, and platform-specific views.
By the SchemaSmith Team · Last reviewed
All read-only — call them as often as you need.
Ask Forge's 28 Tier 1 (Read-Only) tools inspect your schema project files, analyze structures, validate quality, and search content — but they never modify anything. Because they make no changes, they are available from the Observer trust level up (Observer, Assistant, and Operator all include them).
All Ask Forge sessions start with Tier 1 access by default — no extra configuration needed. These tools operate on your schema project files; some generate SQL queries for you to run, but none connect to or modify a live database.
Inspect the current Ask Forge configuration, database connections, and platform capabilities.
show-config
MCP: schemasmith_show_config
Show the current configuration and database connections.
Parameters: --section (optional) — Section to show: connections or all (default).
Example:
ask-forge show-config --section connections
list-connections
MCP: schemasmith_list_connections
List configured database connections.
Parameters: --platform (optional) — Filter by platform (SqlServer, PostgreSQL, or MySQL). Uses the context platform or lists all if omitted.
Example:
ask-forge list-connections --platform PostgreSQL
show-platform-capabilities
MCP: schemasmith_show_platform_capabilities
Show platform feature support, naming rules, and capabilities for the current or specified platform.
Parameters: --platform (optional) — Platform to show capabilities for. Defaults to the current context platform.
Example:
ask-forge show-platform-capabilities --platform PostgreSQL
Compare tables, review schema health, map foreign-key dependencies, plan migrations, and detect naming conventions.
diff-tables
MCP: schemasmith_diff_tables
Compare two table definitions and show differences in columns, indexes, and foreign keys.
Parameters: --table1 (required) — First table name. --table2 (required) — Second table name.
Example:
ask-forge diff-tables --table1 Customers --table2 CustomersArchive
review-schema
MCP: schemasmith_review_schema
Run a comprehensive schema review across five analyzers — naming, indexing, data types, relationships, and nullability — returning a health score plus findings with severity, recommendations, and fix scripts.
Parameters: --tables (optional) — Comma-separated table names (default: all). --categories (optional) — Comma-separated: naming, indexing, types, relationships, nullability (default: all). --limit / --offset (optional) — Paginate findings.
Example:
ask-forge review-schema --categories naming,indexing --limit 50
dependencies
MCP: schemasmith_dependencies
Analyze the foreign-key dependency graph: list a table's references, map the whole template, detect circular references, produce a topological order, or assess cascade impact.
Parameters: --table (optional) — Table to analyze (omit for template-wide). --analysis (optional) — list, graph, circular, topological, cascade, or summary (default: list). --direction (optional) — both, references, or referenced_by.
Example:
ask-forge dependencies --table Orders --analysis cascade
plan-migration
MCP: schemasmith_plan_migration
Compare schema between two git refs and produce a dependency-ordered migration plan with SQL scripts.
Parameters: --source-ref (required) — Git ref for the source version (branch, tag, SHA, or working). --target-ref (optional) — Target ref (default: working). --template / --platform (optional) — Override the context. --limit / --offset (optional) — Paginate steps.
Example:
ask-forge plan-migration --source-ref main --target-ref working
show-conventions
MCP: schemasmith_show_conventions
Detect and display naming conventions from the current template, including primary-key patterns, common columns, and naming styles.
Parameters: None.
Example:
ask-forge show-conventions
Generate SQL to check data quality and validate schema JSON against platform rules.
check-data
MCP: schemasmith_check_data
Generate SQL to check data quality. One tool covers three checks via --check-type: NULL values, orphaned foreign-key references, and duplicate values. Ask Forge produces the query for you to run; it does not execute against a live database itself.
Parameters: --check-type (required) — nulls, orphans, or duplicates. --table (required) — Table to check. --column (for nulls) — Column to check. --columns (for duplicates) — Comma-separated columns. --foreign-key (optional, for orphans) — Specific FK; checks all FKs if omitted.
Example:
ask-forge check-data --check-type nulls --table Customers --column Email
validate-json
MCP: schemasmith_validate_json
Validate table JSON files against platform schema rules and report structural errors.
Parameters: --scope (optional) — current_table, current_template, or all (default).
Example:
ask-forge validate-json --scope current_template
Search schema definitions and the knowledge base.
search-schemas
MCP: schemasmith_search_schemas
Search columns across all tables by name, data type, or table name — useful for cross-table impact analysis.
Parameters: --query (required) — Search term (case-insensitive substring match). --field (optional) — column_name, data_type, table_name, or all (default).
Example:
ask-forge search-schemas --query "Email" --field column_name
search-knowledge
MCP: schemasmith_search_knowledge
Search the knowledge base for articles on SchemaSmith tools, database best practices, architecture, and troubleshooting.
Parameters: --query (required) — Search term or question. --category (optional) — tools, best-practices, architecture, or troubleshooting. --platform (optional) — mssql, pgsql, or mysql. --full (optional) — Return full article content for the top match.
Example:
ask-forge search-knowledge \
--query "foreign key best practices" \
--category best-practices --full
View tool logs, and discover the right tool for a task then run it by name.
view-log
MCP: schemasmith_view_log
View or open external tool log files.
Parameters: --log-path (required) — Path to the log file to view. --tail-lines (optional) — Lines to return from the end of the file (default: 50). --open-external (optional) — Open the log in the system text editor instead of returning content.
Example:
ask-forge view-log --log-path ./logs/quench.log --tail-lines 100
discover-tools
MCP: schemasmith_discover_tools
Find tools by describing what you want to do. Returns matching tool names, descriptions, tiers, and parameter schemas — the entry point to the full 47-tool catalog beyond the promoted set.
Parameters: --query (required) — Describe the task (e.g., "compare two tables", "list script folders").
Example:
ask-forge discover-tools --query "compare two tables"
execute-tool
MCP: schemasmith_execute_tool
Run any tool by name with arguments — typically used after discover-tools. The named tool's own trust tier and confirmation requirements still apply.
Parameters: --tool-name (required) — Name of the tool to run. --arguments (optional) — JSON object of tool arguments.
Example:
ask-forge execute-tool --tool-name diff_tables \
--arguments '{"table1":"Customers","table2":"CustomersArchive"}'
These tools are platform-gated: materialized-view tools require PostgreSQL and indexed-view tools require SQL Server. Each returns an error if the active platform doesn't match.
list-materialized-views
MCP: schemasmith_list_materialized_views
List all materialized views in the current template (PostgreSQL only).
Parameters: --verbose (optional) — Include index details for each materialized view.
Example:
ask-forge list-materialized-views --verbose
show-materialized-view
MCP: schemasmith_show_materialized_view
Show the full definition of a materialized view (PostgreSQL only).
Parameters: --name (required) — Materialized view name (e.g., public.sales_summary).
Example:
ask-forge show-materialized-view --name public.sales_summary
diff-materialized-views
MCP: schemasmith_diff_materialized_views
Compare two materialized view definitions (PostgreSQL only).
Parameters: --view1 (required) — First materialized view name. --view2 (required) — Second materialized view name.
Example:
ask-forge diff-materialized-views --view1 public.sales_v1 --view2 public.sales_v2
list-indexed-views
MCP: schemasmith_list_indexed_views
List all indexed views in the current template (SQL Server only).
Parameters: --verbose (optional) — Include index details for each indexed view.
Example:
ask-forge list-indexed-views --verbose
show-indexed-view
MCP: schemasmith_show_indexed_view
Show the full definition of an indexed view (SQL Server only).
Parameters: --name (required) — Indexed view name (e.g., dbo.OrderSummary).
Example:
ask-forge show-indexed-view --name dbo.OrderSummary
diff-indexed-views
MCP: schemasmith_diff_indexed_views
Compare two indexed view definitions (SQL Server only).
Parameters: --view1 (required) — First indexed view name. --view2 (required) — Second indexed view name.
Example:
ask-forge diff-indexed-views --view1 dbo.OrderSummary --view2 dbo.OrderSummaryV2