Skip to main content
Glama
SQL Server MCP

SQL Server MCP

by millelog

SQL Server MCP

A read-only MCP (Model Context Protocol) server for SQL Server database introspection. Use with Claude Desktop to let Claude explore and query your SQL Server databases.

Features

  • List databases, tables, views, stored procedures, and functions

  • Get object definitions (DDL/source code)

  • Execute read-only SELECT queries

  • Search for objects across databases

  • Read-only by design - all mutation queries are blocked

Related MCP server: mssql-mcp

Installation

# Clone the repo
git clone https://github.com/millelog/sql-server-mcp.git
cd sql-server-mcp

# Install in a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -e .

Claude Desktop Configuration

Add to your Claude Desktop config file:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "sql-server": {
      "command": "python",
      "args": ["-m", "sql_server_mcp"],
      "cwd": "C:\\path\\to\\sql-server-mcp",
      "env": {
        "MSSQL_HOST": "your-server",
        "MSSQL_USER": "your-username",
        "MSSQL_PASSWORD": "your-password",
        "MSSQL_DATABASE": "master"
      }
    }
  }
}

Restart Claude Desktop after updating the config.

Configuration Options

Variable

Description

Default

MSSQL_HOST

SQL Server hostname

localhost

MSSQL_PORT

SQL Server port

1433

MSSQL_USER

Username

-

MSSQL_PASSWORD

Password

-

MSSQL_DATABASE

Default database

master

MSSQL_CONNECTION_STRING

Full connection string (overrides above)

-

MAX_ROWS

Maximum rows returned

100

QUERY_TIMEOUT

Query timeout (seconds)

30

ALLOWED_DATABASES

Comma-separated allowlist

-

BLOCKED_DATABASES

Comma-separated blocklist

-

Available Tools

Tool

Description

list_databases

List all accessible databases

list_tables

List tables in a database

get_table_definition

Get CREATE TABLE DDL

get_table_columns

Get column metadata

get_table_indexes

Get index information

get_table_relationships

Get foreign key relationships

list_views

List views in a database

get_view_definition

Get CREATE VIEW DDL

list_procedures

List stored procedures

get_procedure_definition

Get CREATE PROCEDURE DDL

get_procedure_parameters

Get procedure parameters

list_functions

List user-defined functions

get_function_definition

Get CREATE FUNCTION DDL

execute_query

Run read-only SELECT queries

get_sample_data

Get sample rows from a table

search_objects

Search for objects by name

search_definitions

Search within object definitions

get_schema_overview

Get database schema summary (object counts, size)

Development

# Run tests
pytest tests/ -v

# Run with coverage
pytest tests/ --cov=src/sql_server_mcp

License

MIT

Available Tools

20 tools
execute_queryB

Execute a read-only SELECT query

Inputs: query (required), database, max_rows.

get_function_definitionC

Get the CREATE FUNCTION definition

Inputs: function (required), database.

get_procedure_definitionB

Get the CREATE PROCEDURE definition

Inputs: procedure (required), database.

get_procedure_parametersB

Get parameter information for a stored procedure

Inputs: procedure (required), database.

get_sample_dataB

Get sample rows from a table

Inputs: table (required), database, rows, random.

get_schema_overviewC

Get an overview of a database schema (counts of objects, size info)

Inputs: database.

get_table_columnsC

Get detailed column information for a table

Inputs: table (required), database.

get_table_definitionB

Get the full CREATE TABLE definition for a table

Inputs: table (required), database.

get_table_indexesC

Get index information for a table

Inputs: table (required), database.

get_table_relationshipsA

Get foreign key relationships for a table

Inputs: table (required), database.

get_view_columnsC

Get column information for a view

Inputs: view (required), database.

get_view_definitionB

Get the CREATE VIEW definition

Inputs: view (required), database.

list_databasesB

List all accessible databases on the SQL Server

Inputs: include_system, name_pattern.

list_functionsB

List all user-defined functions in a database

Inputs: database, schema, function_type.

list_proceduresC

List all stored procedures in a database

Inputs: database, schema, name_pattern, include_system.

list_schemasB

List all schemas in a database with object counts

Inputs: database.

list_tablesC

List all tables in a database

Inputs: database, schema, name_pattern.

list_viewsC

List all views in a database

Inputs: database, schema, name_pattern.

search_definitionsC

Search within object definitions (procedure/function/view source code)

Inputs: pattern (required), database, object_types.

search_objectsB

Search for database objects by name across all databases

Inputs: pattern (required), object_types, database.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 20 tools

    Disambiguation5/5

    Every tool targets a distinct resource and action, such as listing vs. getting definitions, columns, or relationships. No two tools have overlapping purposes; even similar operations like get_table_definition vs get_table_columns are clearly separated by what they return.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case, with verbs like execute, get, list, and search. The naming is predictable and uniform across the entire set.

    Tool Count5/5

    20 tools is well-scoped for a SQL Server schema exploration and querying server. Each tool covers a specific need without redundancy, and the count is appropriate for the domain's complexity.

    Completeness5/5

    The tool set provides comprehensive coverage for read-only database operations: listing objects, retrieving definitions, columns, indexes, relationships, sample data, and executing queries. It also includes search capabilities. There are no obvious gaps for the intended read-only scope.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server for Microsoft SQL Server integration that enables users to query, monitor, and analyze databases directly through Claude. It supports schema exploration, performance analysis, and optional write operations via natural language commands.
      8 npm
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Read-only MCP server for Microsoft SQL Server that retrieves connection details from AWS Secrets Manager, enabling database exploration and querying via natural language.
      12
      9 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables Claude to query, monitor, and analyze SQL Server databases, with support for schema exploration, performance analysis, and optional write operations.
      25 npm
      1
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      Read-only MCP server for exploring and analyzing SQL Server objects (tables, views, triggers, stored procedures) from Claude Code.
      8
      1,129 npm
      MIT