mssql-mcp
这是一个只读的 Microsoft SQL Server MCP 服务器,在工具调用时从 AWS Secrets Manager 获取连接详细信息 — 除了密钥引用本身,不会从磁盘或环境变量中读取任何内容。
跨平台:它是一个纯 JavaScript 的 MCP 服务器(没有原生或 ODBC 依赖),因此可以通过 npx 在 macOS、Linux 和 Windows 上以相同方式运行。
在 .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 账户。与名称和区域组合成完整的 ARN。 |
| 是 | — | Secrets Manager 密钥名称(无需 ARN 后缀)。 |
| 是 | — | 密钥所在的 AWS 区域(例如 |
| 否 |
| 跳过对 SQL Server 的 TLS 证书验证。接受 |
标准的 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 为准。
可选字段(显示默认值):
字段 | 默认值 | 说明 |
|
| |
|
| 到服务器的 TLS 加密。 |
TLS 证书信任设置不会从密钥中读取 — 请在 MCP 服务器的
env块中设置TRUST_SERVER_CERTIFICATE。密钥 JSON 中的任何trustServerCertificate字段都将被忽略。
设计上的只读限制
此服务器无法插入、更新或删除数据。通过两层机制强制执行:
run_select工具在词法上拒绝任何非单个SELECT或WITH(CTE) 语句的内容 — 包括INSERT、UPDATE、DELETE、EXEC、MERGE、DROP、ALTER、SELECT INTO等。没有其他工具会发出写入 SQL。
get_procedure_definition返回存储过程源码 — 它不会执行存储过程。
温馨提示: 请将词法检查视为用户体验,而非安全边界。为了方便未来的自己,请将您放入 Secrets Manager 的凭证配置为只读数据库登录 — 即仅拥有
SELECT和VIEW DEFINITION权限的账号。这样,即使发生意外写入(或未来的代码漏洞),SQL Server 本身也会拒绝该操作。
无需重启即可刷新 AWS 凭证
由于服务器使用默认的 AWS 凭证链,过期的 SSO 会话可以在不重启 Claude 或 MCP 服务器的情况下恢复:
在任何终端运行
aws sso login。要求 Claude 调用
refresh_secret工具。继续工作。
如果工具调用因 AWS 身份验证失败,错误消息会明确告知您,并提示执行相同的流程。错误带有稳定的前缀标记:
前缀 | 含义 |
| SSO 会话过期或没有可用的凭证。 |
| 主体缺少 |
| 密钥名称/账户/区域不匹配。 |
| 密钥 JSON 缺少字段或格式错误。 |
| 无法连接到 SQL Server 实例。 |
| SQL Server 在执行查询时返回错误。 |
| 提交的查询违反了只读规则。 |
工具
工具 | 用途 |
| 数据库中的用户架构。 |
| 表,可选择按架构过滤。 |
| 列、类型、可空性、标识、主键、默认值。 |
| 表上的索引(每个索引/列一行)。 |
| 表的传出外键。 |
| 视图,可选择按架构过滤。 |
| 视图源码 SQL。 |
| 存储过程,可选择按架构过滤。 |
| 存储过程源码 SQL(不执行)。 |
|
|
| 单个 SELECT/CTE,限制为 |
| 重新获取密钥并重新连接。 |
本地开发
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"]Maintenance
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
