VOOZH about

URL: https://glama.ai/mcp/servers/dhipskind253/mssql-mcp?locale=ru-RU

⇱ mssql-mcp by dhipskind253 | Glama


mssql-mcp

MCP-сервер для Microsoft SQL Server с правами только на чтение, использующий данные для подключения из AWS Secrets Manager во время вызова инструмента — с диска или из переменных окружения не считывается ничего, кроме самой ссылки на секрет.

Кроссплатформенность: это MCP-сервер на чистом JavaScript (без нативных зависимостей или ODBC), поэтому он работает одинаково в macOS, Linux и Windows через npx.

Настройка в .claude.json

{
 "mcpServers": {
 "my-db": {
 "command": "npx",
 "args": ["-y", "@dhipskind253/mssql-mcp"],
 "env": {
 "AWS_ACCOUNT_ID": "123456789012",
 "SECRET_NAME": "my-aws-secret",
 "AWS_REGION": "us-east-1",
 "TRUST_SERVER_CERTIFICATE": "false"
 }
 }
 }
}

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

Обязательно

По умолчанию

Описание

AWS_ACCOUNT_ID

да

Аккаунт AWS, в котором находится секрет. Объединяется с именем и регионом в полный ARN.

SECRET_NAME

да

Имя секрета в Secrets Manager (суффикс ARN не требуется).

AWS_REGION

да

Регион AWS, в котором находится секрет (например, us-east-1). Также используется AWS SDK как регион по умолчанию.

TRUST_SERVER_CERTIFICATE

нет

false

Пропуск проверки TLS-сертификата SQL Server. Принимает true/false/1/0/yes/no. Устанавливайте true только если понимаете зачем.

Стандартные переменные окружения AWS SDK (AWS_PROFILE, AWS_ACCESS_KEY_ID и т. д.) учитываются через стандартную цепочку провайдеров учетных данных. Большинству пользователей достаточно выполнить aws sso login.

Related MCP server: mssql-mcp

Требуемый JSON секрета

Значение секрета должно быть JSON-документом как минимум со следующими полями:

{
 "host": "myserver.database.windows.net",
 "port": 1433,
 "database": "mydb",
 "username": "ro_user",
 "password": "..."
}

database также может быть указано как dbname — это имя поля, которое AWS использует в своем встроенном шаблоне секретов для учетных данных RDS. Если присутствуют оба, приоритет у database.

Необязательные поля (указаны значения по умолчанию):

Поле

По умолчанию

Примечания

port

1433

encrypt

true

TLS к серверу.

Доверие к TLS-сертификату не считывается из секрета — вместо этого установите TRUST_SERVER_CERTIFICATE в блоке env MCP-сервера. Любое поле trustServerCertificate в JSON секрета игнорируется.

Разработано с правами только на чтение

Этот сервер не может вставлять, обновлять или удалять данные. Это обеспечивается двумя уровнями защиты:

  1. Инструмент run_select лексически отклоняет все, что не является одиночным оператором SELECT или WITH (CTE) — включая INSERT, UPDATE, DELETE, EXEC, MERGE, DROP, ALTER, SELECT INTO и т. д.

  2. Ни один другой инструмент не выполняет SQL-запросы на запись. get_procedure_definition возвращает исходный код процедуры — он не выполняет процедуры.

Примечание: рассматривайте лексическую проверку как UX, а не как границу безопасности. В качестве любезности к самому себе в будущем, настройте учетные данные, которые вы помещаете в Secrets Manager, как логин базы данных только для чтения — только с правами SELECT и VIEW DEFINITION. Таким образом, случайная запись (или будущая ошибка здесь) будет отклонена самим SQL Server.

Обновление учетных данных AWS без перезапуска

Поскольку сервер использует стандартную цепочку учетных данных AWS, истекший сеанс SSO можно восстановить без перезапуска Claude или MCP-сервера:

  1. Выполните aws sso login в любом терминале.

  2. Попросите Claude вызвать инструмент refresh_secret.

  3. Продолжайте работу.

Если вызов инструмента завершится ошибкой из-за аутентификации AWS, сообщение об ошибке точно укажет на это и предложит выполнить те же действия. Ошибки помечены стабильными префиксами:

Префикс

Значение

[AWS_AUTH_REQUIRED]

Сеанс SSO истек или учетные данные недоступны.

[AWS_ACCESS_DENIED]

У субъекта нет прав secretsmanager:GetSecretValue.

[AWS_SECRET_NOT_FOUND]

Несоответствие имени секрета / аккаунта / региона.

[AWS_SECRET_INVALID]

JSON секрета содержит ошибки или пропущены поля.

[DB_CONNECT_FAILED]

Не удалось связаться с экземпляром SQL Server.

[DB_QUERY_FAILED]

SQL Server вернул ошибку при выполнении запроса.

[INVALID_QUERY]

Отправленный запрос нарушил правила «только чтение».

Инструменты

Инструмент

Назначение

list_schemas

Пользовательские схемы в базе данных.

list_tables

Таблицы, опционально отфильтрованные по схеме.

describe_table

Столбцы, типы, возможность NULL, identity, PK, значения по умолчанию.

list_indexes

Индексы таблицы (одна строка на индекс/столбец).

list_foreign_keys

Исходящие внешние ключи таблицы.

list_views

Представления, опционально отфильтрованные по схеме.

get_view_definition

SQL-код представления.

list_procedures

Хранимые процедуры, опционально отфильтрованные по схеме.

get_procedure_definition

SQL-код процедуры (не выполняет ее).

sample_rows

SELECT TOP n * FROM schema.table (по умолчанию 10, макс. 100).

run_select

Одиночный SELECT/CTE, ограниченный max_rows (по умолчанию 100, жесткий лимит 1000).

refresh_secret

Повторное получение секрета и переподключение.

Локальная разработка

npm install
npm run build
# point your .claude.json command at the local build:
# "command": "node",
# "args": ["/absolute/path/to/mssql-mcp/dist/index.js"]
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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/dhipskind253/mssql-mcp'

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