mssql-pyodbc-mcp

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.

Category
Visit Server

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-only SELECT queries and returns at most 100 rows.

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

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.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured