Skip to content

πŸ—„οΈ Model Context Protocol (MCP) server for SQL Server integration with Warp terminal. Execute queries, explore schemas, export data, and analyze performance with natural language commands.

License

Notifications You must be signed in to change notification settings

egarcia74/warp-sql-server-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SQL Server MCP - AI-Powered Database Integration

Connect AI assistants to your SQL Server databases with enterprise-grade security and performance.

πŸ€– AI-First Database Access: Enable GitHub Copilot, Warp AI, and other assistants to interact with your SQL Server databases through natural language queries, with comprehensive security controls and production-ready reliability.

CI CodeQL Node.js Version License


πŸš€ Quick Start - Choose Your AI Assistant

New to this project? Get up and running in under 5 minutes!

πŸ€– GitHub Copilot in VS Code (⭐ Most Popular)

Perfect for developers who want AI-powered SQL assistance directly in their IDE.

β†’ 5-Minute VS Code Setup Guide

  • βœ… GitHub Copilot can query your databases directly
  • βœ… Context-aware suggestions based on your actual schema
  • βœ… Natural language to SQL query generation
  • βœ… Real-time insights while coding

πŸ’¬ Warp Terminal

Ideal for terminal-based workflows and command-line database interactions.

β†’ 5-Minute Warp Setup Guide

  • βœ… AI-powered terminal with SQL Server integration
  • βœ… Natural language database queries
  • βœ… Fast iteration for analysis and debugging
  • βœ… Cross-platform terminal experience

πŸ”§ Advanced Integration

Complete VS Code Integration Guide β†’ - Advanced workflows and configuration

Using another AI assistant? This MCP server works with any MCP-compatible system.


✨ What You Get

  • πŸ€– Natural language to SQL - Ask questions, get queries
  • πŸ”’ Enterprise security - Three-tier safety system with secure defaults
  • πŸ“Š Performance insights - Query optimization and bottleneck detection
  • ☁️ Cloud-ready - AWS/Azure secret management
  • πŸš€ Streaming support - Memory-efficient handling of large datasets
  • πŸ“ˆ 16 Database Tools - Complete database operations through AI

πŸ”’ Security Levels (Quick Reference)

Security Level Environment Variable Default Impact
πŸ”’ Read-Only Mode SQL_SERVER_READ_ONLY true Only SELECT queries allowed
⚠️ Destructive Operations SQL_SERVER_ALLOW_DESTRUCTIVE_OPERATIONS false Controls INSERT/UPDATE/DELETE
🚨 Schema Changes SQL_SERVER_ALLOW_SCHEMA_CHANGES false Controls CREATE/DROP/ALTER

πŸ”’ Maximum Security (Default - Production Recommended):

SQL_SERVER_READ_ONLY=true                      # Only SELECT allowed
SQL_SERVER_ALLOW_DESTRUCTIVE_OPERATIONS=false  # No data modifications
SQL_SERVER_ALLOW_SCHEMA_CHANGES=false         # No schema changes

πŸ“‹ Essential Environment Variables

πŸ“– Complete Reference: See docs/ENV-VARS.md for comprehensive documentation of all environment variables, defaults, and context-aware behavior.

Variable Required Default Description
SQL_SERVER_HOST Yes localhost SQL Server hostname
SQL_SERVER_PORT Yes 1433 SQL Server port
SQL_SERVER_DATABASE Yes master Initial database
SQL_SERVER_USER For SQL Auth - Database username
SQL_SERVER_PASSWORD For SQL Auth - Database password
SQL_SERVER_ENCRYPT No true Enable SSL/TLS
SQL_SERVER_TRUST_CERT No context-aware Trust server certificate

πŸ’‘ Authentication: For Windows Authentication, leave SQL_SERVER_USER and SQL_SERVER_PASSWORD empty. πŸ’‘ SSL Certificates: SQL_SERVER_TRUST_CERT automatically adapts to your environment (trusts in development, requires valid certificates in production).


πŸ› οΈ Installation & Configuration

Note: As of v1.7.11 the package is published under the scoped name @egarcia74/warp-sql-server-mcp. The previous unscoped package remains temporarily and will be deprecated.

⭐ Recommended: Global npm Installation

# Install globally via npm (easiest method)
npm install -g @egarcia74/warp-sql-server-mcp

# Initialize configuration
warp-sql-server-mcp init

# Edit config file with your SQL Server details
# Config file location: ~/.warp-sql-server-mcp.json

Benefits:

  • βœ… No manual path configuration
  • βœ… Secure credential storage with file permissions (600)
  • βœ… Easy configuration updates without touching AI assistant settings
  • βœ… Password masking and validation

Alternative: Manual Installation

# Clone and install manually
git clone https://github.com/egarcia74/warp-sql-server-mcp.git
cd warp-sql-server-mcp
npm install

🎯 Use Cases

πŸ” Database Analysis & Exploration

  • Schema Discovery: Reverse engineer legacy databases without documentation
  • Data Quality Assessment: Spot-check data integrity across tables
  • New Team Onboarding: Rapidly explore unfamiliar database schemas

πŸ“Š Business Intelligence & Reporting

  • Ad-hoc Analysis: Quick business questions through natural language
  • Data Export: Export filtered datasets to CSV for analysis
  • Revenue Analysis: AI-powered business insights

πŸ› οΈ Development & DevOps

  • Query Performance Tuning: Execution plan analysis and optimization
  • API Development: Quickly test database queries during development
  • Database Troubleshooting: Debug slow queries and identify bottlenecks

πŸš€ AI-Powered Operations

  • Natural Language to SQL: Ask questions like "Show me customers who haven't placed orders"
  • Query Optimization: "Why is this query running slowly?"
  • Automated Insights: Generate business reports through conversational queries

πŸ“š Complete Documentation

πŸ“‹ Complete Documentation Index - Navigate all documentation in one place

User Guides

Setup Guides

Developer Resources


πŸ§ͺ Production Validation

βœ… PRODUCTION-VALIDATED: This MCP server has been fully tested through:

  • 618+ Comprehensive Tests: All MCP tools, security boundaries, error scenarios (392 unit + 40 manual integration + 20 protocol tests)
  • 40 Manual Integration Tests: Live database validation across all security phases
  • 20 Protocol Tests: End-to-end MCP communication validation
  • 100% Success Rate: All security phases validated in production scenarios

🐳 Quick Testing with Docker (Recommended for Development)

# One-command testing with automated SQL Server container
npm run test:integration

# This will:
# 1. 🐳 Start SQL Server 2022 container
# 2. ⏱️ Wait for database initialization (2-3 minutes)
# 3. πŸ§ͺ Run all integration tests
# 4. πŸ”„ Clean up and stop container

Benefits: ✨ Zero configuration, πŸ›‘οΈ Complete isolation, ⚑ Fast setup, πŸ“‹ Consistent environment

Complete Docker Testing Guide β†’

πŸ”§ Manual Setup Testing (Production Validation)

Security Phases Tested:

  • Phase 1 (Read-Only): Maximum security - 20/20 tests βœ…
  • Phase 2 (DML Operations): Selective permissions - 10/10 tests βœ…
  • Phase 3 (DDL Operations): Full development mode - 10/10 tests βœ…
# Quick Start - Get comprehensive help
npm run help               # Show all commands with detailed descriptions

# Run tests locally
npm test                   # All automated unit + integration tests
npm run test:coverage      # Coverage report with detailed metrics
npm run test:integration   # πŸš€ Complete integration test suite with Docker
npm run test:integration:ci  # For CI environments with external database
npm run test:integration:performance  # ⭐ Fast performance validation (~2s)

# View logs and monitor activity
npm run logs               # Show recent server logs
npm run logs:tail          # Follow logs in real-time
npm run logs:audit         # Show security audit logs

πŸ”§ Usage Examples

