MCP → Local MSSQL Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP → Local MSSQL Serverrun sales report for last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP → Local MSSQL Server
A local MCP server that exposes SQL Server stored procedures as tools for LLM clients (Claude Desktop, VS Code, Cursor, etc.).
Files in this project
File | Purpose |
| The MCP server — all tools live here |
| Sample table + stored procedure to run in SQL Server |
| Python dependencies |
| Template for your connection credentials |
| Drop-in config snippet for Claude Desktop |
Prerequisites
1 — Python 3.10+
python --version2 — Microsoft ODBC Driver 18 for SQL Server
Windows: Download from https://aka.ms/odbc18
macOS:
brew install msodbcsql18Linux (Ubuntu/Debian):
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list \
| sudo tee /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18Setup
Step 1 — Install Python packages
# with uv (recommended)
uv add "mcp[cli]" pyodbc
# or with pip
pip install -r requirements.txtStep 2 — Create your .env file
cp .env.example .env
# Edit .env and fill in your SQL Server credentialsStep 3 — Create the sample stored procedure (optional)
Open SSMS or Azure Data Studio, switch to your target database,
and run usp_SalesReport.sql. This creates a demo Sales table
and the usp_SalesReport procedure.
Step 4 — Test the server with MCP Inspector
# Load .env first
export $(cat .env | xargs) # macOS/Linux
# On Windows PowerShell: use $env:VAR = "value" for each line
mcp dev mssql_server.pyThis opens a browser-based inspector. Call test_connection first
to verify the DB link, then try run_sales_report.
Connecting to Claude Desktop
Open (or create)
claude_desktop_config.json:macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Merge the contents of the provided
claude_desktop_config.jsoninto it, replacing/ABSOLUTE/PATH/TO/with the real path tomssql_server.py.Restart Claude Desktop. The tools appear in the tools panel.
Tools exposed by the server
test_connection
Verifies the database connection. Returns server version, database name, and server time. Run this first to confirm everything is wired up.
list_procedures
Lists all stored procedures in the connected database.
run_sales_report(start_date, end_date)
Calls dbo.usp_SalesReport. Returns two result sets:
Row-level sale detail for the date range
Revenue summary grouped by region
Dates must be in YYYY-MM-DD format.
Adding your own procedures
Add a new
@mcp.tool()function inmssql_server.py.Hardcode the procedure name in the
cursor.execute()call — never accept a proc name as a parameter (can't be bound with?).Bind all user-supplied values with
?placeholders, never f-strings.
@mcp.tool()
def get_customer_orders(customer_id: int) -> dict:
"""Fetch all orders for a customer from dbo.usp_GetCustomerOrders."""
conn = get_connection()
try:
cursor = conn.cursor()
cursor.execute("EXEC dbo.usp_GetCustomerOrders @CustomerID = ?", customer_id)
data = _rows_from_cursor(cursor)
return {"row_count": len(data), "data": data}
except pyodbc.Error as e:
return {"error": str(e)}
finally:
conn.close()Security notes
stdio transport runs with the same OS permissions as the host app. Use a least-privilege SQL login, not
sa.Store credentials in environment variables or
.env, never in code.Never commit
.env— add it to.gitignore.TrustServerCertificate=yesis fine for local dev; remove it in production and use a proper TLS certificate.
This server cannot be deployed
Related MCP Connectors
Hosted SQL Server MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Text-to-SQL MCP server: read-only queries on PostgreSQL, MySQL and SQL Server with your real schema
Query Postgres, MySQL, SQL Server, Oracle, BigQuery, ClickHouse and Redshift from your AI client.
- dataOAuthco.thinair
PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.