Skip to main content
Glama
kyle66889

mcp-sqlserver

by kyle66889

MCP SQL Server

Сервер Model Context Protocol (MCP) только для чтения для Microsoft SQL Server, который позволяет AI-агентам безопасно исследовать и запрашивать базы данных SQL Server.

Быстрый старт

Шаг 1: Установка пакета

# Global installation (recommended)
npm install -g @bilims/mcp-sqlserver

# Verify installation
mcp-sqlserver --version

Шаг 2: Настройка подключения к SQL Server

Выберите тип вашего SQL Server и следуйте конфигурации:

Azure SQL Database

export SQLSERVER_HOST="your-server.database.windows.net"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="your-database"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="false"

Локальный SQL Server

export SQLSERVER_HOST="your-sql-server.company.com"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="your-database"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="true"  # For self-signed certificates

Локальный SQL Server Express

export SQLSERVER_HOST="localhost\\SQLEXPRESS"
export SQLSERVER_USER="sa"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="master"
export SQLSERVER_ENCRYPT="false"
export SQLSERVER_TRUST_CERT="true"

Шаг 3: Проверка подключения

# Test your configuration
mcp-sqlserver --help

# Quick connection test (press Ctrl+C to exit)
mcp-sqlserver

Шаг 4: Добавление в Claude Desktop

  1. Найдите файл конфигурации Claude Desktop:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Добавьте конфигурацию MCP-сервера:

{
  "mcpServers": {
    "sqlserver": {
      "command": "mcp-sqlserver",
      "env": {
        "SQLSERVER_HOST": "your-server.database.windows.net",
        "SQLSERVER_USER": "your-username",
        "SQLSERVER_PASSWORD": "your-password",
        "SQLSERVER_DATABASE": "your-database",
        "SQLSERVER_ENCRYPT": "true",
        "SQLSERVER_TRUST_CERT": "false"
      }
    }
  }
}
  1. Перезапустите Claude Desktop

Шаг 5: Начните исследование!

Попробуйте эти команды в Claude Desktop:

  • "Проверьте подключение к SQL Server"

  • "Список всех баз данных на сервере"

  • "Покажите таблицы в [имя базы данных]"

  • "Опишите структуру таблицы Users"

  • "Покажите связи внешних ключей"

Related MCP server: SQL Server MCP

Возможности

  • 🔒 Только чтение: Разрешены только SELECT-запросы с комплексной проверкой безопасности

  • 🗄️ Обнаружение схемы: Исследуйте базы данных, таблицы, представления, связи и метаданные

  • 📊 Исследование данных: Выполняйте безопасные запросы со встроенными ограничениями и тайм-аутами

  • 🔐 Готовность для предприятий: Зашифрованные подключения с доверием к сертификатам для производственных сред

  • 🛡️ Безопасность прежде всего: Проверка запросов, защита от SQL-инъекций и контроль доступа

Доступные инструменты

Обнаружение схемы

  • list_databases — Список всех баз данных на экземпляре SQL Server

  • list_tables — Список таблиц в базе данных или схеме

  • list_views — Список представлений в базе данных или схеме

  • describe_table — Получение подробной схемы таблицы, включая столбцы, типы данных и ограничения

Анализ связей

  • get_foreign_keys — Получение связей внешних ключей для таблиц

  • get_table_stats — Получение статистики таблиц, включая количество строк и информацию о размере

Исследование данных

  • execute_query — Выполнение запросов SELECT только для чтения с проверкой безопасности

  • get_server_info — Получение версии SQL Server, выпуска и деталей конфигурации

Часто используемые команды для Claude Desktop

После настройки MCP-сервера попробуйте эти команды на естественном языке:

Команды для начала работы

"Test the SQL Server connection"
"Show me server information"
"List all databases on this server"
"What tables are in the [database name] database?"

Исследование базы данных

"Describe the structure of the Users table"
"Show me foreign key relationships in this database"
"What are the largest tables by row count?"
"Give me a sample of data from the Orders table"

Расширенный анализ

"Help me understand the relationship between Orders and Customers"
"Show me all lookup tables in this database"
"What columns contain date/time information?"
"Find tables that might contain user authentication data"

Пользовательские запросы

"Run this query: SELECT TOP 10 * FROM Products WHERE Price > 100"
"Show me all customers created in the last 30 days"
"What are the different product categories in the database?"

Установка

npm install
npm run build

Конфигурация

Сервер настраивается с помощью переменных окружения:

Обязательные

  • SQLSERVER_USER — Имя пользователя SQL Server

  • SQLSERVER_PASSWORD — Пароль SQL Server

Необязательные

  • SQLSERVER_HOST — Имя хоста сервера (по умолчанию: localhost)

  • SQLSERVER_DATABASE — Имя базы данных по умолчанию

  • SQLSERVER_PORT — Номер порта (по умолчанию: 1433)

  • SQLSERVER_ENCRYPT — Включить шифрование (по умолчанию: true)

  • SQLSERVER_TRUST_CERT — Доверять сертификату сервера (по умолчанию: true)

  • SQLSERVER_CONNECTION_TIMEOUT — Тайм-аут подключения в мс (по умолчанию: 30000)

  • SQLSERVER_REQUEST_TIMEOUT — Тайм-аут запроса в мс (по умолчанию: 60000)

  • SQLSERVER_MAX_ROWS — Максимальное количество строк на запрос (по умолчанию: 1000)

Использование

Переменные окружения

export SQLSERVER_HOST="your-server.database.windows.net"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="your-database"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="true"

Запуск сервера

npm start

Варианты установки

Вариант 1: Глобальная установка (рекомендуется)

npm install -g @bilims/mcp-sqlserver

Вариант 2: Локальная установка

npm install @bilims/mcp-sqlserver
npx mcp-sqlserver

Вариант 3: Запуск с помощью npx (без установки)

npx @bilims/mcp-sqlserver

Примеры интеграции

Claude Desktop

Добавьте в конфигурацию Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "sqlserver": {
      "command": "mcp-sqlserver",
      "env": {
        "SQLSERVER_HOST": "your-server.database.windows.net",
        "SQLSERVER_USER": "your-username",
        "SQLSERVER_PASSWORD": "your-password",
        "SQLSERVER_DATABASE": "your-database"
      }
    }
  }
}

Claude Code CLI

# Set environment variables
export SQLSERVER_HOST="your-server"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"

# Use with Claude Code
claude mcp add sqlserver mcp-sqlserver

VSCode с расширением MCP

Установите расширение MCP для VSCode и добавьте конфигурацию сервера.

Функции безопасности

Проверка запросов

  • Разрешены только операторы SELECT, WITH, SHOW, DESCRIBE и EXPLAIN

  • Комплексный черный список опасных ключевых слов (INSERT, UPDATE, DELETE, DROP и т.д.)

  • Обнаружение шаблонов SQL-инъекций

  • Автоматическая очистка запросов

Безопасность подключения

  • Шифрование TLS/SSL включено по умолчанию

  • Варианты доверия к сертификатам сервера для корпоративных сред

  • Пул подключений с контролем тайм-аутов

  • Настраиваемые тайм-ауты запросов

Ограничения результатов

  • Максимальное количество строк на запрос (настраивается)

  • Автоматическое добавление предложения TOP для SELECT-запросов

  • Отслеживание времени выполнения запроса

  • Защита использования памяти

Примеры запросов

После подключения вы можете использовать инструменты через ваш MCP-клиент:

// List all databases
await callTool("list_databases", {});

// List tables in a specific schema
await callTool("list_tables", { schema: "dbo" });

// Get table schema details
await callTool("describe_table", { 
  table_name: "Users", 
  schema: "dbo" 
});

// Execute a read-only query
await callTool("execute_query", { 
  query: "SELECT TOP 10 * FROM Users WHERE active = 1",
  limit: 10
});

// Get foreign key relationships
await callTool("get_foreign_keys", { 
  table_name: "Orders" 
});

Разработка

# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode
npm run dev

# Run linting
npm run lint

# Run tests
npm test

Устранение неполадок

Проблемы с подключением

  1. Проверьте имя хоста и порт сервера

  2. Убедитесь, что настройки шифрования/сертификата соответствуют конфигурации вашего SQL Server

  3. Убедитесь, что у пользователя есть соответствующие разрешения на чтение

  4. Сначала проверьте подключение с помощью SQL Server Management Studio

Проблемы с разрешениями

Учетная запись пользователя должна иметь как минимум:

  • Разрешение CONNECT на базу данных

  • Разрешение SELECT на таблицы/представления, которые вы хотите запрашивать

  • Доступ к системным представлениям для запросов метаданных

Распространенные конфигурации SQL Server

Azure SQL Database

export SQLSERVER_HOST="your-server.database.windows.net"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="false"

Локальный SQL Server с самозаверяющими сертификатами

export SQLSERVER_HOST="sql-server.company.com"
export SQLSERVER_ENCRYPT="true" 
export SQLSERVER_TRUST_CERT="true"

Лицензия

MIT

Вклад в проект

  1. Сделайте форк репозитория

  2. Создайте ветку для функции

  3. Внесите изменения

  4. Добавьте тесты, если применимо

  5. Отправьте pull request

Поддержка

По вопросам и проблемам:

  • Ознакомьтесь с разделом устранения неполадок выше

  • Изучите документацию по подключению SQL Server

  • Убедитесь в совместимости MCP-клиента


Создано с помощью Model Context Protocol SDK для бесшовной интеграции с AI.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A read-only MCP server for MS SQL Server, written in Python. Lets AI agents query your database safely — no writes, no stored procedures, no shell access.
    1
    -
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that connects AI assistants to Microsoft SQL Server databases, enabling schema exploration and read-only queries safely.
    49
    10 npm
    4
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Read-only SQL Server MCP server enabling safe database queries, table listing, and schema inspection with built-in security protections.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A read-only MCP server for exploring on-premises, multi-instance Microsoft SQL Server estates from AI clients, with read-only enforcement and Windows authentication support.
    Apache 2.0