Once configured, you can use natural language with your AI assistant:

VS Code + GitHub Copilot

@sql-server List all databases
@sql-server Show me tables in the AdventureWorks database
@sql-server Generate a query to find the top 10 customers by sales
@sql-server Analyze the performance of this query: SELECT * FROM Orders WHERE OrderDate > '2023-01-01'

Warp Terminal

Please list all databases on the SQL Server
Execute this SQL query: SELECT TOP 10 * FROM Users ORDER BY CreatedDate DESC
Can you describe the structure of the Orders table?
Show me 50 rows from the Products table where Price > 100

🚨 Troubleshooting

Common Issues

Connection Problems:

  • Verify SQL Server is running on the specified port: telnet localhost 1433
  • Check firewall settings on both client and server
  • Enable TCP/IP protocol in SQL Server Configuration Manager

Authentication Issues:

  • For SQL Server Auth: Verify SQL_SERVER_USER and SQL_SERVER_PASSWORD
  • For Windows Auth: Leave user/password empty, optionally set SQL_SERVER_DOMAIN
  • Ensure the connecting user has appropriate database permissions

Configuration Issues:

  • Set SQL_SERVER_ENCRYPT=false for local development
  • MCP servers require explicit environment variables (.env files are not loaded automatically)
  • Check MCP server logs: npm run logs or npm run logs:tail for real-time monitoring
  • View audit logs for security-related issues: npm run logs:audit

Platform-Specific

Windows:

  • Enable TCP/IP in SQL Server Configuration Manager
  • Start SQL Server Browser service for named instances
  • Windows Authentication works seamlessly with domain accounts

macOS/Linux:

  • Remote SQL Server connections often require SQL Server Authentication
  • May need SQL_SERVER_ENCRYPT=true for remote connections
  • Test connectivity: nc -zv localhost 1433 or nmap -p 1433 localhost

🀝 Contributing

This project demonstrates enterprise-grade software engineering practices. We welcome contributions that maintain our high standards:

  1. Fork the repository and create a feature branch
  2. Follow TDD practices - write tests first!
  3. Maintain code quality - all commits trigger automated quality checks
  4. Add comprehensive tests for new functionality
  5. Update documentation as needed
  6. Submit a pull request with detailed description

Development Commands:

# Get comprehensive help for all available commands
npm run help               # Show organized command reference with descriptions

# Core development
npm run dev                # Development mode with auto-restart
npm test                   # Run all tests
npm run lint:fix          # Fix linting issues
npm run format            # Format code
npm run ci                 # Full CI pipeline locally

# Log viewing and monitoring
npm run logs               # Show recent server logs
npm run logs:tail          # Follow server logs in real-time
npm run logs:audit         # Show security audit logs
npm run logs:tail:audit    # Follow audit logs in real-time

# System maintenance and cleanup
npm run cleanup            # Clean up leftover test processes
npm run cleanup:processes  # Same as cleanup (alias)

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

Copyright (c) 2025 Eduardo Garcia


🌟 About This Project

While this appears to be an MCP server for SQL Server integration, it's fundamentally a comprehensive framework demonstrating enterprise-grade software development practices. Every component, pattern, and principle here showcases rigorous engineering standards that can be applied to any production system.

Key Engineering Highlights:

  • πŸ”¬ 618+ Comprehensive Tests covering all functionality and edge cases
  • πŸ›‘οΈ Multi-layered Security with defense-in-depth architecture
  • πŸ“Š Production Observability with structured logging and performance monitoring
  • ⚑ Enterprise Reliability featuring connection pooling and graceful error handling
  • πŸ›οΈ Clean Architecture with dependency inversion and modular design
  • πŸ“š Living Documentation that auto-syncs with code changes

β†’ Read the Complete Engineering Philosophy

About

πŸ—„οΈ Model Context Protocol (MCP) server for SQL Server integration with Warp terminal. Execute queries, explore schemas, export data, and analyze performance with natural language commands.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •