Unified MCP server for SQL databases (MSSQL, PostgreSQL), Power BI Desktop, and Fabric Semantic Models with read and write capabilities
19 tools with complete schemas and descriptions, but significant gaps in error handling, parameter constraints, and output documentation. Tool names follow verb_noun convention well (sql_run_query, pbi_get_schema, fabric_create_measure). Descriptions are present but generic (avg ~80 chars, below 194-char baseline). Parameters lack enums for constrained values (e.g., database_id, action fields). No documented output schemas, pagination guidance, or recovery paths. Security annotations present (readOnlyHint/destructiveHint) but no permission gates or audit trail guidance in tool descriptions. Composition is sound, tools are single-responsibility, but chaining IDs and error recovery are underdocumented.
Connect to a Fabric semantic model via XMLA endpoint
Create a calculation group in the Fabric model
Create a new measure in the Fabric model
Create a relationship between two tables in the Fabric model
Create a user-defined function in the Fabric model
Get full model schema from connected Fabric semantic model
No output schemas documented. Tools return data but LLMs cannot infer result structure (fields, types, pagination). Breaks downstream tool chaining and forces agents to guess field names.
Parameter constraints missing enums. 'database_id' accepts free-form strings (should enumerate valid DBs: mssql, postgresql). 'action' in sql_rollback_last has enum but others lack constraints, inviting hallucinated values.
No error handling guidance in descriptions. Tools do not document what errors are retryable, user-fixable, or fatal. No recovery paths (e.g., 'If query fails, try sql_search_schema to validate table names').
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | <=2025-11-25 | v2 |
Modify column properties in the Fabric model
Execute a DAX query against the connected Fabric semantic model
Get tables, columns, measures, and relationships from the Power BI Desktop model
Execute a DAX query against the Power BI Desktop semantic model
Check if Power BI Desktop is running and get connection status
Execute a stored procedure with parameters
Create a new stored procedure
Get detailed schema information for a specific table
Execute a write operation (INSERT, UPDATE, DELETE) with optional confirmation and rollback capability
List all stored procedures in a database
Preview or undo the last write operation if pre-state was captured
Execute a read-only SQL query against a configured database
Search table and column names by keyword
Descriptions are generic and under 100 chars (baseline 194). E.g., 'List all stored procedures in a database' lacks WHEN to use it, what structure it returns, or how it chains to sql_call_procedure. LLMs cannot distinguish similar tools.
No pagination or result-limit guidance. sql_search_schema, sql_list_procedures, pbi_get_schema, fabric_get_schema may return large result sets but lack limit/offset/cursor parameters or documentation of max results.