mssql-health-mcp
This server provides a read-only interface to diagnose live SQL Server instances using DMVs (Dynamic Management Views). It cannot perform write operations (INSERT/UPDATE/DELETE, DROP/ALTER, or arbitrary SQL), requires only VIEW SERVER STATE permissions, and runs locally so connection strings stay private.
Key capabilities include:
Overall server health (
sunucu_sagligi): version, edition, CPU, memory, uptime, and database counts.Live activity & blocking (
aktif_sorgular_blocking): running queries, blocking chains, wait types, CPU/elapsed time, and query text — useful for diagnosing why the server is slow right now.Missing index recommendations (
eksik_indexler,eksik_index_create): suggestions ranked by impact with database, table, and column details, plus ready-to-useCREATE INDEXstatements.Unused index detection (
index_sagligi): identify indexes that are costing writes but providing no read benefit.Wait statistics & resource usage (
bekleme_istatistikleri): top wait types, transaction log usage, data/log file sizes, disk free space, andtempdbconsumption.Expensive query identification (
pahali_sorgular): top queries by CPU, reads, and duration with their text.Backup status (
yedek_durumu): last full, differential, and log backup status per database.Deadlock detection (
deadlock): recent deadlock timestamps from thesystem_healthsession.Configuration audit (
konfig_denetimi): check settings like MAXDOP and memory against best practices.Memory pressure (
bellek_baskisi): Page Life Expectancy (PLE), pending memory grants, and other pressure indicators.Transaction log health (
vlf_log_sagligi,acik_transactionlar): VLF counts, log truncation blockers, and open/long-running transactions.Prioritized health report (
tam_teshis): a consolidated summary of critical and warning findings across all the above areas.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mssql-health-mcpshow me the active blocking queries"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ChatGPT knows how to shrink a log file. It can't see your server. This MCP can. Ask "why is my server slow right now?" and get the real answer — live blocking chains, top waits, missing indexes — straight from your instance.
The value of an MCP isn't knowledge (LLMs already have that). It's access — to the one thing the internet can't see: the live state of your database.
🔒 Read-only by design
This is the whole point — safe enough to hand to a customer:
No write tools. Only DMV/SELECT diagnostics.
INSERT/UPDATE/DELETE,DROP/ALTER, "run any SQL" don't exist in the tool surface. Structurally cannot change anything.Least privilege. Connect with a read-only login (
VIEW SERVER STATE). Ready script:setup-readonly-login.sql. Two layers: the tools can't write and the login can't write.Local & private. Runs on your machine; your connection string and data never reach a third-party server.
Timeouts + ReadOnly intent so even a heavy diagnostic won't hurt production.
Related MCP server: SQL Server MCP
🚀 Quick start
Create the read-only login (setup-readonly-login.sql), then add this to your MCP client's config (works for most clients that use the mcpServers format):
{
"mcpServers": {
"mssql-health": {
"command": "npx",
"args": ["-y", "github:dmcteknoloji/mssql-health-mcp"],
"env": {
"MSSQL_CONNECTION_STRING": "Server=YOURSERVER,1433;Database=master;User Id=mcp_readonly;Password=***;Encrypt=true;TrustServerCertificate=true;ApplicationIntent=ReadOnly;"
}
}
}
}Needs Node.js 18+ and git (installs straight from GitHub; not published to npm). No git? Download the repo ZIP and run it with
node index.js.
Then just ask: "Show my SQL Server health", "Why is my server slow right now?", "Which indexes are missing?"
🧰 Tools
Tool | What it answers |
| Health report — prioritized critical/warning findings in one call |
| Server health: version, edition, CPU, memory, uptime, database count |
| Running queries + blocking chain — "why is it slow right now?" |
| Top wait stats (non-benign) with % — "what is the server waiting on?" |
| Missing-index suggestions by impact (suggests only, never creates) |
| Transaction log size & used % per database |
| Data/log file sizes + disk free space per volume |
| Last full/diff/log backup per database — "is my backup current?" |
| tempdb space by type (user/internal objects, version store, free) |
| Recent deadlock timestamps from system_health |
| Top queries by CPU/reads/duration + query text |
| Unused indexes (write cost, never read) |
| Missing indexes as ready CREATE INDEX statements |
| Server config best-practice audit (MAXDOP, memory…) |
| Memory pressure: PLE, pending grants, free RAM |
| VLF count + why the log can't truncate |
| Long/open transactions (log bloat) |
| Points you to continuous monitoring → SentinelDB360 |
🩺 → 📈 Next step: continuous monitoring
This MCP gives you a snapshot ("what's happening now"). For 24/7 monitoring, history, alerting and governance, DMC's product SentinelDB360 (database monitoring software) is built for exactly that. Ask the assistant "how do I monitor this continuously?" and the surekli_izleme tool explains.
License
MIT — © Çağlar Özenç · caglarozenc.com
ChatGPT log dosyasının nasıl küçültüleceğini bilir, ama sizin sunucunuzu göremez. Bu MCP görür. "Sunucum şu an neden yavaş?" diye sorun; gerçek cevabı — canlı blocking zinciri, en çok bekleme, eksik index — doğrudan sunucunuzdan alın.
Bir MCP'nin değeri bilgide değil, erişimde: internetin göremeyeceği tek şeye — sizin veritabanınızın canlı durumuna — erişiminde.
🔒 Tasarımı gereği salt-okunur
Müşteriye güvenle teslim edilecek kadar güvenli:
Yazma aracı yok. Yalnızca DMV/SELECT teşhis araçları.
INSERT/UPDATE/DELETE,DROP/ALTER, "rastgele sorgu çalıştır" araç yüzeyinde yoktur — yapısal olarak hiçbir şey değiştiremez.En az ayrıcalık. Salt-okunur login ile bağlanın (
VIEW SERVER STATE). Hazır script:setup-readonly-login.sql. İki kat koruma: araç da yazamaz, login de yazamaz.Lokal & gizli. Sizin makinenizde çalışır; bağlantı dizeniz ve verileriniz üçüncü bir sunucuya gitmez.
Zaman aşımı + ReadOnly intent — ağır bir teşhis bile production'ı yormaz.
🚀 Hızlı başlangıç
Salt-okunur login'i oluşturun (setup-readonly-login.sql), sonra MCP istemcinizin ayar dosyasına yukarıdaki mcpServers bloğunu ekleyin (çoğu istemci aynı biçimi kullanır). Ardından sorun: "SQL sunucumun sağlığını göster", "Sunucum şu an neden yavaş?", "Hangi index'ler eksik?"
🧰 Araçlar
Araç | Ne yanıtlar |
| Sağlık karnesi — tek çağrıda önceliklendirilmiş kritik/uyarı bulgular |
| Sunucu sağlığı: sürüm, edition, CPU, bellek, uptime, veritabanı sayısı |
| Çalışan sorgular + blocking zinciri — "şu an neden yavaş?" |
| En çok bekleme (benign hariç), yüzdesiyle — "sunucu neyi bekliyor?" |
| Etkiye göre eksik index önerileri (yalnızca önerir, oluşturmaz) |
| Veritabanı başına transaction log boyutu ve kullanım % |
| Veri/log dosya boyutları + disk boş alanı |
| DB başına son full/diff/log yedeği — "yedeğim güncel mi?" |
| tempdb alan kullanımı (kullanıcı/dahili nesneler, version store, boş) |
| system_health'ten son deadlock zamanları |
| En çok CPU/okuma/süre yiyen sorgular + metin |
| Kullanılmayan index'ler (yazma maliyeti, okunmuyor) |
| Eksik index'ler hazır CREATE INDEX cümlesiyle |
| Sunucu konfig best-practice denetimi (MAXDOP, bellek…) |
| Bellek baskısı: PLE, bekleyen talep, boş RAM |
| VLF sayısı + log neden truncate olmuyor |
| Uzun/açık transaction'lar (log şişiren) |
| Sürekli izleme için yönlendirir → SentinelDB360 |
🩺 → 📈 Bir adım sonrası: sürekli izleme
Bu MCP anlık bir görüntü verir ("şu an ne oluyor"). 7/24 izleme, geçmiş, uyarı ve yönetişim için DMC'nin ürünü SentinelDB360 (veritabanı izleme yazılımı) tam bunun için. Asistana "bunu sürekli nasıl izlerim?" diye sorun; surekli_izleme aracı anlatır.
Lisans
MIT — © Çağlar Özenç · caglarozenc.com
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceEnables AI assistants to connect and query Microsoft SQL Server databases using natural language, executing read-only SQL queries for safe data inspection and analysis.MIT
- Flicense-qualityDmaintenanceProvides secure, read-only access to Microsoft SQL Server with multi-layer protection, enabling safe query execution, schema discovery, and SQL script analysis through natural language.1

dmc-sql-saglikofficial
Flicense-qualityAmaintenanceProvides read-only SQL Server health diagnostics (server health, blocking queries, missing indexes) via MCP, with a GUI installer that automatically configures AI clients like Claude Desktop.- FlicenseCqualityCmaintenanceEnables AI assistants to analyze and query SQL Server databases, including schema discovery, health checks, and data retrieval.10
Related MCP Connectors
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Read-only access to your VortexIQ store data: audits, KPIs, alerts, Brand DNA, reports, Ask VIQ.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dmcteknoloji/mssql-health-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server