Secure interaction with Microsoft SQL Server: list tables, read data and run SQL queries with controlled access.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add mssql-server-jexinsam --env MSSQL_DATABASE='<MSSQL_DATABASE>' --env MSSQL_DRIVER='<MSSQL_DRIVER>' --env MSSQL_HOST='<MSSQL_HOST>' --env MSSQL_PASSWORD='<MSSQL_PASSWORD>' --env MSSQL_USER='<MSSQL_USER>' -- python -m mssql_mcp_server~/.codex/config.toml
[mcp_servers.mssql-server-jexinsam]
command = "python"
args = ["-m", "mssql_mcp_server"]
env = { MSSQL_DATABASE = "<MSSQL_DATABASE>", MSSQL_DRIVER = "<MSSQL_DRIVER>", MSSQL_HOST = "<MSSQL_HOST>", MSSQL_PASSWORD = "<MSSQL_PASSWORD>", MSSQL_USER = "<MSSQL_USER>" }
# codex mcp add mssql-server-jexinsam --env MSSQL_DATABASE='<MSSQL_DATABASE>' --env MSSQL_DRIVER='<MSSQL_DRIVER>' --env MSSQL_HOST='<MSSQL_HOST>' --env MSSQL_PASSWORD='<MSSQL_PASSWORD>' --env MSSQL_USER='<MSSQL_USER>' -- python -m mssql_mcp_server~/.cursor/mcp.json
{
"mcpServers": {
"mssql-server-jexinsam": {
"command": "python",
"args": [
"-m",
"mssql_mcp_server"
],
"env": {
"MSSQL_DATABASE": "<MSSQL_DATABASE>",
"MSSQL_DRIVER": "<MSSQL_DRIVER>",
"MSSQL_HOST": "<MSSQL_HOST>",
"MSSQL_PASSWORD": "<MSSQL_PASSWORD>",
"MSSQL_USER": "<MSSQL_USER>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"mssql-server-jexinsam": {
"type": "stdio",
"command": "python",
"args": [
"-m",
"mssql_mcp_server"
],
"env": {
"MSSQL_DATABASE": "<MSSQL_DATABASE>",
"MSSQL_DRIVER": "<MSSQL_DRIVER>",
"MSSQL_HOST": "<MSSQL_HOST>",
"MSSQL_PASSWORD": "<MSSQL_PASSWORD>",
"MSSQL_USER": "<MSSQL_USER>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"mssql-server-jexinsam": {
"command": "python",
"args": [
"-m",
"mssql_mcp_server"
],
"env": {
"MSSQL_DATABASE": "<MSSQL_DATABASE>",
"MSSQL_DRIVER": "<MSSQL_DRIVER>",
"MSSQL_HOST": "<MSSQL_HOST>",
"MSSQL_PASSWORD": "<MSSQL_PASSWORD>",
"MSSQL_USER": "<MSSQL_USER>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"mssql-server-jexinsam": {
"command": "python",
"args": [
"-m",
"mssql_mcp_server"
],
"env": {
"MSSQL_DATABASE": "<MSSQL_DATABASE>",
"MSSQL_DRIVER": "<MSSQL_DRIVER>",
"MSSQL_HOST": "<MSSQL_HOST>",
"MSSQL_PASSWORD": "<MSSQL_PASSWORD>",
"MSSQL_USER": "<MSSQL_USER>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"mssql-server-jexinsam": {
"command": "python",
"args": [
"-m",
"mssql_mcp_server"
],
"env": {
"MSSQL_DATABASE": "<MSSQL_DATABASE>",
"MSSQL_DRIVER": "<MSSQL_DRIVER>",
"MSSQL_HOST": "<MSSQL_HOST>",
"MSSQL_PASSWORD": "<MSSQL_PASSWORD>",
"MSSQL_USER": "<MSSQL_USER>"
}
}
}
}Environment variables
MSSQL_DATABASEMSSQL_DRIVERMSSQL_HOSTMSSQL_PASSWORDMSSQL_USER
Replace the placeholders with your own credentials and keep them out of version control.