mssql-mcp
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 Python Server
所需的密钥 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.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceRead-only SQL Server MCP server enabling safe database queries, table listing, and schema inspection with built-in security protections.MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for safely exposing SQL Server database capabilities to LLM clients, with read-only mode, security features, and observability.28MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for Microsoft SQL Server enabling safe read-only queries, schema discovery, and natural-language query via LangChain.MIT
- AlicenseNot gradedqualityAmaintenanceSecurity-first, read-only MCP server for Microsoft SQL Server, enabling safe natural-language querying of databases.17MIT
Related MCP Connectors
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
GibsonAI MCP server: manage your databases with natural language
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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