Skip to main content
Glama
tsod

mssql-pyodbc-mcp

by tsod

mssql-pyodbc-mcp

Local stdio MCP server for read-only Microsoft SQL Server access through Python and pyodbc.

Features

  • test_connection: validates configuration and checks DB connectivity.

  • list_tables: lists accessible user tables.

  • describe_table: returns simple column metadata.

  • query: executes read-only SELECT queries and returns at most 100 rows.

The first release supports one configured MSSQL database and SQL username/password authentication only.

Related MCP server: mcp-odbc

Environment Variables

Required:

  • MSSQL_SERVER

  • MSSQL_DATABASE

  • MSSQL_USER

  • MSSQL_PASSWORD

Optional defaults:

  • MSSQL_DRIVER=ODBC Driver 18 for SQL Server

  • MSSQL_PORT=1433

  • MSSQL_TRUST_SERVER_CERTIFICATE=yes

The implementation sets Encrypt=no and passes TrustServerCertificate from the environment. For production-like environments, use a properly trusted server certificate and tighten encryption settings before exposing the server beyond local agent usage.

Some older SQL Server instances only support legacy TLS settings. If pyodbc fails with unsupported protocol, run the MCP server with:

export OPENSSL_CONF="$PWD/scripts/openssl-legacy.cnf"

Install

python -m venv .venv
. .venv/bin/activate
pip install -e ".[dev]"

You also need a Microsoft SQL Server ODBC driver installed on the host, such as ODBC Driver 18 for SQL Server.

Run

export MSSQL_SERVER=localhost
export MSSQL_DATABASE=MyDatabase
export MSSQL_USER=my_user
export MSSQL_PASSWORD=my_password
export MSSQL_DRIVER="ODBC Driver 18 for SQL Server"
export MSSQL_PORT=1433
export MSSQL_TRUST_SERVER_CERTIFICATE=yes
export OPENSSL_CONF="$PWD/scripts/openssl-legacy.cnf"

mssql-pyodbc-mcp

Live DB Checks

After exporting the environment variables, verify the local setup with:

python scripts/check_odbc_connection.py
python scripts/check_mcp_tools.py

Codex MCP Example

Configure your MCP client to run the command:

mssql-pyodbc-mcp

Pass the environment variables through your MCP client configuration or shell environment.

Safety Notes

  • The query tool accepts general SELECT and CTE-style read queries.

  • Mutating, schema-changing, administrative, EXEC, and multi-statement SQL are rejected by policy.

  • Query results are limited to 100 rows.

  • Use a read-only SQL Server account whenever possible.

  • Passwords and full connection strings are not returned in tool responses.

Tests

pytest

The unit tests do not require a live MSSQL instance.

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tsod/mssql-pyodbc-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server