mssql-pyodbc-mcp
Local stdio MCP server for read-only Microsoft SQL Server access through Python and pyodbc, providing test connection, list tables, describe table, and query tools.
README
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-onlySELECTqueries and returns at most 100 rows.
The first release supports one configured MSSQL database and SQL username/password authentication only.
Environment Variables
Required:
MSSQL_SERVERMSSQL_DATABASEMSSQL_USERMSSQL_PASSWORD
Optional defaults:
MSSQL_DRIVER=ODBC Driver 18 for SQL ServerMSSQL_PORT=1433MSSQL_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
querytool accepts generalSELECTand 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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.