MSSQL MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| connections | No | JSON string containing named connection strings | |
| MSSQL_DOMAIN | No | Legacy: Windows domain for NTLM authentication | |
| MSSQL_PASSWORD | No | Legacy: Windows password for NTLM authentication | |
| MSSQL_USERNAME | No | Legacy: Windows username for NTLM authentication | |
| WINDOWS_DOMAIN | No | Windows domain name for NTLM authentication | |
| WINDOWS_PASSWORD | No | Windows domain password for NTLM authentication | |
| WINDOWS_USERNAME | No | Windows domain username for NTLM authentication | |
| MSSQL_CONNECTIONS | No | Legacy JSON string for named connections | |
| windows_credentials | No | JSON string containing { username, password, domain } | |
| MSSQL_CONNECTION_STRING | No | Default connection string (optional if CONNECTION_* used) | |
| MSSQL_WINDOWS_CREDENTIALS | No | Legacy JSON string for windows credentials |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_connectionsA | List all available named database connections configured in the server |
| test_connectionB | Test the database connection and return basic server information |
| list_databasesB | List all databases available on the SQL Server instance |
| list_tablesA | List all tables in the connected database |
| describe_tableA | Get detailed schema information for a specific table including columns, data types, and constraints |
| sample_dataA | Retrieve sample data from a table (top 10 rows by default) |
| execute_queryA | Execute a custom SQL SELECT query with automatic limit (top 20 rows). Disabled unless MSSQL_ENABLE_EXECUTE_QUERY=true. |
| get_relationshipsB | Get foreign key relationships between tables in the database |
| list_stored_proceduresB | List all stored procedures, functions, and their basic information |
| describe_stored_procedureC | Get detailed information about a specific stored procedure including parameters and definition |
| list_viewsB | List all views in the database with their basic information |
| describe_viewC | Get detailed information about a specific view including its definition and dependencies |
| list_triggersC | List all triggers in the database with their associated tables |
| describe_triggerB | Get detailed information about a specific trigger including its definition and events |
| list_functionsA | List all user-defined functions (scalar, table-valued, etc.) |
| list_indexesC | List all indexes on tables with usage statistics and detailed information |
| analyze_table_statsB | Get table row counts, size information, and last update statistics |
| find_missing_indexesC | Identify potentially missing indexes based on query execution patterns |
| analyze_index_usageA | Show detailed index usage statistics to identify unused or underutilized indexes |
| analyze_database_sizeB | Get comprehensive database size information including data and log file sizes |
| list_constraintsC | List all constraints (check, unique, foreign key, etc.) across tables in the database |
| analyze_check_constraintsC | Extract and analyze business rules from check constraints |
| list_user_defined_typesA | List all user-defined data types and their definitions |
| find_computed_columnsC | List computed columns and their formulas to understand derived business logic |
| list_default_constraintsA | List all default value constraints and their definitions |
| analyze_data_distributionC | Get data distribution patterns for columns to understand data quality and patterns |
| find_lookup_tablesB | Identify reference/lookup tables automatically based on table patterns |
| analyze_null_patternsB | Find columns with high null percentages and analyze null patterns |
| detect_audit_columnsC | Identify common audit trail patterns (created/modified dates, user tracking) |
| get_stored_procedure_definitionB | Get the complete SQL query/definition of a stored procedure - this is the actual source code |
| get_multiple_stored_procedure_definitionsB | Get complete SQL definitions for multiple stored procedures at once |
| get_all_stored_procedure_definitionsA | Get complete SQL definitions for all stored procedures in a schema |
| search_stored_procedures_by_contentB | Search for stored procedures containing specific text or patterns in their SQL definition |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 33 tools
Tools are generally distinct in purpose, but there are many analysis and listing tools (e.g., analyze_table_stats vs. describe_table vs. list_tables) that could cause confusion if descriptions are skimmed. However, each tool has a clear focus, so ambiguity is low.
All tools follow a consistent verb_noun pattern using snake_case (e.g., list_tables, analyze_index_usage, describe_table). No mixed conventions or irregular names.
33 tools is on the high side, but each serves a distinct purpose for database analysis and exploration. The scope is broad but justified; tools like analyze_* and list_* cover different aspects.
The toolset is heavily skewed toward read-only analysis (schema inspection, statistics, sample data). Missing DDL operations (create, alter, drop) and write operations, which are essential for full database management. Execution of arbitrary queries is disabled by default.