A Model Context Protocol (MCP) server that enables AI agents to interact with Microsoft SQL Server databases through secure, intelligent database operations. This server provides comprehensive CRUD capabilities, schema introspection, stored procedure execution, transaction management, and bulk operations for production SQL Server environments.
- CRUD Operations: Complete SELECT, INSERT, UPDATE, DELETE functionality
- Custom Queries: Safe execution of custom SELECT statements with security restrictions
- Schema Introspection: Database, table, column, index, and foreign key exploration
- Connection Management: Robust connection pooling with automatic reconnection
- Stored Procedures: Execute stored procedures with parameters, multiple result sets, and output parameters
- Transaction Management: BEGIN/COMMIT/ROLLBACK operations with isolation levels and savepoints
- Bulk Operations: High-performance bulk insert, batch update/delete, and data import (CSV/JSON)
- Parameterized Queries: Full SQL injection prevention
- Query Restrictions: DDL operations blocked in custom queries
- Input Validation: Comprehensive Zod-based validation
- Connection Validation: Health checks and timeout controls
- Node.js 20+
- TypeScript 5.0+
- Microsoft SQL Server (2016+)
- Claude Desktop or MCP-compatible client
# No installation required - run directly
npx @bilims/mcp-sqlserver
npm install -g @bilims/mcp-sqlserver
mcp-sqlserver
git clone https://github.com/bilims/mcp-sqlserver.git
cd mcp-sqlserver
npm install
npm run build
npm start
Create a .env
file with your SQL Server configuration:
# SQL Server Configuration
SQLSERVER_HOST=your-server-host
SQLSERVER_PORT=1433
SQLSERVER_DATABASE=your-database
SQLSERVER_USERNAME=your-username
SQLSERVER_PASSWORD=your-password
SQLSERVER_ENCRYPT=true
SQLSERVER_TRUST_SERVER_CERTIFICATE=true
# Connection Pool Settings
SQLSERVER_POOL_MIN=0
SQLSERVER_POOL_MAX=10
SQLSERVER_CONNECTION_TIMEOUT=15000
SQLSERVER_REQUEST_TIMEOUT=15000
Add to your Claude Desktop MCP settings (claude_desktop_config.json
):
{
"mcpServers": {
"mcp-sqlserver": {
"command": "npx",
"args": ["-y", "@bilims/mcp-sqlserver"],
"env": {
"SQLSERVER_HOST": "your-server-host",
"SQLSERVER_DATABASE": "your-database",
"SQLSERVER_USERNAME": "your-username",
"SQLSERVER_PASSWORD": "your-password"
}
}
}
}
{
"mcpServers": {
"mcp-sqlserver": {
"command": "mcp-sqlserver"
}
}
}
{
"mcpServers": {
"mcp-sqlserver": {
"command": "node",
"args": ["/path/to/mcp-sqlserver/dist/index.js"],
"cwd": "/path/to/mcp-sqlserver"
}
}
}
Note: For options 2 and 3, create a .env
file in the appropriate directory with your SQL Server configuration.
sql_test_connection
- Database connectivity testingsql_select
- Advanced SELECT queries with filtering and joinssql_insert
- Safe record insertionsql_update
- Conditional record updatessql_delete
- Safe record deletionsql_query
- Custom SELECT statement executionsql_get_tables
- Database table listingsql_get_columns
- Table column informationsql_get_table_structure
- Complete table structure analysissql_get_schemas
- Database schema exploration
sql_execute_stored_procedure
- Execute stored procedures with parameterssql_get_stored_procedures
- List all stored proceduressql_get_stored_procedure_info
- Get detailed stored procedure information
sql_begin_transaction
- Start database transactions with isolation levelssql_commit_transaction
- Commit active transactionssql_rollback_transaction
- Rollback transactions or to savepointssql_create_savepoint
- Create transaction savepointssql_get_transaction_status
- Check current transaction status
sql_bulk_insert
- High-performance bulk insert operationssql_batch_update
- Batch update multiple recordssql_batch_delete
- Batch delete multiple recordssql_import_data
- Import data from CSV/JSON formats
Total: 22 tools available
// Using sql_select tool
{
"table": "Users",
"columns": ["id", "name", "email"],
"where": [
{"column": "active", "operator": "=", "value": true}
],
"orderBy": [{"column": "created_at", "direction": "DESC"}],
"limit": 10
}
// Using sql_execute_stored_procedure tool
{
"procedureName": "GetUsersByRole",
"schema": "dbo",
"parameters": [
{"name": "role", "value": "admin", "type": "varchar", "size": 50}
]
}
// Using sql_bulk_insert tool
{
"table": "Products",
"data": [
{"name": "Product 1", "price": 29.99, "active": true},
{"name": "Product 2", "price": 39.99, "active": true}
],
"batchSize": 100
}
// Begin transaction
{"isolationLevel": "READ_COMMITTED"}
// Create savepoint
{"savepointName": "before_updates"}
// Rollback to savepoint if needed
{"savepoint": "before_updates"}
- v1.1.0 (Current): Enhanced database operations with stored procedures, transactions, and bulk operations
- v1.2.0 (Q3 2025): Data Analysis & Insights - 15 new analytics and export tools
- v1.3.0 (Q4 2025): Advanced Query Builder - Natural language processing and query templates
- v1.4.0 (Q1 2026): Enterprise Features - Multi-database support and security auditing
- v2.0.0 (Mid-2026): AI-Enhanced Features - Full AI assistant capabilities
See ROADMAP.md for detailed feature plans.
npm run build
- Build TypeScript to JavaScriptnpm run dev
- Run in development modenpm start
- Start the compiled servernpm test
- Run testsnpm run lint
- Lint TypeScript filesnpm run typecheck
- Type check without emitting
βββ src/
β βββ config/ # Configuration management
β βββ database/ # Database connection and query building
β βββ tools/ # MCP tool implementations
β βββ types/ # TypeScript type definitions
β βββ utils/ # Utility functions
β βββ server.ts # Main MCP server
β βββ index.ts # Entry point
βββ dist/ # Compiled JavaScript (generated)
βββ ROADMAP.md # Detailed development roadmap
βββ package.json
βββ tsconfig.json
- All queries use parameterized inputs to prevent SQL injection
- DDL operations are blocked in custom queries
- Connection validation and timeout controls
- Comprehensive input validation using Zod schemas
- Production-ready error handling and logging
- Fork the repository
- Create a 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
See ROADMAP.md for priority areas and upcoming features.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Developed and maintained by Bilims.
For support, feature requests, or bug reports, please open an issue.
β‘ Ready to supercharge your SQL Server operations with AI? Get started today!