mssql-py-mcp
A MSSQL MCP server implementation in Python, designed to work with the pytds library. This project provides a simple and efficient way to interact with Microsoft SQL Server databases, leveraging the pure Python pytds driver for connectivity.
This project uses pure pytds for database connections.
What is pytds?
pytds is a pure Python implementation of the Tabular Data Stream (TDS) protocol, which is used to communicate with Microsoft SQL Server. Unlike other drivers that rely on native libraries (like FreeTDS), pytds is written entirely in Python, making it platform-independent and easy to install.
Key Features of pytds
- Pure Python: No external dependencies or compilers needed.
- Cross-Platform: Runs on any platform where Python is supported.
- Thread-Safe: Safe to use in multi-threaded applications.
- Supports various authentication methods: Including SQL Server and Windows authentication.
- Lightweight: Minimal overhead and easy to integrate.
Features
- MCP Server: Implements the Minecraft JEWEI MCP protocol for database interaction.
- MSSQL Connectivity: Connects to Microsoft SQL Server using
pytds. - Database Operations: Supports executing queries, listing tables, and retrieving database information.
- Easy Configuration: Uses a
.envfile for simple setup of database credentials.
Installation
-
Clone the repository:
git clone https://github.com/your-username/mssql-py-mcp.git cd mssql-py-mcp
-
Create a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
Configuration
-
Create a
.envfile in the root directory of the project. You can copy the example file:cp .env.example .env
-
Edit the
.envfile with your MSSQL database credentials:DB_HOST=your_server_address DB_USER=your_username DB_PASSWORD=your_password DB_NAME=your_database_name DB_PORT=1433
Usage
Run the MCP server with the following command:
python -m mssql_py_mcp.server
The server will start and listen for incoming MCP connections on the default port.
How It Works
The server listens for MCP commands, establishes a connection to the MSSQL database using pytds, executes the requested queries, and returns the results in the MCP format. The core logic is handled in mssql_py_mcp/core.py, which manages the database connection and query execution.
Contributing
Contributions are welcome! Please open an issue or submit a pull request if you have any improvements or bug fixes.
License
This project is licensed under the MIT License. See the LICENSE file for more details.
Metadata
Release files for mssql-py-mcp 0.1.3
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_py_mcp-0.1.3.tar.gz | 8.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mssql_py_mcp-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.4 kB
Release files / mssql_py_mcp-0.1.3.tar.gz
| Download URL | mssql_py_mcp-0.1.3.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d815dc6bbfb281c26e8b4ff6b3b17441d16ae6038bb804fe6f48c5b81b18a2e2
|
|
BLAKE2b-256 checksum How to use checksums |
dcb09564a593f553e735aef08a587fae26bfe8c504853c2fe057051706ab39b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.14
|
Release files / mssql_py_mcp-0.1.3-py3-none-any.whl
| Download URL | mssql_py_mcp-0.1.3-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
02e491ab1b1ff665a7f74e8ce1d9c2f2043df47f369db5b742d3ca4edf27c7d1
|
|
BLAKE2b-256 checksum How to use checksums |
cf53f3ea6302e71b1da9ef25554783f2750cb526e639131448115e7ad2143137
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.14
|