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.
Latest Blog Posts
- 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