Content
# MCP MSSQL Server
An MCP (Model Context Protocol) server for Microsoft SQL Server integration built with NestJS. This server enables Claude Code and other MCP clients to interact with SQL Server databases through standardized tools.
## Features
- **MCP Protocol Support**: Full implementation of Model Context Protocol for SQL Server operations
- **Windows Authentication**: Supports both Windows (NTLM) and SQL Server authentication
- **Comprehensive SQL Tools**: Execute queries, explore schema, manage tables, and run stored procedures
- **Health Monitoring**: Built-in health checks for database connectivity
- **Connection Pooling**: Efficient database connection management
## MCP Tools
The server exposes these SQL operations as MCP tools:
- `execute-query`: Execute SQL queries with parameter support
- `get-schema`: Retrieve database schema information
- `list-tables`: List all tables in the database
- `describe-table`: Get detailed table structure with constraints
- `get-table-data`: Retrieve paginated table data with filtering
- `execute-procedure`: Execute stored procedures with parameters
## Installation
```bash
npm install
```
## Configuration
Create a `.env` file with your database configuration:
```bash
# SQL Server Connection
MSSQL_HOST=localhost
MSSQL_PORT=1433
MSSQL_DATABASE=your_database
# Authentication Mode (choose one)
# For SQL Server Authentication:
MSSQL_USERNAME=your_username
MSSQL_PASSWORD=your_password
# For Windows Authentication:
MSSQL_WIN_AUTH=true
MSSQL_DOMAIN=your_domain
MSSQL_USERNAME=domain\username
MSSQL_PASSWORD=your_password
# Connection Options
MSSQL_ENCRYPT=true
MSSQL_TRUST_CERT=true
# Server Port
PORT=3000
```
## Development
```bash
# Start in development mode
npm run start:dev
# Start with debugging
npm run start:debug
# Build the application
npm run build
# Start production build
npm run start:prod
```
## Testing
```bash
# Unit tests
npm run test
# Watch mode
npm run test:watch
# End-to-end tests
npm run test:e2e
# Test coverage
npm run test:cov
```
## Code Quality
```bash
# Run ESLint with auto-fix
npm run lint
# Format code with Prettier
npm run format
```
## MCP Endpoints
When the server is running (default port 3000):
- **MCP Protocol**: `http://localhost:3000/mssql/mcp`
- **SSE (Claude Code)**: `http://localhost:3000/mssql/sse`
- **Health Check**: `http://localhost:3000/mssql/health`
## Usage with Claude Code
1. Start the MCP server: `npm run start:dev`
2. Configure Claude Code to connect to: `http://localhost:3000/mssql/mcp`
3. Use the exposed SQL tools through Claude Code's MCP interface
## Architecture
- **MCPModule**: Handles MCP protocol implementation with `/mssql` namespace
- **DatabaseModule**: Manages SQL Server connectivity and authentication
- **HealthModule**: Provides database health monitoring
- **No REST endpoints**: All functionality exposed through MCP tools only
## License
ISC
Connection Info
You Might Also Like
markitdown
Python tool for converting files and office documents to Markdown.
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
TrendRadar
TrendRadar: Your hotspot assistant for real news in just 30 seconds.
mempalace
The highest-scoring AI memory system ever benchmarked. And it's free.
mempalace
The highest-scoring AI memory system ever benchmarked. And it's free.