Token导航 LogoToken导航TokenDH.com
MCP Sqlserver logo
数据服务stdio官方级别未说明来源级核验

MCP Sqlserver

MCP Server

mcp-sqlserver

一个为Microsoft SQL Server提供的只读模型上下文协议(MCP)服务器,使AI代理能够安全地探索和查询SQL Server数据库。

工具数

0

提示词数

0

GitHub Stars

19

资源数

0
数据分析TypeScriptClaude只读访问Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

bilims

提供方

bilims

最后核验

2026/5/17 20:19

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx mcp-sqlserver

详细介绍

MCP SQL Server(注:MCP在此处可能指的是“Microsoft Certified Professional”(微软认证专业人员),但具体上下文可能有所不同,若MCP有其他特定含义,请根据实际情况调整翻译)

针对Microsoft SQL Server的只读模型上下文协议(MCP)服务器,使AI代理能够安全地探索和查询SQL Server数据库。

快速入门

步骤1:安装软件包

# Global installation (recommended)
npm install -g @bilims/mcp-sqlserver

# Verify installation
mcp-sqlserver --version

步骤2:配置您的SQL Server连接

选择您的SQL Server类型并按照配置步骤操作:

Azure SQL 数据库

export SQLSERVER_HOST="your-server.database.windows.net"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="your-database"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="false"

本地部署的 SQL Server

export SQLSERVER_HOST="your-sql-server.company.com"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="your-database"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="true"  # For self-signed certificates

本地 SQL Server Express

export SQLSERVER_HOST="localhost\\SQLEXPRESS"
export SQLSERVER_USER="sa"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="master"
export SQLSERVER_ENCRYPT="false"
export SQLSERVER_TRUST_CERT="true"

步骤3:测试连接

# Test your configuration
mcp-sqlserver --help

# Quick connection test (press Ctrl+C to exit)
mcp-sqlserver

步骤4:添加到Claude桌面

  1. 找到你的Claude桌面配置文件:

- macOS(发音:/ˈmækOS/,中文常简称为“苹果系统”或直接使用英文原名)~/Library/Application Support/Claude/claude_desktop_config.json - Windows%APPDATA%\Claude\claude_desktop_config.json

  1. 添加MCP服务器配置:
{
  "mcpServers": {
    "sqlserver": {
      "command": "mcp-sqlserver",
      "env": {
        "SQLSERVER_HOST": "your-server.database.windows.net",
        "SQLSERVER_USER": "your-username",
        "SQLSERVER_PASSWORD": "your-password",
        "SQLSERVER_DATABASE": "your-database",
        "SQLSERVER_ENCRYPT": "true",
        "SQLSERVER_TRUST_CERT": "false"
      }
    }
  }
}
  1. 重启Claude桌面版

第五步:开始探索!

在Claude桌面版中尝试这些命令:

  • "Test the SQL Server connection"
  • "List all databases on the server"
  • "Show me the tables in [database name]"
  • "Describe the structure of the Users table"
  • "Show me foreign key relationships"

特点/特性

  • 🔒 只读操作仅允许执行SELECT查询,并需进行全面的安全验证
  • 🗄️ 模式发现探索数据库、表、视图、关系和元数据
  • 📊 数据探索执行带有内置限制和超时的安全查询
  • 🔐 准备就绪,适用于企业生产环境中使用证书信任的加密连接
  • 🛡️ 安全至上查询验证、SQL注入防护和访问控制

可用工具

模式发现

  • list_databases - 列出SQL Server实例上的所有数据库
  • list_tables - 列出数据库或模式中的表
  • list_views - 数据库或模式中的列表视图
  • describe_table - 获取包含列、数据类型和约束条件的详细表结构

关系分析

  • get_foreign_keys - 获取表的外键关系
  • get_table_stats - 获取表统计信息,包括行数和大小信息

数据探索

  • execute_query - 执行带有安全验证的只读SELECT查询
  • get_server_info - 获取SQL Server的版本、版本(或发行版)以及配置详情

Claude 桌面版的常用命令

一旦您的MCP服务器配置完成,请尝试使用以下自然语言命令:

入门命令

"Test the SQL Server connection"
"Show me server information"
"List all databases on this server"
"What tables are in the [database name] database?"

数据库探索

"Describe the structure of the Users table"
"Show me foreign key relationships in this database"
"What are the largest tables by row count?"
"Give me a sample of data from the Orders table"

高级分析

"Help me understand the relationship between Orders and Customers"
"Show me all lookup tables in this database"
"What columns contain date/time information?"
"Find tables that might contain user authentication data"

自定义查询

"Run this query: SELECT TOP 10 * FROM Products WHERE Price > 100"
"Show me all customers created in the last 30 days"
"What are the different product categories in the database?"

安装

npm install
npm run build

配置

服务器通过环境变量进行配置:

必需的

  • SQLSERVER_USER - SQL Server 用户名
  • SQLSERVER_PASSWORD - SQL Server 密码

