mcp-sqlserver
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MSSQL_PORT | No | The SQL Server port. Defaults to 9123. | 9123 |
| MSSQL_USER | No | The SQL login username. Required unless using Windows Integrated authentication. | |
| MSSQL_CLIENT | No | Client key under 'clients' (e.g. a specific database name) used when loading configuration from a connections map file. | |
| MSSQL_DOMAIN | No | The NTLM domain for domain\user authentication. | |
| MSSQL_SERVER | No | The SQL Server host address (e.g. 192.168.100.65). | |
| MSSQL_ENCRYPT | No | Whether to use encryption for the connection ('true' or 'false'). | false |
| MSSQL_DATABASE | No | The database name to connect to. Defaults to 'master'. | master |
| MSSQL_PASSWORD | No | The SQL login password. Required unless using Windows Integrated authentication. | |
| MSSQL_TRUST_CERT | No | Set to 'true' to trust self-signed or development certificates. | |
| MSSQL_CONFIG_PATH | No | Path to the JSON connections file. Defaults to 'connections.json' in the current working directory. | |
| MSSQL_ENVIRONMENT | No | Environment key (e.g. staging, prod) used when loading configuration from a connections map file. | |
| MSSQL_WINDOWS_INTEGRATED | No | Set to 'true' to use the current Windows OS user for authentication (requires msnodesqlv8). | |
| MSSQL_TRUST_SERVER_CERTIFICATE | No | Alternative environment variable to 'MSSQL_TRUST_CERT'; set to 'true' to trust the server certificate. |
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 |
|---|---|
| queryA | Execute a read-only SQL query (SELECT) against the configured SQL Server database. |
| list_tablesA | List tables in the current database, optionally filtered by schema. |
| describe_tableB | Return column names and types for a table. |
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 3 tools
Each tool has a clearly distinct purpose: describe_table provides metadata for a specific table, list_tables enumerates available tables, and query executes arbitrary SELECT queries. There is no overlap in functionality, and an agent can easily differentiate between them based on their descriptions.
All tool names follow a consistent verb_noun pattern (describe_table, list_tables, query). While 'query' is a single word, it functions as a verb in this context and maintains readability without deviating from the clear, descriptive naming style used throughout.
With only 3 tools, the set feels thin for a SQL Server interface, which typically involves more operations like data manipulation (INSERT, UPDATE, DELETE) or schema modifications. However, the tools are well-scoped for read-only database interactions, making it borderline but not severely inadequate.
The tool surface is significantly incomplete for a SQL Server domain, as it only supports read operations (SELECT, metadata queries) without any write capabilities (INSERT, UPDATE, DELETE) or schema management tools. This creates notable gaps that could lead to agent failures when full database interactions are required.