MCP server for ODBC database connectivity with support for Microsoft Access and other ODBC-compliant databases
14 tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Most tools have 1-4 parameters with type info, but descriptions are minimal (10-50 chars). No tool annotations (readOnlyHint/destructiveHint). Error handling and recovery guidance absent. Naming is verb-forward (get_, execute_, add_) but some descriptions lack context on when to use each tool vs. alternatives (e.g., execute_reader vs. execute_nonquery distinction unclear). Output schemas not documented, LLMs cannot plan downstream calls. No pagination guidance for potentially large result sets (get_tables, get_routines).
Inserts a new row into a specified table
Configuration tool for the server
Counts the number of rows in a specified table
Executes SQL statements that modify data (INSERT, UPDATE, DELETE)
Executes one or more SQL-92 SELECT statements and returns results
Executes a stored procedure or function with parameters
Retrieves column information for a specified table
Retrieves foreign key information for a specified table
No output schemas documented. LLMs cannot infer what fields are returned, breaking downstream tool chaining and forcing discovery detours.
Descriptions too brief (10-50 chars). Lack context on WHEN to use each tool, prerequisites, and what distinguishes execute_reader from execute_nonquery.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Clients cannot distinguish safe reads from destructive writes without parsing descriptions.
No pagination or result-limit guidance. get_tables, get_routines, execute_reader could return thousands of rows, exhausting context window.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Retrieves index information for a specified table
Retrieves primary key information for a specified table
Retrieves stored procedures and functions from the database
Retrieves list of tables from the database
Provides instructions for using the MCP server
Retrieves the database server version
Error handling absent. No recovery guidance (e.g., 'Invalid SQL syntax. Check table/column names with get_tables first'). Raw errors unhelpful to LLMs.