Skip to main content
Glama
AdrianCY

Microsoft SQL Server MCP

by AdrianCY

mssql-mcp

MCP-сервер (stdio), который подключается к Microsoft SQL Server с использованием драйвера mssql. Аргументы инструментов определяются и проверяются с помощью Valibot; JSON Schema для клиентов генерируется с помощью @valibot/to-json-schema.

Примечание по реализации: В этом проекте используется низкоуровневый класс Server из @modelcontextprotocol/sdk, а не McpServer, поскольку текущий путь McpServer.registerTool в SDK построен вокруг Zod для экспорта и проверки схем. Инструменты регистрируются с помощью обработчиков ListTools / tools/call, а парсинг Valibot выполняется внутри обработчиков.

Инструменты

  • mssql_query — Выполнение T-SQL пакета; возвращает recordsets и rowsAffected. Учитывает MSSQL_MAX_ROWS через SET ROWCOUNT, если параметр задан.

  • mssql_list_tables — Базовые таблицы из INFORMATION_SCHEMA.TABLES, опциональный фильтр по схеме.

  • mssql_describe_table — Метаданные столбцов из INFORMATION_SCHEMA.COLUMNS.

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

См. .env.example. Обязательные: MSSQL_SERVER, MSSQL_USER, MSSQL_PASSWORD, MSSQL_DATABASE.

  • MSSQL_ALLOW_WRITES — По умолчанию выключено. Когда выключено, эвристика блокирует общие ключевые слова для записи/DDL/выполнения (не является заменой прав доступа к БД).

  • MSSQL_MAX_ROWS — Если задано, оборачивает пакеты в SET ROWCOUNT для mssql_query.

  • MSSQL_ENCRYPT / MSSQL_TRUST_SERVER_CERTIFICATE — Передаются драйверу (encrypt по умолчанию имеет значение true).

Сборка и запуск

pnpm install
pnpm run build
pnpm start

Разработка (без отдельной сборки):

pnpm dev

Не записывайте логи в stdout при работе под управлением MCP; протокол использует stdout. Ошибки при запуске выводятся в stderr через console.error.

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

Используйте абсолютный путь к вашей локальной копии репозитория. Пример фрагмента конфигурации MCP пользователя:

{
  "mcpServers": {
    "mssql": {
      "command": "node",
      "args": ["/home/adrian/code/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 в качестве command (как показано выше). Не устанавливайте command как pnpm или npx: если pnpm завершится с ошибкой или выведет что-то в stdout, Cursor покажет ошибки типа Unexpected token … "ERR_PNPM_"… is not valid JSON, так как stdout должен содержать только JSON-RPC.

Режим разработки без сборки (все равно используйте node)

Установите cwd на этот репозиторий, чтобы node мог найти tsx в node_modules:

{
  "mcpServers": {
    "mssql": {
      "command": "node",
      "args": ["--import", "tsx", "/home/adrian/code/mcp/src/index.ts"],
      "cwd": "/home/adrian/code/mcp",
      "env": { }
    }
  }
}

Заполните env так же, как в примере выше. Сначала выполните pnpm install локально, чтобы tsx был доступен.

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AdrianCY/mssql-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server