https://github.com/jexinsam/mssql_mcp_server
A Model Context Protocol (MCP) server facilitating secure interactions with MSSQL databases.
https://github.com/jexinsam/mssql_mcp_server
Last synced: 3 months ago
JSON representation
A Model Context Protocol (MCP) server facilitating secure interactions with MSSQL databases.
- Host: GitHub
- URL: https://github.com/jexinsam/mssql_mcp_server
- Owner: JexinSam
- License: mit
- Created: 2025-01-30T07:49:04.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-05-18T09:03:28.000Z (5 months ago)
- Last Synced: 2025-05-18T10:22:15.066Z (5 months ago)
- Language: Python
- Size: 20.5 KB
- Stars: 20
- Watchers: 1
- Forks: 13
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README

# 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 accessThis 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
```bash
pip install mssql-mcp-server
```## Configuration
Set the following environment variables to configure database access:
```bash
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`:
```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
```bash
# Install dependencies
pip install -r requirements.txt# Run the server
python -m mssql_mcp_server
```## Development
```bash
# 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:
1. **Create a dedicated MSSQL user** with restricted permissions.
2. **Avoid hardcoding credentials**—use environment variables instead.
3. **Restrict access** to necessary tables and operations only.
4. **Enable SQL Server logging and monitoring** for auditing.
5. **Review database access regularly** to prevent unauthorized access.For detailed instructions, refer to the **[MSSQL Security Configuration Guide](https://github.com/JexinSam/mssql_mcp_server/blob/main/SECURITY.md)**.
⚠️ **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:
1. Fork the repository.
2. Create a feature branch: `git checkout -b feature/amazing-feature`
3. Commit your changes: `git commit -m 'Add amazing feature'`
4. Push to the branch: `git push origin feature/amazing-feature`
5. Open a **Pull Request**.---
### Need Help?
For any questions or issues, feel free to open a GitHub **[Issue](https://github.com/JexinSam/mssql_mcp_server/issues)** or reach out to the maintainers.