A comprehensive Model Context Protocol (MCP) server for MSSQL Server with advanced DDL support, granular permission control, comprehensive operation logging, and enterprise-grade connection management.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add for-mssql --env MSSQL_SERVER='<MSSQL_SERVER>' --env MSSQL_PORT='<MSSQL_PORT>' --env MSSQL_USER='<MSSQL_USER>' --env MSSQL_PASSWORD='<MSSQL_PASSWORD>' --env MSSQL_DATABASE='<MSSQL_DATABASE>' --env MSSQL_SCHEMA='<MSSQL_SCHEMA>' --env ALLOW_DDL='<ALLOW_DDL>' --env ALLOW_DROP='<ALLOW_DROP>' --env ALLOW_DELETE='<ALLOW_DELETE>' -- npx @liangshanli/mcp-server-mssqlserver~/.codex/config.toml
[mcp_servers.for-mssql]
command = "npx"
args = ["@liangshanli/mcp-server-mssqlserver"]
env = { MSSQL_SERVER = "<MSSQL_SERVER>", MSSQL_PORT = "<MSSQL_PORT>", MSSQL_USER = "<MSSQL_USER>", MSSQL_PASSWORD = "<MSSQL_PASSWORD>", MSSQL_DATABASE = "<MSSQL_DATABASE>", MSSQL_SCHEMA = "<MSSQL_SCHEMA>", ALLOW_DDL = "<ALLOW_DDL>", ALLOW_DROP = "<ALLOW_DROP>", ALLOW_DELETE = "<ALLOW_DELETE>" }
# codex mcp add for-mssql --env MSSQL_SERVER='<MSSQL_SERVER>' --env MSSQL_PORT='<MSSQL_PORT>' --env MSSQL_USER='<MSSQL_USER>' --env MSSQL_PASSWORD='<MSSQL_PASSWORD>' --env MSSQL_DATABASE='<MSSQL_DATABASE>' --env MSSQL_SCHEMA='<MSSQL_SCHEMA>' --env ALLOW_DDL='<ALLOW_DDL>' --env ALLOW_DROP='<ALLOW_DROP>' --env ALLOW_DELETE='<ALLOW_DELETE>' -- npx @liangshanli/mcp-server-mssqlserver~/.cursor/mcp.json
{
"mcpServers": {
"for-mssql": {
"command": "npx",
"args": [
"@liangshanli/mcp-server-mssqlserver"
],
"env": {
"MSSQL_SERVER": "<MSSQL_SERVER>",
"MSSQL_PORT": "<MSSQL_PORT>",
"MSSQL_USER": "<MSSQL_USER>",
"MSSQL_PASSWORD": "<MSSQL_PASSWORD>",
"MSSQL_DATABASE": "<MSSQL_DATABASE>",
"MSSQL_SCHEMA": "<MSSQL_SCHEMA>",
"ALLOW_DDL": "<ALLOW_DDL>",
"ALLOW_DROP": "<ALLOW_DROP>",
"ALLOW_DELETE": "<ALLOW_DELETE>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"for-mssql": {
"type": "stdio",
"command": "npx",
"args": [
"@liangshanli/mcp-server-mssqlserver"
],
"env": {
"MSSQL_SERVER": "<MSSQL_SERVER>",
"MSSQL_PORT": "<MSSQL_PORT>",
"MSSQL_USER": "<MSSQL_USER>",
"MSSQL_PASSWORD": "<MSSQL_PASSWORD>",
"MSSQL_DATABASE": "<MSSQL_DATABASE>",
"MSSQL_SCHEMA": "<MSSQL_SCHEMA>",
"ALLOW_DDL": "<ALLOW_DDL>",
"ALLOW_DROP": "<ALLOW_DROP>",
"ALLOW_DELETE": "<ALLOW_DELETE>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"for-mssql": {
"command": "npx",
"args": [
"@liangshanli/mcp-server-mssqlserver"
],
"env": {
"MSSQL_SERVER": "<MSSQL_SERVER>",
"MSSQL_PORT": "<MSSQL_PORT>",
"MSSQL_USER": "<MSSQL_USER>",
"MSSQL_PASSWORD": "<MSSQL_PASSWORD>",
"MSSQL_DATABASE": "<MSSQL_DATABASE>",
"MSSQL_SCHEMA": "<MSSQL_SCHEMA>",
"ALLOW_DDL": "<ALLOW_DDL>",
"ALLOW_DROP": "<ALLOW_DROP>",
"ALLOW_DELETE": "<ALLOW_DELETE>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"for-mssql": {
"command": "npx",
"args": [
"@liangshanli/mcp-server-mssqlserver"
],
"env": {
"MSSQL_SERVER": "<MSSQL_SERVER>",
"MSSQL_PORT": "<MSSQL_PORT>",
"MSSQL_USER": "<MSSQL_USER>",
"MSSQL_PASSWORD": "<MSSQL_PASSWORD>",
"MSSQL_DATABASE": "<MSSQL_DATABASE>",
"MSSQL_SCHEMA": "<MSSQL_SCHEMA>",
"ALLOW_DDL": "<ALLOW_DDL>",
"ALLOW_DROP": "<ALLOW_DROP>",
"ALLOW_DELETE": "<ALLOW_DELETE>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"for-mssql": {
"command": "npx",
"args": [
"@liangshanli/mcp-server-mssqlserver"
],
"env": {
"MSSQL_SERVER": "<MSSQL_SERVER>",
"MSSQL_PORT": "<MSSQL_PORT>",
"MSSQL_USER": "<MSSQL_USER>",
"MSSQL_PASSWORD": "<MSSQL_PASSWORD>",
"MSSQL_DATABASE": "<MSSQL_DATABASE>",
"MSSQL_SCHEMA": "<MSSQL_SCHEMA>",
"ALLOW_DDL": "<ALLOW_DDL>",
"ALLOW_DROP": "<ALLOW_DROP>",
"ALLOW_DELETE": "<ALLOW_DELETE>"
}
}
}
}Environment variables
MSSQL_SERVERMSSQL_PORTMSSQL_USERMSSQL_PASSWORDMSSQL_DATABASEMSSQL_SCHEMAALLOW_DDLALLOW_DROPALLOW_DELETE
Replace the placeholders with your own credentials and keep them out of version control.