fabriciofs/mcp-postgres

No description

0 stars0 forksUpdated Jan 22, 2026
npx skills add fabriciofs/mcp-postgres

README

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)

Installation

Option 1: From npm (recommended)

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

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

Optional Settings

VariableDefaultDescription
QUERY_TIMEOUT30000Query timeout in milliseconds (max: 120000)
MAX_ROWS1000Maximum rows to return (max: 5000)
POOL_MIN2Minimum connection pool size
POOL_MAX10Maximum connection pool size
LOG_LEVELinfoLog level: debug, info, warn, error

Available Tools

Query Tools

ToolDescription
sql_executeExecute SELECT queries with parameterized inputs

Schema Tools

ToolDescription
schema_list_tablesList all tables and views in the database
schema_describe_tableGet detailed table information (columns, indexes, foreign keys)
schema_list_columnsSearch for columns across all tables
schema_list_proceduresList stored procedures
schema_list_indexesList indexes with usage statistics

Monitor Tools

ToolDescription
monitor_active_queriesMonitor currently running queries
monitor_blockingMonitor blocking sessions and lock chains
monitor_wait_statsMonitor wait statistics for performance bottlenecks
monitor_database_sizeMonitor database size and file usage
monitor_connectionsMonitor active connections
monitor_performance_countersMonitor SQL Server performance counters

Analysis Tools

ToolDescription
analyze_queryAnalyze query execution plan and statistics
analyze_suggest_indexesSuggest missing indexes based on query patterns
analyze_unused_indexesFind indexes that are not being used
analyze_duplicate_indexesFind duplicat

...

Read full README

Publisher

fabriciofsfabriciofs

Statistics

Stars0
Forks0
Open Issues0
LicenseMIT License
CreatedJan 22, 2026