Microsoft SQL Server MCP Server
A Model Context Protocol (MCP) server that enables secure interaction with Microsoft SQL Server databases. This server allows AI assistants to list tables, read data, and execute SQL queries through a controlled interface, making database exploration and analysis safer and more structured.
Features
- List available SQL Server tables as resources
- Read table contents
- Execute SQL queries with proper error handling
- Secure database access through environment variables
- Comprehensive logging
- Automatic system dependency installation
Installation
The package will automatically install required system dependencies (like FreeTDS) when installed through MCP:
pip install mssql-mcp
Configuration
Set the following environment variables:
MSSQL_SERVER=localhost
MSSQL_USER=your_username
MSSQL_PASSWORD=your_password
MSSQL_DATABASE=your_database
Usage
With Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"mssql": {
"command": "uv",
"args": [
"--directory",
"path/to/mssql_mcp",
"run",
"mssql_mcp"
],
"env": {
"MSSQL_SERVER": "localhost",
"MSSQL_USER": "your_username",
"MSSQL_PASSWORD": "your_password",
"MSSQL_DATABASE": "your_database"
}
}
}
}
As a standalone server
# Install dependencies
pip install -r requirements.txt
# Run the server
python -m mssql_mcp
Development
# Clone the repository
git clone https://github.com/RichardHan/mssql_mcp.git
cd mssql_mcp
# Create virtual environment
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
pytest
Security Considerations
- Never commit environment variables or credentials
- Use a database user with minimal required permissions
- Consider implementing query whitelisting for production use
- Monitor and log all database operations
Security Best Practices
This MCP server requires database access to function. For security:
- Create a dedicated SQL Server login with minimal permissions
- Never use sa credentials or administrative accounts
- Restrict database access to only necessary operations
- Enable logging for audit purposes
- Regular security reviews of database access
See SQL Server Security Configuration Guide for detailed instructions on:
- Creating a restricted SQL Server login
- Setting appropriate permissions
- Monitoring database access
- Security best practices
⚠️ IMPORTANT: Always follow the principle of least privilege when configuring database access.
License
MIT License - see LICENSE file for details.
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Metadata
Release files for mssql_mcp 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mssql_mcp-0.0.2.tar.gz | 13.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mssql_mcp-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.2 kB
Release files / mssql_mcp-0.0.2.tar.gz
| Download URL | mssql_mcp-0.0.2.tar.gz |
|---|---|
| Size | 13.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5a9a7351942b8accf4645ca719a941308b35c62a91a32e47ee47cce6b5f0fa30
|
|
BLAKE2b-256 checksum How to use checksums |
ea533544f8699525bf2990377cfde00d8e4c365f76a04111a1226051bcc8a087
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.14
|
Release files / mssql_mcp-0.0.2-py3-none-any.whl
| Download URL | mssql_mcp-0.0.2-py3-none-any.whl |
|---|---|
| Size | 4.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a20a16ded9a4156d78bafce1fb8879cf2a114bd40681f86ec043b9eaa67fe372
|
|
BLAKE2b-256 checksum How to use checksums |
d763a84d68a154477aac8254425302f8fda52d352b4976cace1e3b5a8c431acb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.14
|