SQL Server MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SQLSERVER_HOST | Yes | The hostname or IP address of the SQL Server instance. | |
| SQLSERVER_PORT | No | The port number for SQL Server (default: 1433). | |
| SQLSERVER_USER | Yes | The username used for SQL Server authentication. | |
| SQLSERVER_DATABASE | Yes | The name of the database to connect to. | |
| SQLSERVER_PASSWORD | Yes | The password used for SQL Server authentication. | |
| SQLSERVER_DRIVER_TYPE | No | The driver type to use: 'auto', 'pyodbc', or 'pymssql'. | auto |
| SQLSERVER_TRUST_SERVER_CERTIFICATE | No | Whether to trust the server certificate (true/false). |
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
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_schemasA | List all user schemas in the SQL Server database. |
| list_tablesB | List tables and views in the database. |
| get_table_schemaA | Get detailed schema definition for a specific table or view including columns, data types, primary keys, and foreign keys. |
| get_database_schemaB | Get the complete database schema or filter by schema and table name. |
| read_recordsA | Read/Select records from a table with optional column selection, WHERE filtering, ordering, and pagination. |
| read_queryA | Execute a custom read-only SELECT query against the SQL Server database. |
| insert_recordB | Insert a single record into a database table (Create). |
| bulk_insert_recordsA | Insert multiple records into a database table in a single transaction (Batch Create). |
| update_recordsC | Update matching records in a table with specified values (Update). |
| delete_recordsC | Delete records from a table matching a WHERE clause (Delete). |
| execute_sqlA | Execute arbitrary SQL statements such as DDL (CREATE, ALTER, DROP) or DML (INSERT, UPDATE, DELETE). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| resource_database_schema | MCP Resource returning the full database schema as JSON. |
| resource_tables_list | MCP Resource returning all available database tables. |
TDQS
Scored across 11 tools
Several tools have overlapping boundaries: get_table_schema and get_database_schema overlap when filtering by table name, read_records and read_query both perform reads, and execute_sql can perform the same insert/update/delete operations as the dedicated CRUD tools. The descriptions help clarify intent, but an agent may still select the wrong tool in some scenarios.
The tools generally follow a consistent verb_noun snake_case pattern (list_tables, insert_record, update_records, delete_records). There is minor inconsistency between list, get, and read prefixes, but the naming remains predictable and easy to navigate.
11 tools is well-scoped for a SQL Server MCP server. The set includes schema discovery, table inspection, record reads, CRUD operations, bulk insertion, and raw SQL execution without feeling bloated.
The tool surface covers the core database lifecycle: listing schemas/tables, inspecting schema definitions, reading records, inserting, updating, deleting, bulk inserting, and executing DDL/DML. There are no obvious missing operations for typical SQL Server management and data access workflows.