MS SQL Server MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| mssql_queryA | Execute a read-only SQL query against the MS SQL Server database. Accepts: a single SELECT / WITH...SELECT; a multi-statement batch led by DECLARE, INSERT, or CREATE TABLE # that writes ONLY to session-local #temp tables or @table variables (global ##temp is never allowed); or EXEC of a whitelisted stored procedure whose definition does not write to a persistent table. Writes to real tables, DDL on persistent objects, dynamic SQL, EXEC inside batches, and DBCC are blocked (server runs with MSSQL_READ_ONLY=true). Returns results as JSON or Markdown. |
| mssql_get_schemaA | Get database schema information including tables, columns, data types, primary keys, and foreign keys. Optionally filter by table name. |
| mssql_get_stored_proceduresA | List stored procedures in the database with their definitions and parameters. Optionally filter by procedure name. |
| mssql_monitor_locksA | Monitor database locks, blocking sessions, and potential deadlocks. Shows lock types, resources, and wait times. |
| mssql_monitor_usageB | Get database resource usage statistics including CPU, memory, active sessions, and top resource-consuming queries. |
| mssql_test_connection | Test database connectivity and return server information: version, edition, current database, login, and server mode (read-only or write). |
| mssql_list_databasesA | List all databases on the SQL Server instance with state, recovery model, compatibility level, and creation date. |
| mssql_list_tablesA | List tables in the current database with schema, row count, and size in MB. Optionally filter by schema name. |
| mssql_sample_dataA | Retrieve sample rows from a table (default 10, max 100). Safe way to preview data without writing SQL. Accepts 'table' or 'schema.table'. |
| mssql_get_relationshipsA | Get foreign key relationships between tables: constraint name, from/to table and column, and delete/update actions. Optionally filter by table name (matches either side). |
| mssql_get_viewsA | List views in the database with their full SQL definitions. Optionally filter by view name to get a single view's definition. |
| mssql_search_definitions | Search the SQL source code of all stored procedures, views, functions, and triggers for a text fragment (e.g. a table name or business term). Useful for impact analysis and legacy code exploration. |
| mssql_analyze_indexesA | Analyze index usage (seeks/scans/lookups/updates per index) and list potentially missing indexes suggested by the query optimizer. Optionally filter usage stats by table name. |
| mssql_analyze_storageA | Analyze storage: largest tables by size (row count, total/used MB) and database file sizes. Useful for capacity planning and finding space hogs. |
| mssql_index_fragmentationA | Analyze index fragmentation and recommend maintenance: REBUILD (fragmentation ≥ 30%), REORGANIZE (5–30%), or OK (< 5%). Generates ready-to-run ALTER INDEX statements (ONLINE=ON suggested automatically on editions that support it). Small indexes below minPageCount are excluded since fragmentation there is harmless. |
| mssql_top_queriesA | Find the most expensive queries from the plan cache, ranked by a chosen metric: cpu, duration, reads (logical I/O), writes, memory (grant size), or executions. Returns per-query totals and averages with the SQL text — the starting point for performance tuning. |
| mssql_performance_healthA | Overall performance health check: top wait statistics (with benign waits filtered out), memory counters (Page Life Expectancy, memory grants pending, total vs target memory), workload counters (batch requests, compilations), and rule-based optimization recommendations (e.g. high CXPACKET → review MAXDOP, PAGEIOLATCH → check I/O and indexes, LCK_M → run mssql_find_blocking). |
| mssql_find_blockingA | Find current blocking chains: which sessions are blocked, by whom, on what resource, and for how long. Identifies lead blockers (including idle sessions holding open transactions) with their SQL text. Supported: SQL Server 2019 (15.x), 2022 (16.x), 2025 (17.x) — all editions including Express. Requires VIEW SERVER STATE. |
| mssql_get_deadlocksA | Retrieve recent deadlock events from the built-in system_health Extended Events session, including the full deadlock graph XML, victim sessions, and the queries involved. Source 'ring_buffer' (default, fast, recent events only) or 'file' (reads system_health .xel files, further back but slower). Supported: SQL Server 2019 (15.x), 2022 (16.x), 2025 (17.x) — all editions including Express. Requires VIEW SERVER STATE. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/PiyapatRag/mssql-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server