Skip to main content
Glama
AdrianCY

Microsoft SQL Server MCP

by AdrianCY

@adriancy/mcp-mssql

MCP-сервер (stdio) для Microsoft SQL Server. Предоставляет инструменты, позволяющие Cursor (или любому другому MCP-клиенту) просматривать списки таблиц, описывать столбцы и выполнять T-SQL запросы с упором на чтение.

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

  1. Откройте Cursor Settings → MCP (или отредактируйте свой MCP JSON).

  2. Добавьте блок сервера. Установите env для вашей базы данных (см. .env.example).

Из npm (после публикации пакета):

{
  "mcpServers": {
    "mssql": {
      "command": "npx",
      "args": ["-y", "@adriancy/mcp-mssql"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_USER": "your_user",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true"
      }
    }
  }
}

Из локального клона (сначала выполните pnpm install && pnpm build):

{
  "mcpServers": {
    "mssql": {
      "command": "node",
      "args": ["/absolute/path/to/mssql-mcp/dist/index.js"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_USER": "your_user",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true"
      }
    }
  }
}

Используйте node для локальных файлов. Избегайте использования pnpm в качестве command для MCP — дополнительный вывод в stdout может нарушить работу протокола.

Убедитесь, что имя установки совпадает с npm: npm view @adriancy/mcp-mssql version.

Related MCP server: MSSQL Database MCP Server

Окружение

Все переменные считываются из окружения процесса MCP (например, env в Cursor). Логические значения: 1, true, yes, on (регистронезависимо) считаются истинными, а 0, false, no, off — ложными. Некорректные логические или целочисленные значения приводят к ошибке при запуске.

Переменная

Обязательно

По умолчанию

Значение

MSSQL_SERVER

да

—

Имя хоста или IP-адрес SQL Server

MSSQL_USER

да†

—

Имя пользователя (SQL auth, NTLM, пароль Azure AD); не используется для azure-active-directory-access-token или потоков только для service-principal

MSSQL_PASSWORD

да*†

—

Пароль пользователя (*может быть пустым для некоторых настроек)

MSSQL_DATABASE

да

—

Исходная база данных

MSSQL_PORT

нет

1433

TCP-порт; опустите при использовании MSSQL_INSTANCE_NAME (драйвер использует экземпляр + SQL Browser)

MSSQL_ENCRYPT

нет

true

TLS encrypt: true, false или strict (TDS 8.0 / tedious)

MSSQL_TRUST_SERVER_CERTIFICATE

нет

false

Доверять самоподписанным сертификатам / пропустить проверку сертификата (только для разработки)

MSSQL_TLS_SERVER_NAME

нет

—

Имя хоста для проверки TLS, если оно отличается от MSSQL_SERVER (например, подключение по IP)

MSSQL_TLS_CA_FILE

нет

—

Путь к CA PEM; передается через cryptoCredentialsDetails.ca

MSSQL_TLS_CERT_FILE

нет

—

Опциональный PEM клиентского сертификата (взаимный TLS)

MSSQL_TLS_KEY_FILE

нет

—

Опциональный PEM закрытого ключа клиента

MSSQL_TLS_KEY_PASSPHRASE

нет

—

Парольная фраза для зашифрованного ключа клиента

MSSQL_CONNECTION_TIMEOUT_MS

нет

(по умолчанию драйвера)

connectionTimeout пула (мс). 0 → не задано

MSSQL_DOMAIN

нет

—

Доменный логин (config.domain для SQL auth; требуется для MSSQL_AUTH_TYPE=ntlm)

MSSQL_INSTANCE_NAME

нет

—

Именованный экземпляр (options.instanceName); не полагайтесь на MSSQL_PORT при установке этого параметра

MSSQL_MULTI_SUBNET_FAILOVER

нет

false

Подсказка для отработки отказа в стиле групп доступности

MSSQL_READ_ONLY_INTENT

нет

false

Маршрутизация только для чтения для вторичных реплик AG

MSSQL_MAX_RETRIES_ON_TRANSIENT_ERRORS

нет

—

maxRetriesOnTransientErrors для tedious; 0 → не задано

MSSQL_CONNECTION_RETRY_INTERVAL_MS

нет

—

connectionRetryInterval для tedious; 0 → не задано

MSSQL_POOL_MAX

нет

10

Максимальное количество соединений в пуле

MSSQL_POOL_MIN

нет

0

Минимальное количество соединений в пуле

MSSQL_POOL_IDLE_TIMEOUT_MS

нет

30000

pool.idleTimeoutMillis

MSSQL_APP_NAME

нет

—

options.appName (трассировка сервера)

MSSQL_USE_UTC

нет

true

options.useUTC при установке

MSSQL_TDS_VERSION

нет

—

7_1, 7_2, 7_3_A, 7_3_B или 7_4

MSSQL_AUTH_TYPE

нет

—

ntlm, azure-active-directory-password, azure-active-directory-access-token, azure-active-directory-service-principal-secret или не задано/default для SQL логина

MSSQL_AZURE_CLIENT_ID

нет‡

—

ID приложения (клиента) Azure AD, где требуется

MSSQL_AZURE_TENANT_ID

нет‡

—

ID арендатора (опционально для парольной аутентификации, по умолчанию common; требуется для service principal)

MSSQL_AZURE_CLIENT_SECRET

нет‡

—

Секрет service principal

MSSQL_AZURE_ACCESS_TOKEN

нет‡

—

Предварительно полученный токен для аутентификации по токену доступа

MSSQL_ALLOW_WRITES

нет

false

Если false/не задано, блокирует общие шаблоны записи/DDL/exec в mssql_query (только эвристика)

MSSQL_QUERY_TIMEOUT_MS

нет

(по умолчанию драйвера)

Тайм-аут запроса в мс для драйвера. 0 → не задано

† Требуется для SQL-аутентификации и типов аутентификации, использующих интерактивный вход пользователя. ‡ Требуется в зависимости от MSSQL_AUTH_TYPE; см. .env.example. NTLM на Node 17+ может потребовать --openssl-legacy-provider (см. FAQ по tedious).

См. также .env.example.

Инструменты

Инструмент

Назначение

mssql_query

Выполнение T-SQL; возвращает строки и rowsAffected

mssql_list_tables

Таблицы в INFORMATION_SCHEMA

mssql_describe_table

Метаданные столбцов

Когда MSSQL_ALLOW_WRITES не задано или равно false, очевидные шаблоны записи/DDL блокируются (только эвристика; используйте права доступа к БД для реальной безопасности).

Разработка

pnpm install
pnpm check
pnpm test
pnpm build && pnpm start
pnpm dev

Используйте pnpm format для применения исправлений форматирования Biome и pnpm lint для запуска правил линтинга без форматирования.

Используйте SQL-логин с правами только для чтения или минимально необходимыми привилегиями для повседневной работы.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to interact with Microsoft SQL Server databases through query execution, schema discovery, CRUD operations, stored procedures, and data export with built-in safety controls.
    18
    30 PyPI
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to securely interact with Microsoft SQL Server databases to query data, inspect schemas, and retrieve metadata with read-only operations by default and optional write capabilities.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Microsoft SQL Server databases using both SQL Server and Windows Authentication. It supports flexible connection configurations, including read-only modes and encrypted communication for secure data management.
    1,554 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI assistants to interact with Microsoft SQL Server databases via introspection and query tools. Supports single or multiple databases with read-only mode by default and an optional write capability.
    629 npm
    5
    MIT