# Microsoft SQL Server

Даёт агенту доступ к SQL Server: читает схему, выполняет только SELECT, разбирает планы и пишет в базу, если разрешить. Нужен, когда данные лежат в MSSQL, а не в Postgres.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 9
- Автор: alyiox
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/alyiox/mcp-mssql/tree/HEAD/src/alyio.mcpmssql
- Обновлён: 2026-10-10
- HTML: https://affpapa.org/nevibecode/mcp/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`.

## Требования
- Переменные окружения: `MCPMSSQL_CONNECTION_STRING`, `MCPMSSQL_DESCRIPTION`, `MCPMSSQL_QUERY_MAX_ROWS`, `MCPMSSQL_QUERY_COMMAND_TIMEOUT_SECONDS`, `MCPMSSQL_QUERY_SNAPSHOT_MAX_ROWS`, `MCPMSSQL_QUERY_SNAPSHOT_COMMAND_TIMEOUT_SECONDS`, `MCPMSSQL_ANALYZE_COMMAND_TIMEOUT_SECONDS`, `MCPMSSQL_ALLOW_WRITE`, `MCPMSSQL_WRITE_COMMAND_TIMEOUT_SECONDS`, `DOTNET_ENVIRONMENT` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Установка**
- Команды запуска нет в реестре MCP — смотрите README репозитория

## Когда брать
- посмотреть структуру таблиц и связи, не открывая SSMS
- выполнить SELECT по параметрам и не собрать SQL инъекцию
- разобрать план выполнения медленного запроса
- держать несколько серверов MSSQL в одном подключении к агенту
- включить запись только для профиля миграций

## Примеры запросов агенту
- Покажи список таблиц в схеме dbo и их колонки
- Выполни запрос по профилю `warehouse`: выручка по месяцам за прошлый год
- Разбери план выполнения этого запроса и скажи, где он тормозит

## Похожие
- [World Monitor](https://affpapa.org/nevibecode/mcp/world-monitor.md) — MCP-сервер · ★ 89408
- [Scrapling MCP Server](https://affpapa.org/nevibecode/mcp/scrapling-mcp-server.md) — MCP-сервер · ★ 89433
- [MCP Toolbox for Databases](https://affpapa.org/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP-сервер · ★ 16717
- [PostHog MCP Server](https://affpapa.org/nevibecode/mcp/posthog-mcp-server.md) — MCP-сервер · ★ 40409
- [dbx](https://affpapa.org/nevibecode/mcp/dbx.md) — MCP-сервер · ★ 27669
- [Metabase](https://affpapa.org/nevibecode/mcp/metabase.md) — MCP-сервер · ★ 49845

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
