MCP server for HubSpot database connectivity via ODBC, providing tools for querying tables, columns, indexes, foreign keys, primary keys, and executing SQL operations
This server provides 15 database/HubSpot tools with basic schemas and descriptions. Most tools have parameter descriptions and type definitions, but descriptions are generic (10-50 chars) and lack actionable context for LLM selection. No output schemas documented. Error handling is minimal. Tool naming follows verb_noun convention (get_*, execute_*, add_*) but lacks specificity about side effects. No tool annotations (readOnlyHint/destructiveHint) despite clear risk stratification. Composition is reasonable, tools are single-purpose, but descriptions do not explain WHEN to use each tool or what downstream tools expect.
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, etc.)
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 predict what fields are returned or plan downstream tool calls. E.g., get_tables returns a list but structure is undocumented.
Descriptions are generic and under 50 characters for most tools. E.g., 'Configuration tool for the server' and 'Provides instructions' do not explain WHEN to call them or what they return. LLMs cannot distinguish between similar tools.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk stratification (READ_ONLY vs WRITE). Agents cannot determine which tools are safe to retry or have side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Retrieves HubSpot-specific foreign key information for a specified table
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 schema
Provides instructions for using the server and its tools
Returns the database server version
execute_nonquery and execute_routine accept free-form SQL/parameters without validation guidance. Descriptions lack constraints (e.g., 'SQL-92 SELECT statements separated by semicolons' is vague). No error recovery hints for invalid SQL.
No pagination support visible in schema. Tools like get_tables, get_columns, execute_reader may return large result sets but lack limit/offset/page parameters or total_count in output.