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.

🚀 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

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