A Model Context Protocol (MCP) server that provides SQL Server database query capabilities.
- SQL Server database support using tedious driver
- No native dependencies - pure JavaScript implementation
- Simple query tool for executing SQL statements
- Environment variable based configuration
- Support for encrypted and unencrypted connections
npm install
npm run buildConfigure the server using environment variables:
DB_HOST: SQL Server host (default:localhost)DB_PORT: SQL Server port (default:1433)DB_DATABASE(required): Database nameDB_USER(required): Database userDB_PASSWORD: Database passwordDB_TRUST_SERVER_CERTIFICATE: Set totrueto trust server certificate (default:false)DB_ENCRYPT: Set tofalseto disable encryption (default:true)
DB_HOST=localhost \
DB_PORT=1433 \
DB_DATABASE=mydb \
DB_USER=sa \
DB_PASSWORD=MyPassword123! \
npm startDB_HOST=sqlserver.example.com \
DB_DATABASE=production \
DB_USER=appuser \
DB_PASSWORD=SecurePass \
DB_TRUST_SERVER_CERTIFICATE=true \
npm startDB_HOST=localhost \
DB_DATABASE=testdb \
DB_USER=sa \
DB_PASSWORD=DevPassword \
DB_ENCRYPT=false \
npm startThis server provides one tool:
query: Execute SQL queries against the connected SQL Server database- Parameters:
sql(string): The SQL query to execute
- Returns: JSON formatted query results
- Parameters:
-- Select data
SELECT TOP 10 * FROM Users
-- Join tables
SELECT o.OrderID, c.CustomerName, o.OrderDate
FROM Orders o
INNER JOIN Customers c ON o.CustomerID = c.CustomerID
-- Aggregate data
SELECT COUNT(*) as TotalOrders, SUM(Amount) as TotalRevenue
FROM Orders
WHERE OrderDate >= '2024-01-01'# Install dependencies
npm install
# Run in development mode
DB_HOST=localhost \
DB_DATABASE=testdb \
DB_USER=sa \
DB_PASSWORD=TestPass123! \
npm run dev
# Build for production
npm run build- Login failed: Ensure SQL Server authentication is enabled and credentials are correct
- Certificate error: Set
DB_TRUST_SERVER_CERTIFICATE=truefor self-signed certificates - Encryption error: Set
DB_ENCRYPT=falsefor older SQL Server versions or local development - Network error: Check firewall settings and ensure SQL Server is listening on the correct port
Ensure your SQL Server instance:
- Has SQL Server authentication enabled (not just Windows authentication)
- Is configured to accept TCP/IP connections
- Has the necessary firewall rules configured
MIT