Skip to main content
Glama
AdrianCY

Microsoft SQL Server MCP

by AdrianCY

mssql-mcp

使用 mssql 驱动程序连接到 Microsoft SQL Server 的 MCP 服务器 (stdio)。工具参数使用 Valibot 进行定义和验证;客户端的 JSON Schema 使用 @valibot/to-json-schema 生成。

实现说明: 本项目使用底层的 @modelcontextprotocol/sdk Server 类而不是 McpServer,因为当前 SDK 的 McpServer.registerTool 路径是围绕 Zod 进行架构导出和验证构建的。工具通过 ListTools / tools/call 处理程序进行注册,并在处理程序内部进行 Valibot 解析。

工具

  • mssql_query — 运行 T-SQL 批处理;返回 recordsetsrowsAffected。设置后通过 SET ROWCOUNT 遵循 MSSQL_MAX_ROWS

  • mssql_list_tables — 来自 INFORMATION_SCHEMA.TABLES 的基表,可选架构过滤器。

  • mssql_describe_table — 来自 INFORMATION_SCHEMA.COLUMNS 的列元数据。

环境变量

参见 .env.example。必需项:MSSQL_SERVERMSSQL_USERMSSQL_PASSWORDMSSQL_DATABASE

  • MSSQL_ALLOW_WRITES — 默认关闭。关闭时,启发式算法会阻止常见的写/DDL/exec 关键字(不能替代数据库权限)。

  • MSSQL_MAX_ROWS — 设置后,为 mssql_query 将批处理包装在 SET ROWCOUNT 中。

  • MSSQL_ENCRYPT / MSSQL_TRUST_SERVER_CERTIFICATE — 传递给驱动程序(encrypt 默认为 true)。

构建与运行

pnpm install
pnpm run build
pnpm start

开发(无需单独构建):

pnpm dev

在 MCP 下运行时,不要将日志写入 stdout;该协议使用 stdout。启动时的错误通过 console.error 发送到 stderr。

Cursor MCP 配置

使用您检出目录的绝对路径。示例 用户 MCP 配置片段:

{
  "mcpServers": {
    "mssql": {
      "command": "node",
      "args": ["/home/adrian/code/mcp/dist/index.js"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_USER": "your_user",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true"
      }
    }
  }
}

使用 node 作为 command(如上所示)。不要command 设置为 pnpmnpx:如果 pnpm 失败或打印到 stdout,Cursor 会显示类似 Unexpected token … "ERR_PNPM_"… is not valid JSON 的错误,因为 stdout 必须仅包含 JSON-RPC。

无需构建的开发模式(仍使用 node

cwd 设置为此仓库,以便 node 可以从 node_modules 解析 tsx

{
  "mcpServers": {
    "mssql": {
      "command": "node",
      "args": ["--import", "tsx", "/home/adrian/code/mcp/src/index.ts"],
      "cwd": "/home/adrian/code/mcp",
      "env": { }
    }
  }
}

按照上述示例填写 env。请先在本地运行 pnpm install 以确保 tsx 存在。

-
security - not tested
F
license - not found
-
quality - not tested

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

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