Headless MCP (Model Context Protocol) server exposing dbboard's configured connections to an AI agent over stdio, read-only
dbboard-mcp has 8 tools with basic naming and descriptions, but critical gaps in schema documentation and parameter descriptions. Tool names follow verb_noun convention (list_*, describe_*, query, export_*, ai_*, capture_*), which is good. However, most tools lack visible input schemas in the source code provided. Descriptions are present but generic (10-50 chars for most), falling below the 50-200 char baseline for LLM-optimized descriptions. The query and ai_* tools accept complex parameters (connection, sql, schema) but parameter descriptions are minimal. No output schemas are documented. Error handling is not evident in the code samples. Security concern: export_connections accepts a passphrase parameter, which could be logged. Overall, this is a D-grade server with functional naming but insufficient schema and description depth for production agent use.
Generate an AI explanation of a SQL query using configured AI provider
Generate AI suggestions for a SQL query using configured AI provider
Capture the dbboard application window as a PNG image
Get schema information for a table in a configured database connection
Export configured connections as an encrypted bundle with a passphrase
List all configured database connections from connections.toml
List all tables in a configured database connection
Execute a read-only SQL query against a configured database connection
No input schemas visible for list_connections and capture_window.
Descriptions are too short (10-50 chars) and lack context for LLM selection. Baseline is 50-200 chars. No explanation of WHEN to use each tool or what it returns.
Parameter descriptions are minimal or missing. 'connection' and 'sql' params lack format/constraint guidance. LLMs cannot infer whether sql must be read-only or what connection names are valid.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., does list_tables return table_id, table_name, row_count?).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 43 | 2026-07-28+ | v2 |
export_connections accepts passphrase as a parameter, risking credential exposure in logs and traces. Use server-side secret injection instead.