Skip to main content
Glama
AdrianCY

Microsoft SQL Server MCP

by AdrianCY

@adriancy/mcp-mssql

用于 Microsoft SQL Server 的 MCP 服务器 (stdio)。它公开了相关工具,以便 Cursor(或任何 MCP 客户端)可以列出表、描述列并运行以读取为主的 T-SQL。

在 Cursor 中使用

  1. 打开 Cursor Settings → MCP(或编辑您的 MCP JSON)。

  2. 添加一个服务器块。将 env 设置为您的数据库配置(请参阅 .env.example)。

从 npm 安装(包发布后):

{
  "mcpServers": {
    "mssql": {
      "command": "npx",
      "args": ["-y", "@adriancy/mcp-mssql"],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_USER": "your_user",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_TRUST_SERVER_CERTIFICATE": "true"
      }
    }
  }
}

从本地克隆安装(先运行 pnpm install && pnpm build):

{
  "mcpServers": {
    "mssql": {
      "command": "node",
      "args": ["/absolute/path/to/mssql-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。避免将 pnpm 用作 MCP command — stdout 上的额外输出可能会破坏协议。

确认安装名称与 npm 一致:npm view @adriancy/mcp-mssql version

Related MCP server: MSSQL Database MCP Server

环境变量

所有变量均从 MCP 进程环境(例如 Cursor env)中读取。布尔值将 1trueyeson(不区分大小写)视为 true,将 0falsenooff 视为 false。无效的布尔值和整数值会导致启动验证失败。

变量

必需

默认值

含义

MSSQL_SERVER

SQL Server 的主机名或 IP

MSSQL_USER

是†

登录用户(SQL 身份验证、NTLM、Azure AD 密码);不用于 azure-active-directory-access-token 或仅服务主体流程

MSSQL_PASSWORD

*

登录密码(*某些设置下可为空)

MSSQL_DATABASE

初始数据库

MSSQL_PORT

1433

TCP 端口;使用 MSSQL_INSTANCE_NAME 时省略(驱动程序使用实例 + SQL Browser)

MSSQL_ENCRYPT

true

TLS encrypttruefalsestrict (TDS 8.0 / tedious)

MSSQL_TRUST_SERVER_CERTIFICATE

false

信任自签名证书 / 跳过证书验证(仅限开发环境)

MSSQL_TLS_SERVER_NAME

当 TLS 验证的主机名与 MSSQL_SERVER 不同时(例如通过 IP 连接)使用

MSSQL_TLS_CA_FILE

CA PEM 文件路径;通过 cryptoCredentialsDetails.ca 传递

MSSQL_TLS_CERT_FILE

可选的客户端证书 PEM(双向 TLS)

MSSQL_TLS_KEY_FILE

可选的客户端私钥 PEM

MSSQL_TLS_KEY_PASSPHRASE

加密客户端密钥的密码短语

MSSQL_CONNECTION_TIMEOUT_MS

(驱动默认)

连接池 connectionTimeout (ms)。0 → 未设置

MSSQL_DOMAIN

域登录(SQL 身份验证的 config.domainMSSQL_AUTH_TYPE=ntlm 时必需)

MSSQL_INSTANCE_NAME

命名实例 (options.instanceName);设置此项时不要依赖 MSSQL_PORT

MSSQL_MULTI_SUBNET_FAILOVER

false

可用性组风格的故障转移提示

MSSQL_READ_ONLY_INTENT

false

AG 从节点的只读路由

MSSQL_MAX_RETRIES_ON_TRANSIENT_ERRORS

Tedious maxRetriesOnTransientErrors0 → 未设置

MSSQL_CONNECTION_RETRY_INTERVAL_MS

Tedious connectionRetryInterval0 → 未设置

MSSQL_POOL_MAX

10

连接池最大连接数

MSSQL_POOL_MIN

0

连接池最小连接数

MSSQL_POOL_IDLE_TIMEOUT_MS

30000

pool.idleTimeoutMillis

MSSQL_APP_NAME

options.appName(服务器跟踪)

MSSQL_USE_UTC

true

设置时的 options.useUTC

MSSQL_TDS_VERSION

7_17_27_3_A7_3_B7_4

MSSQL_AUTH_TYPE

ntlmazure-active-directory-passwordazure-active-directory-access-tokenazure-active-directory-service-principal-secret,或未设置/default(SQL 登录)

MSSQL_AZURE_CLIENT_ID

否‡

需要时的 Azure AD 应用 (客户端) ID

MSSQL_AZURE_TENANT_ID

否‡

租户 ID(密码验证可选,默认为 common;服务主体必需)

MSSQL_AZURE_CLIENT_SECRET

否‡

服务主体密钥

MSSQL_AZURE_ACCESS_TOKEN

否‡

用于访问令牌验证的预获取令牌

MSSQL_ALLOW_WRITES

false

如果为 false/未设置,则在 mssql_query 中阻止常见的写/DDL/exec 模式(仅启发式)

MSSQL_QUERY_TIMEOUT_MS

(驱动默认)

驱动程序的请求超时(毫秒)。0 → 未设置

† SQL 身份验证以及使用交互式用户登录的身份验证类型必需。 ‡ 根据 MSSQL_AUTH_TYPE 必需;请参阅 .env.example。Node 17+ 上的 NTLM 可能需要 --openssl-legacy-provider(请参阅 tedious 常见问题解答)。

另请参阅 .env.example

工具

工具

用途

mssql_query

运行 T-SQL;返回行和 rowsAffected

mssql_list_tables

INFORMATION_SCHEMA 中的表

mssql_describe_table

列元数据

MSSQL_ALLOW_WRITES 未设置/为 false 时,明显的写/DDL 模式会被阻止(仅启发式;请使用数据库权限以实现真正的安全)。

开发

pnpm install
pnpm check
pnpm test
pnpm build && pnpm start
pnpm dev

使用 pnpm format 应用 Biome 格式化修复,使用 pnpm lint 运行 lint 规则而不进行格式化。

日常使用请使用只读或最小权限的 SQL 登录账号。

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to interact with Microsoft SQL Server databases through query execution, schema discovery, CRUD operations, stored procedures, and data export with built-in safety controls.
    18
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to securely interact with Microsoft SQL Server databases to query data, inspect schemas, and retrieve metadata with read-only operations by default and optional write capabilities.
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Microsoft SQL Server databases using both SQL Server and Windows Authentication. It supports flexible connection configurations, including read-only modes and encrypted communication for secure data management.
    3,338
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Microsoft SQL Server databases via introspection and query tools. Supports single or multiple databases with read-only mode by default and an optional write capability.
    408
    4
    MIT

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