SQL Server MCP

SQL Server MCP

Enables AI assistants to interact with Microsoft SQL Server databases through query execution, schema discovery, CRUD operations, stored procedures, and data export with built-in safety controls.

Category
Visit Server

README

pymssql-mcp

An MCP (Model Context Protocol) server for Microsoft SQL Server databases. Enables AI assistants like Claude to interact with SQL Server through a standardized protocol.

PyPI version Python 3.10+ License: Apache-2.0

Features

  • Natural Language Queries: Ask Claude about your data in plain English
  • Schema Discovery: Explore tables, views, columns, and relationships
  • CRUD Operations: Read, insert, update, and delete rows safely
  • Stored Procedures: Execute stored procedures with parameters
  • Multi-Database Support: List and switch between databases
  • Data Export: Export query results to JSON or CSV files
  • Transaction Support: Begin, commit, and rollback transactions
  • Knowledge Persistence: Claude remembers what it learns about your database
  • Safety Controls: Read-only mode, command blocking, row limits, schema restrictions
  • Connection Watchdog: Automatic recovery from hung connections
  • OAuth Integration: Deploy as a Claude.ai Custom Connector with SSO

Documentation

Guide Description
What is MCP? Understanding MCP and pymssql-mcp
Installation Complete installation guide
Quickstart Get running in 10 minutes
Configuration All configuration options
Tools Reference Detailed tool documentation
Usage Examples Common usage patterns
OAuth Setup Claude.ai integration with SSO

Quick Start

1. Install

pip install pymssql-mcp

2. Configure Claude Desktop

Edit your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "mssql": {
      "command": "pymssql-mcp",
      "env": {
        "MSSQL_HOST": "your-server.example.com",
        "MSSQL_USER": "your-username",
        "MSSQL_PASSWORD": "your-password",
        "MSSQL_DATABASE": "your-database",
        "MSSQL_READ_ONLY": "true"
      }
    }
  }
}

3. Restart Claude Desktop

Quit and reopen Claude Desktop. You'll see a hammer icon indicating tools are available.

4. Start Chatting

Ask Claude about your database:

"What tables are available?"

"Describe the Customers table"

"Show me the top 10 orders by total amount"

"How many customers do we have in each state?"

Available Tools

Connection & Database

Tool Description
connect Connect to the database
disconnect Close all connections
list_databases List available databases
switch_database Switch database context

Queries & Schema

Tool Description
execute_query Run a SELECT query
validate_query Check if a query is safe
list_tables List tables and views
describe_table Get column information

CRUD Operations

Tool Description
read_rows Read rows by ID or filter
insert_row Insert a new row
update_row Update an existing row
delete_row Delete a row

Stored Procedures

Tool Description
list_stored_procs List available procedures
describe_stored_proc Get procedure parameters
call_stored_proc Execute a procedure

Export & Transactions

Tool Description
export_to_json Export results to JSON
export_to_csv Export results to CSV
begin_transaction Start a transaction
commit_transaction Commit changes
rollback_transaction Rollback changes

Knowledge Persistence

Tool Description
save_knowledge Save learned information
get_all_knowledge Retrieve all knowledge
search_knowledge Search saved knowledge

Configuration

Required Variables

Variable Description
MSSQL_HOST SQL Server hostname
MSSQL_USER Database username
MSSQL_PASSWORD Database password
MSSQL_DATABASE Database name

Safety Settings

Variable Default Description
MSSQL_READ_ONLY false Block all write operations
MSSQL_MAX_ROWS 1000 Maximum rows per query
MSSQL_BLOCKED_COMMANDS DROP,TRUNCATE,... Commands to block
MSSQL_ALLOWED_SCHEMAS (all) Restrict to specific schemas
MSSQL_BLOCKED_DATABASES (none) Hide specific databases

See Configuration Reference for all options.

Deployment Modes

Local (Default)

Run as a local process with Claude Desktop:

pymssql-mcp

HTTP/SSE Server

Run as a shared HTTP server for multiple users:

pymssql-mcp --http --host 0.0.0.0 --port 8080

Streamable HTTP (Claude.ai Integration)

Run with OAuth authentication for Claude.ai:

pymssql-mcp --streamable-http --host 0.0.0.0 --port 8080

See OAuth Setup for complete integration instructions.

Development

# Clone repository
git clone https://github.com/bpamiri/pymssql-mcp.git
cd pymssql-mcp

# Install with dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Lint and format
ruff check .
ruff format .

# Type check
mypy src/

Security

pymssql-mcp includes multiple safety features:

  • Read-only mode: Prevent all write operations
  • Command blocking: Block dangerous SQL commands (DROP, TRUNCATE, etc.)
  • Schema restrictions: Limit access to specific schemas
  • Database blocklist: Hide sensitive databases
  • Row limits: Cap query results to prevent memory issues
  • Query validation: Analyze queries before execution
  • Parameterized queries: Prevent SQL injection

See SECURITY.md for security policy and best practices.

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

License

Apache-2.0. See LICENSE for details.

Links

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured