Microsoft SQL Server — MCP-сервер для Claude Code: схема, запросы
Даёт агенту доступ к SQL Server: читает схему, выполняет только SELECT, разбирает планы и пишет в базу, если разрешить. Нужен, когда данные лежат в MSSQL, а не в Postgres.
Открыть на GitHubЧто делает Microsoft SQL Server
Сервер по умолчанию работает в режиме только чтения. Агент может посмотреть метаданные, выполнить параметризованный запрос и разобрать план выполнения. Запись включается отдельно, флагом AllowWrite для конкретного профиля.
Профиль — это одно подключение: строка соединения, лимиты на строки и таймауты, разрешена ли запись. Профиль default есть всегда, остальные задаются в appsettings.json или через переменные вида McpMssql__Profiles__<NAME>__<FIELD>. Один инструмент может ходить на несколько серверов сразу.
Нужен .NET 8.0 или новее и строка подключения. Без неё сервер не стартует: профиль без ConnectionString — включая пустой default — падает на запуске. Лимиты жёсткие: Query:MaxRows не поднять выше 1000, а Query:CommandTimeoutSeconds — выше 300, при старте значение обрежется и предупреждение уйдёт в stderr. Флаг AllowWrite — мягкий предохранитель, а не право в базе. Хотите жёсткую защиту от записи — берите логин с ролью db_datareader.
Какие задачи решает
- посмотреть структуру таблиц и связи, не открывая SSMS
- выполнить SELECT по параметрам и не собрать SQL инъекцию
- разобрать план выполнения медленного запроса
- держать несколько серверов MSSQL в одном подключении к агенту
- включить запись только для профиля миграций
Примеры запросов агенту
- Покажи список таблиц в схеме dbo и их колонки
- Выполни запрос по профилю
warehouse: выручка по месяцам за прошлый год - Разбери план выполнения этого запроса и скажи, где он тормозит
Как установить Microsoft SQL Server
Установка
Команды запуска нет в реестре MCP — смотрите README репозитория
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Microsoft SQL Server
Как установить Microsoft SQL Server MCP-сервер?
Поставьте как глобальный инструмент: dotnet tool install --global Alyio.McpMssql --prerelease. Затем задайте MCPMSSQL_CONNECTION_STRING и запустите mcp-mssql.
Что делает этот MCP-сервер?
Отдаёт агенту схему базы, параметризованные SELECT-запросы и разбор планов выполнения. Запись выключена, пока её не разрешат для профиля.
Можно ли подключить несколько серверов сразу?
Да, через профили в appsettings.json или переменные McpMssql__Profiles__<NAME>__<FIELD>. Каждый инструмент принимает необязательный параметр profile.