可选的

  • SQLSERVER_HOST - 服务器主机名(默认:localhost)
  • SQLSERVER_DATABASE - 默认数据库名称
  • SQLSERVER_PORT - 端口号(默认:1433)
  • SQLSERVER_ENCRYPT - 启用加密(默认:true)
  • SQLSERVER_TRUST_CERT - 信任服务器证书(默认:true)
  • SQLSERVER_CONNECTION_TIMEOUT - 连接超时时间(毫秒)(默认:30000)
  • SQLSERVER_REQUEST_TIMEOUT - 请求超时时间(毫秒)(默认:60000)
  • SQLSERVER_MAX_ROWS - 每个查询的最大行数(默认:1000)

用法

环境变量

export SQLSERVER_HOST="your-server.database.windows.net"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"
export SQLSERVER_DATABASE="your-database"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="true"

运行服务器

npm start

安装选项

选项1:全局安装(推荐)

npm install -g @bilims/mcp-sqlserver

选项2:本地安装

npm install @bilims/mcp-sqlserver
npx mcp-sqlserver

选项3:使用npx运行(无需安装)

npx @bilims/mcp-sqlserver

集成示例

Claude Desktop(中文可译为“Claude桌面版”或“Claude桌面应用”)

添加到您的Claude桌面配置中(claude_desktop_config.json):

{
  "mcpServers": {
    "sqlserver": {
      "command": "mcp-sqlserver",
      "env": {
        "SQLSERVER_HOST": "your-server.database.windows.net",
        "SQLSERVER_USER": "your-username",
        "SQLSERVER_PASSWORD": "your-password",
        "SQLSERVER_DATABASE": "your-database"
      }
    }
  }
}

Claude 命令行界面(CLI)代码

# Set environment variables
export SQLSERVER_HOST="your-server"
export SQLSERVER_USER="your-username"
export SQLSERVER_PASSWORD="your-password"

# Use with Claude Code
claude mcp add sqlserver mcp-sqlserver

带有MCP扩展的VSCode

在VSCode中安装MCP扩展并添加服务器配置。

安全特性

查询验证

  • 仅允许使用SELECT、WITH、SHOW、DESCRIBE和EXPLAIN语句
  • 危险关键字综合黑名单(INSERT、UPDATE、DELETE、DROP 等)
  • SQL注入模式检测
  • 自动查询净化

连接安全性

  • 默认启用TLS/SSL加密
  • 企业环境中的服务器证书信任选项
  • 带超时控制的连接池
  • 可配置的请求超时时间

结果限制

  • 每查询的最大行数限制(可配置)
  • 为SELECT查询自动注入TOP子句
  • 查询执行时间跟踪
  • 内存使用保护

示例查询

一旦连接成功,您就可以通过您的MCP客户端使用这些工具:

// List all databases
await callTool("list_databases", {});

// List tables in a specific schema
await callTool("list_tables", { schema: "dbo" });

// Get table schema details
await callTool("describe_table", { 
  table_name: "Users", 
  schema: "dbo" 
});

// Execute a read-only query
await callTool("execute_query", { 
  query: "SELECT TOP 10 * FROM Users WHERE active = 1",
  limit: 10
});

// Get foreign key relationships
await callTool("get_foreign_keys", { 
  table_name: "Orders" 
});

发展

# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode
npm run dev

# Run linting
npm run lint

# Run tests
npm test

故障排除

连接问题

  1. 验证服务器主机名和端口
  2. 检查加密/证书设置是否与您的 SQL Server 配置相匹配
  3. 确保用户具有适当的读取权限
  4. 首先使用 SQL Server Management Studio 测试连接

权限问题

用户账户至少需要:

  • CONNECT 对数据库的访问权限
  • SELECT 对您想要查询的表/视图的权限
  • 访问用于元数据查询的系统视图

常见的 SQL Server 配置

Azure SQL 数据库

export SQLSERVER_HOST="your-server.database.windows.net"
export SQLSERVER_ENCRYPT="true"
export SQLSERVER_TRUST_CERT="false"

使用自签名证书的本地SQL Server

export SQLSERVER_HOST="sql-server.company.com"
export SQLSERVER_ENCRYPT="true" 
export SQLSERVER_TRUST_CERT="true"

许可证

麻省理工学院(MIT)

做出贡献

  1. 为仓库创建分支(或“克隆仓库”)
  2. 创建一个特性分支
  3. 做出你的更改
  4. 如适用,请添加测试
  5. 提交拉取请求

支持

对于问题和疑问:

  • 查看上面的故障排除部分
  • 查阅SQL Server连接文档
  • 确保MCP客户端兼容性

______________________________________________________________________

构建于 模型上下文协议SDK 以实现无缝的人工智能集成。

目录标签

目录标签

数据分析TypeScriptClaude只读访问数据库查询本地部署SQLServerAI集成数据探索

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

remote-capable

来源包(packageName,安装包名)

mcp-sqlserver

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononeremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP