Skip to main content
Glama
dmcteknoloji

mssql-health-mcp

by dmcteknoloji

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

tam_teshis

Health report — prioritized critical/warning findings in one call

sunucu_sagligi

Server health: version, edition, CPU, memory, uptime, database count

aktif_sorgular_blocking

Running queries + blocking chain — "why is it slow right now?"

bekleme_istatistikleri

Top wait stats (non-benign) with % — "what is the server waiting on?"

eksik_indexler

Missing-index suggestions by impact (suggests only, never creates)

log_kullanimi

Transaction log size & used % per database

disk_dosya

Data/log file sizes + disk free space per volume

yedek_durumu

Last full/diff/log backup per database — "is my backup current?"

tempdb_kullanimi

tempdb space by type (user/internal objects, version store, free)

deadlock

Recent deadlock timestamps from system_health

pahali_sorgular

Top queries by CPU/reads/duration + query text

index_sagligi

Unused indexes (write cost, never read)

eksik_index_create

Missing indexes as ready CREATE INDEX statements

konfig_denetimi

Server config best-practice audit (MAXDOP, memory…)

bellek_baskisi

Memory pressure: PLE, pending grants, free RAM

vlf_log_sagligi

VLF count + why the log can't truncate

acik_transactionlar

Long/open transactions (log bloat)

surekli_izleme

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

tam_teshis

Sağlık karnesi — tek çağrıda önceliklendirilmiş kritik/uyarı bulgular

sunucu_sagligi

Sunucu sağlığı: sürüm, edition, CPU, bellek, uptime, veritabanı sayısı

aktif_sorgular_blocking

Çalışan sorgular + blocking zinciri — "şu an neden yavaş?"

bekleme_istatistikleri

En çok bekleme (benign hariç), yüzdesiyle — "sunucu neyi bekliyor?"

eksik_indexler

Etkiye göre eksik index önerileri (yalnızca önerir, oluşturmaz)

log_kullanimi

Veritabanı başına transaction log boyutu ve kullanım %

disk_dosya

Veri/log dosya boyutları + disk boş alanı

yedek_durumu

DB başına son full/diff/log yedeği — "yedeğim güncel mi?"

tempdb_kullanimi

tempdb alan kullanımı (kullanıcı/dahili nesneler, version store, boş)

deadlock

system_health'ten son deadlock zamanları

pahali_sorgular

En çok CPU/okuma/süre yiyen sorgular + metin

index_sagligi

Kullanılmayan index'ler (yazma maliyeti, okunmuyor)

eksik_index_create

Eksik index'ler hazır CREATE INDEX cümlesiyle

konfig_denetimi

Sunucu konfig best-practice denetimi (MAXDOP, bellek…)

bellek_baskisi

Bellek baskısı: PLE, bekleyen talep, boş RAM

vlf_log_sagligi

VLF sayısı + log neden truncate olmuyor

acik_transactionlar

Uzun/açık transaction'lar (log şişiren)

surekli_izleme

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

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

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