SQL Server Data Warehouse Connector MCP Server

Local setup required. This server has to be cloned and prepared on your machine before you register it in Claude Code.
1

Set the server up locally

Run this once to clone and prepare the server before adding it to Claude Code.

Run in terminal
uv sync
2

Register it in Claude Code

After the local setup is done, run this command to point Claude Code at the built server.

Run in terminal
claude mcp add -e "DB_SERVER=${DB_SERVER}" -e "DB_NAME=${DB_NAME}" -e "DB_USER=${DB_USER}" -e "DB_PASSWORD=${DB_PASSWORD}" -e "DB_DRIVER=${DB_DRIVER}" sql-server-dw -- python "<FULL_PATH_TO_MCP_SQL_SERVER_DW>/dist/index.js"

Replace <FULL_PATH_TO_MCP_SQL_SERVER_DW>/dist/index.js with the actual folder you prepared in step 1.

Required:DB_SERVERDB_NAMEDB_USERDB_PASSWORDDB_DRIVER
README.md

Interact with SQL Server Data Warehouses using natural language

🤖📊 MCP SQL Server Data Warehouse Connector

Este proyecto implementa un servidor Model Context Protocol (MCP) para interactuar con un Data Warehouse en SQL Server utilizando lenguaje natural a través de asistentes de IA (como Claude Desktop).

Permite a la IA descubrir el esquema de la base de datos de forma automática y ejecutar consultas analíticas (SELECT) de manera segura para generar reportes estratégicos en segundos.

🚀 Tecnologías Utilizadas

  • Python (con uv para la gestión ultrarrápida de dependencias).
  • MCP SDK (mcp) para estandarizar la comunicación con la IA.
  • SQLAlchemy & pyodbc para la conexión robusta a la base de datos.
  • SQL Server como motor de Data Warehouse.

🛠️ Configuración y Uso

1. Preparar la Base de Datos (Seguridad)

Nunca utilices usuarios administradores. El proyecto incluye una plantilla para crear un usuario de solo lectura.

  • Abre el archivo setup_user_template.sql.
  • Reemplaza los datos entre corchetes con tu información real.
  • Ejecuta el script en tu gestor de base de datos (SSMS, Azure Data Studio, etc.).

2. Variables de Entorno

Crea un archivo .env en la raíz del proyecto (este archivo está ignorado por Git por seguridad) con la siguiente estructura:

DB_SERVER=tu_servidor
DB_NAME=tu_base_de_datos
DB_USER=mcp_chat_user
DB_PASSWORD=tu_password_seguro
DB_DRIVER=ODBC Driver 17 for SQL Server

3. Instalar Dependencias

Asegúrate de tener uv instalado y ejecuta:

Bash

uv sync

4. Conectar con Claude Desktop

Para que Claude pueda usar tus datos, debes agregar este servidor a su configuración.

Abre la configuración de Claude en

%APPDATA%\Claude\claude_desktop_config.json.

Revisa el archivo claude_desktop_config_template.json incluido en este repositorio para ver cómo estructurar la conexión. Solo debes cambiar la ruta por la ubicación absoluta de tu proyecto.

Reinicia Claude Desktop.

🛡️ Consideraciones de Seguridad

El servidor valida explícitamente que las consultas comiencen con la cláusula SELECT.

Las modificaciones a la base de datos (INSERT, UPDATE, DROP) serán rechazadas tanto por el código de Python como por los permisos del usuario de SQL Server.

Tools (2)

query_databaseExecutes a read-only SELECT query against the SQL Server database.
get_schemaDiscovers and returns the database schema structure.

Environment Variables

DB_SERVERrequiredThe hostname or IP address of the SQL Server instance.
DB_NAMErequiredThe name of the database to connect to.
DB_USERrequiredThe database username with read-only permissions.
DB_PASSWORDrequiredThe password for the database user.
DB_DRIVERrequiredThe ODBC driver name installed on the system.

Configuration

claude_desktop_config.json
{"mcpServers": {"sql-server-dw": {"command": "python", "args": ["/path/to/your/project/main.py"], "env": {"DB_SERVER": "your_server", "DB_NAME": "your_db", "DB_USER": "mcp_chat_user", "DB_PASSWORD": "your_password", "DB_DRIVER": "ODBC Driver 17 for SQL Server"}}}}

Try it

Show me the schema of the database so I know what tables are available.
Write a query to get the total sales per region for the last quarter.
List the top 10 customers by total order value from the sales table.
Generate a summary report of inventory levels for products with low stock.

Frequently Asked Questions

What are the key features of SQL Server Data Warehouse Connector?

Automatic database schema discovery for AI context. Secure read-only execution restricted to SELECT queries. Code-level validation to prevent unauthorized SQL operations. Integration with SQL Server via SQLAlchemy and pyodbc. Support for natural language analytical report generation.

What can I use SQL Server Data Warehouse Connector for?

Data analysts querying warehouse data without writing manual SQL. Business users generating ad-hoc reports from SQL Server via chat. Automating the discovery of table relationships for documentation. Providing secure, restricted database access to AI assistants for reporting.

How do I install SQL Server Data Warehouse Connector?

Install SQL Server Data Warehouse Connector by running: uv sync

What MCP clients work with SQL Server Data Warehouse Connector?

SQL Server Data Warehouse Connector works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep SQL Server Data Warehouse Connector docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare