MS SQL Server MCP Server
@TerraCo89
MCP server for Microsoft SQL Server - typed schema inspection and parameterized CRUD tools for LLM agents
Overview
What is MS SQL Server MCP Server?
The MS SQL Server MCP Server is a Model Context Protocol server that gives LLM agents safe, structured access to Microsoft SQL Server. It provides schema inspection and row-level CRUD operations, with every query parameterized and logged for accountability.
How to use MS SQL Server MCP Server?
Requires Node.js 18+ and network access to a SQL Server instance. Clone the repository, install dependencies, copy .env.example to .env and fill in database connection variables (MSSQL_HOST, MSSQL_USER, MSSQL_PASSWORD, MSSQL_DATABASE), then build with npm run build. Run with node dist/server.js and configure as an MCP server (stdio) in Claude Desktop or Claude Code.
Key features of MS SQL Server MCP Server
- Six typed tools:
list_tables,get_table_schema,read_table_rows,create_table_records,update_table_records,delete_table_records - All queries are parameterized to prevent SQL injection
- Table and column names validated against live schema before execution
- Structured logging to a
logs/directory - Supports row-level insert, update, and delete with affected-row counts
- Communicates over stdio with any MCP client
Use cases of MS SQL Server MCP Server
- An LLM agent inspects database schema before constructing queries
- Read rows with optional column selection, WHERE filters, ORDER BY, and LIMIT
- Safely insert, update, or delete records while maintaining audit trails
- Provide structured database access to Claude Desktop or Claude Code
- Let a least‑privilege SQL login drive agent interactions
FAQ from MS SQL Server MCP Server
What runtime does the server require?
Node.js 18 or later and network access to a SQL Server instance.
How do I configure the database connection?
Set environment variables: MSSQL_HOST, MSSQL_USER, MSSQL_PASSWORD, MSSQL_DATABASE, and optionally MSSQL_PORT (default 1433), MSSQL_ENCRYPT, MSSQL_TRUST_SERVER_CERTIFICATE, and LOG_LEVEL.
Can the server connect to multiple databases?
No – it connects to a single database per server instance, configured via the MSSQL_DATABASE variable.
What transport protocol does it use?
It uses stdio transport, suitable for MCP clients like Claude Desktop and Claude Code.
How does the server protect against injection?
All queries are parameterized, and identifier names (table and column) are validated against the live schema before any statement runs. You should connect with a least‑privilege SQL login