Skip to main content
Glama
fabriciofs

MCP SQL Server

by fabriciofs

MCP SQL Server

npm version Build Status codecov License: MIT TypeScript Node.js

A Model Context Protocol (MCP) server for SQL Server integration with Claude Code. Query, monitor, and analyze your SQL Server databases directly from Claude.

Features

  • Query Execution - Execute SELECT queries with parameterized inputs

  • Schema Exploration - Browse tables, columns, procedures, and indexes

  • Database Monitoring - Track active queries, blocking sessions, wait stats, and connections

  • Performance Analysis - Identify missing indexes, unused indexes, and fragmentation

  • Write Operations - INSERT, UPDATE, DELETE when enabled (READONLY=false)

Related MCP server: MSSQL MCP Server

Installation

npx @fabriciofs/mcp-sql-server

Option 2: Global installation

npm install -g @fabriciofs/mcp-sql-server

Option 3: Clone and build locally

git clone https://github.com/fabriciofs/mcp-sql-server.git
cd mcp-sql-server
npm install
npm run build

Configuration

Claude Code Integration

Add to your Claude Code MCP settings (~/.claude/settings.json or project .claude/settings.json):

{
  "mcpServers": {
    "sqlserver": {
      "command": "npx",
      "args": ["-y", "@fabriciofs/mcp-sql-server"],
      "env": {
        "SQL_CONNECTION_URL": "sqlserver://user:password@localhost:1433/database",
        "READONLY": "true"
      }
    }
  }
}

Or with individual connection parameters:

{
  "mcpServers": {
    "sqlserver": {
      "command": "npx",
      "args": ["-y", "@fabriciofs/mcp-sql-server"],
      "env": {
        "SQL_SERVER": "localhost",
        "SQL_DATABASE": "mydb",
        "SQL_USER": "sa",
        "SQL_PASSWORD": "yourpassword",
        "SQL_PORT": "1433",
        "SQL_TRUST_CERT": "true",
        "READONLY": "true"
      }
    }
  }
}

Environment Variables

Connection (choose one method)

Method 1: Connection URL

SQL_CONNECTION_URL=sqlserver://user:password@host:port/database?TrustServerCertificate=true

Method 2: Individual Parameters

SQL_SERVER=localhost
SQL_DATABASE=mydb
SQL_USER=sa
SQL_PASSWORD=yourpassword
SQL_PORT=1433              # Optional, default: 1433
SQL_ENCRYPT=true           # Optional, default: true
SQL_TRUST_CERT=false       # Optional, default: false

Required Settings

Variable

Description

READONLY

Required. Set to true for read-only mode or false to enable write operations

Optional Settings

Variable

Default

Description

QUERY_TIMEOUT

30000

Query timeout in milliseconds (max: 120000)

MAX_ROWS

1000

Maximum rows to return (max: 5000)

POOL_MIN

2

Minimum connection pool size

POOL_MAX

10

Maximum connection pool size

LOG_LEVEL

info

Log level: debug, info, warn, error

Available Tools

Query Tools

Tool

Description

sql_execute

Execute SELECT queries with parameterized inputs

Schema Tools

Tool

Description

schema_list_tables

List all tables and views in the database

schema_describe_table

Get detailed table information (columns, indexes, foreign keys)

schema_list_columns

Search for columns across all tables

schema_list_procedures

List stored procedures

schema_list_indexes

List indexes with usage statistics

Monitor Tools

Tool

Description

monitor_active_queries

Monitor currently running queries

monitor_blocking

Monitor blocking sessions and lock chains

monitor_wait_stats

Monitor wait statistics for performance bottlenecks

monitor_database_size

Monitor database size and file usage

monitor_connections

Monitor active connections

monitor_performance_counters

Monitor SQL Server performance counters

Analysis Tools

Tool

Description

analyze_query

Analyze query execution plan and statistics

analyze_suggest_indexes

Suggest missing indexes based on query patterns

analyze_unused_indexes

Find indexes that are not being used

analyze_duplicate_indexes

Find duplicate or overlapping indexes

analyze_fragmentation

Analyze index fragmentation levels

analyze_statistics

Analyze table statistics for stale data

Write Tools (READONLY=false only)

Tool

Description

sql_insert

Insert a row into a table

sql_update

Update rows in a table

sql_delete

Delete rows from a table

Usage Examples

Once configured, you can ask Claude to interact with your database:

"List all tables in the database"
"Describe the Users table"
"Show me active queries running for more than 5 seconds"
"Find unused indexes in the Orders table"
"Analyze the fragmentation of all indexes"
"What are the top wait statistics?"

Security Considerations

  • Always use READONLY=true in production unless write access is explicitly required

  • Store credentials securely using environment variables

  • Use SQL Server accounts with minimal required permissions

  • Consider network security (VPN, firewall rules) for remote connections

Requirements

  • Node.js >= 20.0.0

  • SQL Server 2016 or later

  • Appropriate SQL Server permissions for the operations you want to perform

Development

# Install dependencies
npm install

# Build
npm run build

# Development mode (watch)
npm run dev

# Type check
npm run typecheck

# Run MCP Inspector
npm run inspector

License

MIT License - see LICENSE file for details.

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    quality
    C
    maintenance
    A Model Context Protocol server that allows Large Language Models like Claude to execute SQL queries, explore database schemas, and maintain persistent connections to SQL Server databases.
    Last updated
  • F
    license
    -
    quality
    D
    maintenance
    A Model Context Protocol server that provides comprehensive access to Microsoft SQL Server databases, enabling Language Models to inspect schemas, execute queries, manage database objects, and perform advanced database operations.
    Last updated
    8
  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol server that enables LLMs like Claude to interact with Microsoft SQL Server databases through natural language, supporting queries, data manipulation, and table management.
    Last updated
    8
    3,172
    MIT
  • A
    license
    -
    quality
    F
    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.
    Last updated
    49
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • Official Microsoft MCP Server to query Microsoft Entra data using natural language

  • Augments MCP Server - A comprehensive framework documentation provider for Claude Code

View all MCP Connectors

Latest Blog Posts

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/fabriciofs/mcp-sql-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server