mssql-health-mcp

mssql-health-mcp

Provides read-only SQL Server health and diagnostic tools using DMVs, enabling users to query server health, active queries with blocking, and missing indexes through natural language.

Category
Visit Server

README

<h1 align="center">🩺 mssql-health-mcp</h1>

<p align="center"> <b>Ask your AI about your <i>live</i> SQL Server.</b><br/> A read-only MCP server that lets Claude, ChatGPT, Gemini — or any MCP client —<br/> diagnose your real SQL Server through DMVs. <b>Read-only by design.</b> </p>

<p align="center"> <a href="https://www.npmjs.com/package/@dmcteknoloji/mssql-health-mcp"><img src="https://img.shields.io/npm/v/@dmcteknoloji/mssql-health-mcp" alt="npm"/></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue" alt="MIT"/></a> <img src="https://img.shields.io/badge/node-%3E%3D18-green" alt="node >=18"/> <img src="https://img.shields.io/badge/SQL%20Server-read--only-2ec5ff" alt="read-only"/> <img src="https://img.shields.io/badge/MCP-Model%20Context%20Protocol-7af0ff" alt="MCP"/> </p>

<p align="center"><b>🇬🇧 English</b> · <a href="#-türkçe">🇹🇷 Türkçe</a></p>


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", "@dmcteknoloji/mssql-health-mcp"],
      "env": {
        "MSSQL_CONNECTION_STRING": "Server=YOURSERVER,1433;Database=master;User Id=mcp_readonly;Password=***;Encrypt=true;TrustServerCertificate=true;ApplicationIntent=ReadOnly;"
      }
    }
  }
}

Then just ask: "Show my SQL Server health", "Why is my server slow right now?", "Which indexes are missing?"

🧰 Tools

Tool What it answers
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

<br/>


<h2 id="-türkçe">🇹🇷 Türkçe</h2>

<p><b>Canlı</b> SQL Server'ınızı yapay zekaya sorun. Claude, ChatGPT, Gemini — ya da herhangi bir MCP istemcisi — gerçek sunucunuzu DMV'lerle teşhis etsin. <b>Tasarımı gereği salt-okunur.</b></p>

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
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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured