Remote MCP server exposing 27 SQL Server performance tuning skills — deployed on Cloudflare Workers
This MCP server exposes 31 tools for SQL Server performance analysis. Strengths: all tools have descriptions (50-200 char range), clear naming conventions (verb_noun pattern with domain-specific prefixes), structured input schemas using Zod validation, and comprehensive artifact routing via route_artifact. Weaknesses: tool schemas lack output documentation, no explicit error recovery guidance, missing parameter descriptions in some tools, and no pagination or result limit documentation despite potential for large dataset returns. The server is well-intentioned and domain-expert (SQL Server performance tuning is highly specialized), but falls short of production-grade patterns for LLM orchestration: tools that accept arbitrary 'input' strings need stronger validation and error messages, and skill-based tools lack concrete output schema definitions to guide downstream LLM reasoning.
Get the content of a reference file for a skill — check explanations, how-to guides, concept docs, or error references. Use list_skills or get_skill to discover available reference filenames.
Get the full content of a named skill (SKILL.md) including all checks, thresholds, and output format. Also lists available reference files (check explanations, how-to guides) that can be fetched with get_reference.
List all 27 available SQL Server performance tuning skills with their check counts and triggers
Apply mssql-performance-review to the provided artifact.
Given an artifact type, returns the recommended skill(s) to use for analysis
Apply sqlag-review to the provided artifact.
Missing output schema documentation for 27 skill-review tools. Tools like tsql-review, sqlplan-review, sqlindex-advisor etc. accept optional 'input' parameter but do not document what they return. LLMs cannot plan downstream operations or extract required fields without knowing the response structure.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 53 | 2026-07-28+ | v2 |
Apply sqlblocking-review to the provided artifact.
Apply sqlbootstraplog-review to the provided artifact.
Apply sqlclusterlog-review to the provided artifact.
Apply sqldbconfig-review to the provided artifact.
Apply sqldeadlock-review to the provided artifact.
Apply sqldiskio-review to the provided artifact.
Apply sqlencryption-review to the provided artifact.
Apply sqlerrorlog-review to the provided artifact.
Apply sqlhadr-review to the provided artifact.
Apply sqlindex-advisor to the provided artifact.
Apply sqlmemory-review to the provided artifact.
Apply sqlmigration-objects-review to the provided artifact.
Apply sqlmigration-review to the provided artifact.
Apply sqlmigration-security-review to the provided artifact.
Apply sqlplan-batch to the provided artifact.
Apply sqlplan-compare to the provided artifact.
Apply sqlplan-review to the provided artifact.
Apply sqlprocstats-review to the provided artifact.
Apply sqlquerystore-review to the provided artifact.
Apply sqlspn-review to the provided artifact.
Apply sqlstats-review to the provided artifact.
Apply sqltrace-review to the provided artifact.
Apply sqlwait-review to the provided artifact.
Apply ssrstracelog-review to the provided artifact.
Apply tsql-review to the provided artifact.
Input parameter 'input' is vague and accepts arbitrary strings with no validation guidance. The description 'Raw SQL, XML plan, statistics output, trace data, or other artifact' is too broad. No constraints on format, length, or character encoding. LLMs cannot validate input before submitting; tools must do it and return actionable error messages.
No pagination or result limit guidance. Tools like list_skills and discovery tools may return large datasets. The rubric requires pagination support (limit, offset, next_cursor) and documentation of max result size. Without it, responses can blow the context window or cause timeouts.
No error recovery guidance. When a skill is not found (e.g., user provides typo in skill name), the response returns a list of available skills but does not suggest 'Did you mean?' corrections. Error messages lack actionable next steps for LLM retry logic.
route_artifact tool is well-designed but documents artifact_type as an enum with descriptions inline. Descriptions are helpful but somewhat dense. For LLM clarity, consider splitting artifact type into separate discovery tools or enhancing the enum descriptions to include 'When to use' language.