MSSQL MCP Server
Interact with Microsoft SQL Server (MSSQL) databases. List tables, read data, and execute SQL queries with controlled access.
MSSQL MCP Server
MSSQL MCP Server is a Model Context Protocol (MCP) server that enables secure and structured interaction with Microsoft SQL Server (MSSQL) databases. It allows AI assistants to:
- List available tables
- Read table contents
- Execute SQL queries with controlled access
This ensures safer database exploration, strict permission enforcement, and logging of database interactions.
Features
- Secure MSSQL Database Access through environment variables
- Controlled Query Execution with error handling
- Table Listing & Data Retrieval
- Comprehensive Logging for monitoring queries and operations
Installation
pip install mssql-mcp-server
Configuration
Set the following environment variables to configure database access:
MSSQL_DRIVER=mssql_driver
MSSQL_HOST=localhost
MSSQL_USER=your_username
MSSQL_PASSWORD=your_password
MSSQL_DATABASE=your_database
#optional
TrustServerCertificate=yes
Trusted_Connection=no
Usage
With Claude Desktop
To integrate with Claude Desktop, add this configuration to claude_desktop_config.json:
{
"mcpServers": {
"mssql": {
"command": "uv",
"args": [
"--directory",
"path/to/mssql_mcp_server",
"run",
"mssql_mcp_server"
],
"env": {
"MSSQL_DRIVER": "mssql_driver",
"MSSQL_HOST": "localhost",
"MSSQL_USER": "your_username",
"MSSQL_PASSWORD": "your_password",
"MSSQL_DATABASE": "your_database"
}
}
}
}
Running as a Standalone Server
# Install dependencies
pip install -r requirements.txt
# Run the server
python -m mssql_mcp_server
Development
# Clone the repository
git clone https://github.com/yourusername/mssql_mcp_server.git
cd mssql_mcp_server
# Set up a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
pytest
Security Considerations
- Use a dedicated MSSQL user with minimal privileges.
- Never use root credentials or full administrative accounts.
- Restrict database access to only necessary operations.
- Enable logging and auditing for security monitoring.
- Regularly review permissions to ensure least privilege access.
Security Best Practices
For a secure setup:
- Create a dedicated MSSQL user with restricted permissions.
- Avoid hardcoding credentials—use environment variables instead.
- Restrict access to necessary tables and operations only.
- Enable SQL Server logging and monitoring for auditing.
- Review database access regularly to prevent unauthorized access.
For detailed instructions, refer to the MSSQL Security Configuration Guide.
⚠️ IMPORTANT: Always follow the Principle of Least Privilege when configuring database access.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
We welcome contributions! To contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request.
Need Help?
For any questions or issues, feel free to open a GitHub Issue or reach out to the maintainers.
Related Servers
CData Oracle SCM
A read-only MCP server for querying live Oracle SCM data, powered by the CData JDBC Driver.
GraphRAG
Query a hybrid graph (Neo4j) and vector (Qdrant) database for powerful semantic and graph-based document retrieval.
Open Census MCP Server
Access and query U.S. Census demographic data using natural language.
Airtable
Read and write access to Airtable databases.
Instructure DAP
Query Canvas and other Instructure data using the Instructure Data Access Platform (DAP) API.
RentCast
Access property data, valuations, and market statistics using the RentCast API.
MCP-MySQL-Ops
You are working with the MCP MySQL Operations Server, a powerful tool that provides comprehensive MySQL database monitoring and analysis capabilities through natural language queries. This server offers 19 specialized tools for database administration, performance monitoring, and system analysis.
MySQL Database Access
Provides read-only access to MySQL databases.
Qixin API Service
Access comprehensive enterprise data from the Qixin Open Platform APIs.
memory-mcp
A simple MCP server that stores and retrieves memories from multiple LLMs.