Free, open-source SQL Server performance monitoring — 32 collectors, real-time alerts, graphical plan viewer, MCP server for AI analysis. Supports SQL 2016-2025, Azure SQL, AWS RDS.
# Add to your Claude Code skills
git clone https://github.com/erikdarlingdata/PerformanceMonitorGuides for using mcp servers skills like PerformanceMonitor.
Last scanned: 5/23/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-23T06:35:34.587Z",
"semgrepRan": false,
"npmAuditRan": true,
"pipAuditRan": true
}PerformanceMonitor is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by erikdarlingdata. Free, open-source SQL Server performance monitoring — 32 collectors, real-time alerts, graphical plan viewer, MCP server for AI analysis. Supports SQL 2016-2025, Azure SQL, AWS RDS. It has 439 GitHub stars.
Yes. PerformanceMonitor passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/erikdarlingdata/PerformanceMonitor" and add it to your Claude Code skills directory (see the Installation section above).
PerformanceMonitor is primarily written in C#. It is open-source under erikdarlingdata on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh PerformanceMonitor against similar tools.
No comments yet. Be the first to share your thoughts!
Free, open-source monitoring that replaces the tools charging you thousands per server per year. 30+ collectors, real-time alerts, built-in MCP server for AI analysis. Nothing phones home. Your data stays on your server and your machine.
Supported: SQL Server 2016–2025 | Azure SQL Managed Instance | AWS RDS for SQL Server | Azure SQL Database (Lite only)


👉 Not sure which edition to pick? Start with Lite. One download, nothing installed on your server, data flowing in under 5 minutes.
| Full Edition | Lite Edition | |
|---|---|---|
| What it does | Installs a PerformanceMonitor database with 34 T-SQL collectors running via SQL Agent. Separate dashboard app connects to view everything. |
Single desktop app that monitors remotely. Stores data locally in DuckDB + Parquet. Nothing touches your server. |
| Best for | Production 24/7 monitoring, long-term baselining | Quick triage, Azure SQL DB, locked-down servers, consultants, firefighting |
| Requires | SQL Agent running (see permissions) | VIEW SERVER STATE (see permissions) |
| Get started | Run the installer, open the dashboard | Download, run, add a server, done |
Both editions include real-time alerts (system tray + email + webhooks), charts and graphs, dark and light themes, CSV export, and a built-in MCP server for AI-powered analysis with tools like Claude.
All release binaries are digitally signed via SignPath — no more Windows SmartScreen warnings.
"You guys make us DBAs look like absolute rockstars. I'm over here getting showered with praise, and all I do is use your scripts and follow your advice."
"replaced SentryOne and had it running in 10 minutes"
"I've had enough time to gather data and converse with Claude on this. It helped a lot to zone in on CPU starvation from the hypervisor on which the VM runs. IT team currently investigating the host configuration."
🔍 34 specialized T-SQL collectors running on configurable schedules with named presets (Off, Aggressive, Balanced, Low-Impact) — wait stats, query performance, blocking chains, deadlock graphs, memory grants, file I/O, tempdb, perfmon counters, FinOps/capacity, and more. Query text and execution plan collection can be disabled per-collector for sensitive environments. Switch presets with a pair of SQL Agent jobs to get quiet-hours / overnight windows without writing any code.
🚨 Real-time alerts for blocking, deadlocks, and high CPU — system tray notifications, styled HTML emails with full XML attachments, and webhook notifications for external integrations
📊 NOC-style dashboard with green/yellow/red health cards, auto-refresh, configurable time ranges, and dark/light themes
📋 Graphical plan viewer with native ShowPlan rendering, 30-rule PlanAnalyzer, operator-level cost breakdown, and a standalone mode for opening .sqlplan files without a server connection
💡 Recommendations engine (advise-and-act) — a dedicated Recommendations tab surfaces prioritized findings from your own monitoring data with the reasoning behind each one, and can apply selected fixes directly. Destructive changes (like enabling Read Committed Snapshot Isolation) are gated behind an informed-consent dialog that spells out both the risk of acting and the risk of doing nothing.
🤖 Built-in MCP server with 55-66 read-only tools for AI analysis — ask Claude Code or Cursor "what are the top wait types on my server?" and get answers from your actual monitoring data
🧰 Community tools installed automatically — sp_WhoIsActive, sp_BlitzLock, sp_HealthParser, sp_HumanEventsBlockViewer
🔒 Your data never leaves — no telemetry, no cloud dependency, no phoning home. Credentials stored in Windows Credential Manager with OS-level encryption.




PerformanceMonitorLite-win-Setup.exe (requires .NET 10 Desktop Runtime)%LocalAppData%\PerformanceMonitorLite, adds Start Menu and Desktop shortcuts, and registers the app under Apps & Features so it shows up in Windows search and can be uninstalled normally. Auto-update is wired in.Data starts flowing within 1–5 minutes. That's it. No installation on your server, no Agent jobs, no sysadmin required.
Upgrading from zip? Click Import Settings then Import Data in the sidebar and point both at your old Lite folder. Settings imports server connections, alert thresholds, SMTP config, and schedules. Data imports historical DuckDB + Parquet archives. Auto-update users (installed via Setup.exe) get updates automatically — no manual import needed.
Always On AG? Enable ReadOnlyIntent in the connection settings to route Lite's monitoring queries to a readable secondary, keeping the primary clear. Enable MultiSubnetFailover for multi-subnet failover scenarios.
26 collectors run on independent, configurable schedules:
| Collector | Default | Source |
|---|---|---|
| query_snapshots | 1 min | sys.dm_exec_requests + sys.dm_exec_sessions |
| blocked_process_report | 1 min | XE ring buffer session |
| waiting_tasks | 1 min | sys.dm_os_waiting_tasks |
| wait_stats | 1 min | sys.dm_os_wait_stats (deltas) |
| query_stats | 1 min | sys.dm_exec_query_stats (deltas) |
| procedure_stats | 1 min | sys.dm_exec_procedure_stats (deltas) |
| cpu_utilization | 1 min | sys.dm_os_ring_buffers scheduler monitor |
| file_io_stats | 1 min | sys.dm_io_virtual_file_stats (deltas) |
| memory_stats | 1 min | sys.dm_os_sys_memory + memory counters |
| memory_grant_stats | 1 min | sys.dm_exec_query_memory_grants |
| tempdb_stats | 1 min | sys.dm_db_file_space_usage |
| perfmon_stats | 1 min | sys.dm_os_performance_counters (deltas) |
| deadlocks | 1 min | dedicated PerformanceMonitor_Deadlock XE session (xml_deadlock_report; database_xml_deadlock_report on Azure SQL DB) |
| dmv_blocking_snapshot | 1 min | sys.dm_os_waiting_tasks + sys.dm_exec_* (always-on blocking fallback when the blocked-process-report XE is unavailable) |
| session_stats | 1 min | sys.dm_exec_sessions active session t |