Offline MCP tools for sqlseed rule-driven YAML configuration and test data generation
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun pattern (generate, execute) which is good. Descriptions exist but lack actionable detail for LLM selection. Parameter descriptions are minimal (db_path, table_name lack context about format/constraints). No documented output schemas, error handling guidance, or recovery paths. No tool annotations (readOnlyHint/destructiveHint). Composition is reasonable (two distinct concerns), but parameter naming could be more specific (e.g., 'database_file_path' vs 'db_path').
Execute data generation for a table. Optionally provide YAML config string for column rules.
Generate a YAML config template for a table using rule-driven column mapping. Uses sqlseed's core ``ColumnMapper`` (75 exact rules + 29 regex patterns) to infer a generator for each column. Offline, deterministic, no LLM required. For LLM-driven semantic inference, use the ``sqlseed_ai_generate_yaml`` tool from the ``sqlseed-ai[mcp]`` package. Returns a YAML string ready for human review and ``sqlseed_execute_fill``.
Output schemas not documented. LLMs cannot plan downstream operations or extract structured data from YAML string or execution results. No field definitions for what 'YAML string' contains or what execute_fill returns.
Parameter descriptions lack actionable constraints. 'Path to the database file' does not specify format (absolute vs relative), file extension (.db, .sqlite3?), or whether it must exist. LLMs cannot validate inputs without explicit constraints.
No error handling guidance. If db_path is invalid, table_name does not exist, or YAML config is malformed, LLMs receive no recovery hints. Descriptions do not explain when to use generate_yaml vs execute_fill with custom config.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Tool annotations missing. sqlseed_execute_fill is marked WRITE but has no destructiveHint in schema. sqlseed_generate_yaml is READ_ONLY but has no readOnlyHint. Agents cannot distinguish safe from risky operations without explicit hints.
Parameter 'yaml_config' is optional with default null, but its relationship to the generate_yaml output is undocumented. LLMs cannot infer that generate_yaml output should be passed to execute_fill's yaml_config parameter.