MCP server for ODBC-based xBase database connectivity, providing tools for schema inspection, data querying, and manipulation
This server has 14 tools with basic descriptions but critical gaps in schema documentation and parameter clarity. Tool names follow verb_noun convention (get_, execute_, add_) which is good. However, input schemas are inferred from C# type signatures rather than explicitly documented JSON Schema. Parameters like 'services' (IServiceProvider) and 'cancellationToken' are infrastructure concerns that should not appear in tool definitions exposed to LLMs. Most tools lack output schema documentation. Descriptions are present but generic (10-50 chars), below the 50-200 char baseline for LLM optimization. No enum constraints, no error recovery guidance, no pagination support despite tools like execute_reader that could return large result sets.
Insert a new row into a table
Configuration tool for the xBase server
Count rows in a table
Execute SQL statements with supported operations (INSERT, UPDATE, DELETE, etc.)
Execute one or more SQL-92 SELECT statements separated by semicolons
Execute a stored procedure or function
Get columns for a table in the database
Get foreign keys for a table
Infrastructure parameters exposed in tool definitions. 'services' (IServiceProvider) and 'cancellationToken' are implementation details, not user-facing inputs. These should be handled server-side and hidden from the LLM.
No output schema documentation. Tools return DataTable or query results but LLMs cannot see the field structure, forcing them to guess what data is available and how to chain calls.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
Get indexes for a table in the database
Get primary keys for a table
Get stored procedures and functions from the database
Get list of tables in the database
Instructions for using the xBase MCP server
Get the database server version
Descriptions are too short (10-50 chars, baseline 50-200). 'Get list of tables in the database' lacks context on when to call it, what it returns, or how to use results. Descriptions should explain WHAT, WHEN, and WHY.
No error recovery guidance. Tools like xbase_execute_reader and xbase_execute_nonquery can fail (SQL syntax, permission denied, connection lost) but descriptions do not explain what to do next or how to self-correct.
No pagination or result limits documented. xbase_execute_reader could return thousands of rows, exhausting context. No limit, offset, or cursor parameters visible.