mcpField
M
MS SQL Server MCP Server

MS SQL Server MCP Server

本地服务
github.com/TerraCo89数据库116 周前更新

关于 MS SQL Server MCP Server

面向需要结构化访问 Microsoft SQL Server 的大模型 Agent,提供类型化架构检查及参数化、带日志的 CRUD 操作。

主要功能

  1. 01列出数据表并检查类型化架构
  2. 02按筛选条件和上限读取行
  3. 03创建、更新和删除记录
  4. 04依据实时架构验证标识符
  5. 05参数化查询与结构化日志

适用场景

  1. 01查询前检查数据库
  2. 02查找符合筛选条件的行
  3. 03插入或修改业务记录
  4. 04为 Agent 提供受限数据库访问

MCP 相关

向 MCP 客户端提供六种数据库工具:列出数据表、检查架构、读取行,以及创建、更新和删除记录。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-server-mssql

License: MIT TypeScript MCP

一个 Model Context Protocol 服务,为大模型 Agent 提供安全、结构化的 Microsoft SQL Server 访问能力:检查架构并执行行级 CRUD 操作,每项操作都会使用参数化查询并记录日志。

开发此服务的原因是,连接实际业务数据库的 Agent 需要的不只是“运行这条 SQL 字符串”——它们需要类型明确、失败模式可预测的工具。

工作原理

flowchart LR
    A[MCP client<br/>Claude Desktop / Claude Code] -- stdio --> B[mcp-server-mssql]
    B --> C[connection pool<br/>mssql driver]
    C --> D[(SQL Server)]
    B -. structured logs .-> E[logs/]

服务通过环境变量连接到一个数据库,并提供六种工具。所有查询都使用参数化查询——运行任何语句之前,都会根据实时架构验证表名和列名,因此 Agent 无法通过标识符注入。

工具

工具功能
list_tables列出配置数据库中的所有用户表
get_table_schema获取表的列名、类型、可空性和默认值
read_table_rows读取行,支持可选列选择、WHERE 筛选条件、ORDER BY 和 LIMIT
create_table_records插入一行或多行(根据架构验证列和值)
update_table_records更新符合筛选条件的行;返回受影响的行数
delete_table_records删除符合筛选条件的行;返回受影响的行数
交互示例

用户:“这个月有哪些客户注册了?”

Agent 调用 list_tables → 找到 Customers → 调用 get_table_schema {"table_name": "Customers"} → 发现 CreatedAt datetime2 → 调用 read_table_rows {"table_name": "Customers", "filters": {"CreatedAt": {">=": "2026-07-01"}}, "limit": 50} → 返回行并作答。

安装设置

需要 Node.js 18+,并且能够访问 SQL Server 实例。

git clone https://github.com/TerraCo89/mcp-server-mssql.git
cd mcp-server-mssql
npm install
cp .env.example .env   # fill in connection details
npm run build
配置(环境变量)
变量必需说明
MSSQL_HOST / MSSQL_PORT是 / 否端口默认为 1433
MSSQL_USER / MSSQL_PASSWORD是SQL 身份验证凭据
MSSQL_DATABASE是每个服务实例对应一个数据库
MSSQL_ENCRYPT, MSSQL_TRUST_SERVER_CERTIFICATE否TLS 选项
LOG_LEVEL否默认值为 info
搭配 Claude Desktop / Claude Code 使用
{
  "mcpServers": {
    "mssql": {
      "command": "node",
      "args": ["/path/to/mcp-server-mssql/dist/server.js"],
      "env": {
        "MSSQL_HOST": "localhost",
        "MSSQL_USER": "agent_reader",
        "MSSQL_PASSWORD": "...",
        "MSSQL_DATABASE": "MyDb"
      }
    }
  }
}

提示:使用权限最小化的 SQL 登录账号——服务只能执行该账号有权执行的操作。

开发

npm run dev    # ts-node with live reload
npm test       # jest test suite (src/*.test.ts, tests/)
npm run build  # emit dist/

Docker:运行 docker build -t mcp-server-mssql .,然后使用相同的环境变量启动。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。