MCP server for connecting to QuickBooks Online and other databases via ADO.NET and ODBC, providing tools for querying tables, columns, executing SQL, and managing data
This server has 14 tools with basic schemas and descriptions, but significant quality gaps prevent production recommendation. Most tools have minimal descriptions (10-50 chars, well below the 194-char baseline). Parameter descriptions are sparse or missing entirely. No output schemas are documented. Error handling is absent from visible code. Tool names follow verb_noun convention (get_tables, execute_reader) but lack context about when to use each. The execute_nonquery and execute_routine tools accept free-form SQL/parameters without validation guidance, inviting injection attacks. No evidence of pagination, result limits, or structured output shaping. Security concerns: SQL parameters exposed directly, no mention of permission gates or audit trails.
Adds a new row to a specified table
Configuration tool for the server
Counts the number of rows in a specified table
Executes SQL statements with supported operations (INSERT, UPDATE, DELETE, etc.)
Executes one or more SQL-92 SELECT statements and returns results
Executes a stored procedure or function
Retrieves list of columns for a specified table
Retrieves foreign key information for a specified table
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. Every tool lacks return type documentation.
execute_nonquery and execute_routine accept free-form SQL and parameters without validation, type hints, or injection guards. Descriptions lack format/constraint guidance.
Descriptions are too short (10-50 chars vs 194-char baseline). Most lack WHEN to use, prerequisites, or state-modification warnings. 'Configuration tool for the server' tells LLM nothing actionable.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
Retrieves list of indexes for a specified table
Retrieves primary key information for a specified table
Retrieves list of stored procedures and functions
Retrieves list of tables from the database
Instructions tool for ADO.NET database operations
Retrieves the database server version
No pagination, result limits, or result-shaping guidance. execute_reader and get_* tools could return thousands of rows, exhausting context window.
No error handling guidance visible. No recovery hints, retryability classification, or actionable error messages. Agents cannot self-correct on failures.