Add execution plan analysis MCP tools to Dashboard and Lite#542
Merged
Conversation
Ports the 5 plan analysis tools from PerformanceStudio to both apps: - analyze_query_plan: Analyze cached plan by query_hash - analyze_procedure_plan: Analyze procedure plan by sql_handle/plan_handle - analyze_query_store_plan: Analyze Query Store plan (fetched on-demand from SQL Server) - analyze_plan_xml: Analyze raw showplan XML directly - get_plan_xml: Retrieve raw showplan XML by query_hash Uses ShowPlanParser + PlanAnalyzer (31 anti-pattern rules) to return structured JSON with warnings, missing indexes, parameters, memory grants, and top operators. Dashboard fetches plans from SQL Server PerformanceMonitor database. Lite fetches from DuckDB cache, with Query Store as on-demand SQL Server fallback. Tested end-to-end on both apps against SQL2022. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
analyze_query_plan,analyze_procedure_plan,analyze_query_store_plan,analyze_plan_xml,get_plan_xmlPerformanceMonitordatabase; Lite fetches from DuckDB cache with Query Store as on-demand SQL Server fallbackTest plan
analyze_plan_xmlwith synthetic XML detects Serial Plan, Scan, missing index, parameter sniffinganalyze_plan_xmlwith synthetic XML detects Scan With Predicateanalyze_query_planend-to-end against SQL2022 real query (15 warnings detected)🤖 Generated with Claude Code