SQL Server MCP Server
Enables Cursor AI to interact with SQL Server databases, including querying, schema exploration, report generation, and chart creation.
README
SQL Server MCP Server for Cursor
A local Model Context Protocol (MCP) server that enables Cursor AI to interact with SQL Server databases. This MCP server provides comprehensive database capabilities including querying, reporting, and chart generation directly within Cursor.
What is This?
This is a local MCP server that you install and configure in Cursor to give the AI assistant the ability to:
- Connect to your SQL Server databases
- Execute SQL queries
- Explore database schemas and tables
- Generate reports and visualizations
- Export data in various formats
All database operations happen through Cursor's AI interface - you can ask the AI to query your databases, generate reports, or create charts.
Quick Start Guide
Step 1: Install and Build
-
Install dependencies:
npm install -
Generate Prisma client:
npm run prisma:generate -
Build the project:
npm run build
Step 2: Configure in Cursor
-
Open Cursor Settings:
- Press
Ctrl+,(orCmd+,on Mac) to open settings - Click on the
{}icon to open JSON settings
- Press
-
Add the MCP server configuration:
Find or create the
mcpServerssection and add:{ "mcpServers": { "sql-server": { "command": "node", "args": ["D:\\Work\\Code\\Projects\\local_MCPs\\SQLMCP\\dist\\index.js"] } } }Important: Replace the path with your actual project path. On Windows, use double backslashes
\\or forward slashes/. -
Restart Cursor to load the MCP server
Step 3: Configure Database Connections
You have two options for connecting to databases:
Option A: Automatic Connection (Recommended)
Create a .env file in the project root directory:
# Format: DATABASE_URL_<connectionId>
# Use any name you want for <connectionId> - this will be how you reference the database
DATABASE_URL_production=sqlserver://server:1433;database=ProductionDB;user=admin;password=YourPassword;encrypt=true
DATABASE_URL_staging=sqlserver://server:1433;database=StagingDB;user=admin;password=YourPassword;encrypt=true
DATABASE_URL_local=sqlserver://localhost:1433;database=LocalDB;user=sa;password=YourPassword;encrypt=true
Connection String Format:
sqlserver://[server]:[port];database=[database];user=[username];password=[password];encrypt=true
After creating .env:
- Restart Cursor (or the MCP server)
- Databases will automatically connect
- Use the connectionId (e.g.,
production,staging,local) when asking the AI to query databases
Option B: Manual Connection
You can connect to databases on-demand by asking the AI to use the connect_database tool with your connection string.
Step 4: Using the MCP Server
Once configured, you can use the MCP server by simply asking Cursor's AI to interact with your databases. Here are some examples:
Example 1: List Tables
"List all tables in the production database"
The AI will use the list_tables tool with connectionId: "production"
Example 2: Query Data
"Show me the top 10 customers from the production database"
The AI will execute a SQL query like:
SELECT TOP 10 * FROM Customers ORDER BY ...
Example 3: Get Table Structure
"What columns are in the Orders table in production?"
The AI will use get_table_structure to show you the table schema
Example 4: Generate a Report
"Generate a report of all orders from 2024 in the production database"
Example 5: Create a Chart
"Create a bar chart showing monthly sales from the Sales table in production, using Month as labels and Revenue as data"
Example 6: Export Data
"Export the Customers table from production as CSV"
Available Tools
The MCP server provides these tools (you can ask the AI to use them):
list_connections- See all connected databaseslist_tables- List all tables in a databaseget_table_structure- Get detailed table schemalist_schemas- List all database schemasexecute_query- Run SQL queries (SELECT, INSERT, UPDATE, DELETE, EXEC)generate_report- Generate data reports from tablesgenerate_chart_report- Create charts (bar, line, pie, scatter, doughnut, area)export_report- Export data as JSON or CSVconnect_database- Manually connect to a databasedisconnect_database- Disconnect from a database
Features
- Multiple Database Connections: Connect to multiple SQL Server databases simultaneously
- Automatic Connection: Auto-connect databases from
.envfile on startup - SQL Query Execution: Run any SQL query (SELECT, INSERT, UPDATE, DELETE, EXEC)
- Schema Exploration: Browse tables, columns, and database structure
- Report Generation: Create data reports with filtering and limits
- Chart Visualization: Generate various chart types (bar, line, pie, etc.)
- Data Export: Export data in JSON or CSV formats
- Security: SQL injection protection and input validation
Troubleshooting
MCP Server Not Loading
- Verify the path in Cursor settings is correct
- Make sure you've run
npm run build - Check Cursor's MCP server logs (usually in the output panel)
Connection Errors
- Verify your connection string format is correct
- Check that your SQL Server is accessible
- Ensure credentials are correct
- Try connecting manually first using
connect_databasetool
Database Not Found
- If using
.envfile, make sure variable names start withDATABASE_URL_ - Restart Cursor after adding databases to
.env - Check that the connectionId matches (e.g.,
DATABASE_URL_prod→ useprodas connectionId)
Query Errors
- Verify your SQL syntax is correct
- Check that you have proper database permissions
- Ensure table and column names are spelled correctly
Development
Project Structure
SQLMCP/
├── src/
│ ├── server/ # MCP server implementation
│ ├── database/ # Database connection management
│ ├── reporting/ # Report generation
│ └── charts/ # Chart generation
├── dist/ # Compiled JavaScript
├── prisma/ # Prisma schema
└── package.json
Building
npm run build
Development Mode
npm run dev
Security Notes
- Connection strings in
.envfiles should be kept secure - Never commit
.envfiles to version control - All SQL inputs are validated to prevent injection attacks
- Only SELECT, INSERT, UPDATE, DELETE, and EXEC statements are allowed
- Table and column names are sanitized
License
MIT
"# SQL-MCP"
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.