mcpField
M
MCP SQL Server

MCP SQL Server

本地服务
github.com/MKhan997733数据库173 周前更新

关于 MCP SQL Server

MCP SQL Server 是面向 AI 助手的 SQL Server 数据库访问服务,通过本地连接提供受控的数据库探索、查询和分析能力,并内置操作安全保护。

主要功能

  1. 01发现数据库表
  2. 02查看表结构与关系
  3. 03执行只读 SQL 查询
  4. 04列出存储过程
  5. 05查看索引与约束
  6. 06内置有害操作防护

适用场景

  1. 01盘点数据库中的表
  2. 02检查指定表的列和结构
  3. 03查询数据并进行分析

MCP 相关

该 MCP 服务向 MCP 客户端提供表发现、结构查看、查询执行、存储过程、索引和约束等工具。它通过本地连接访问 SQL Server。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

MCP SQL Server

一个 Model Context Protocol(MCP)服务,可让 Claude 等 AI 助手通过本地连接安全地与 SQL Server 数据库交互。该服务通过受控接口提供数据库探索、查询执行和数据分析工具。

功能

  • 🔒 安全的本地数据库访问:使用 SQL Authentication 连接到 SQL Server
  • 🔍 架构探索:发现表、列和关系
  • 📊 查询执行:运行 SQL 查询并妥善处理错误
  • 🛡️ 安全控制:内置防护措施,防止执行有害操作

先决条件

  • Node.js 18.0 或更高版本
  • npm(Node 包管理器)
  • SQL Server
  • Claude Desktop 桌面应用

安装

1. 克隆仓库
git clone https://github.com/MKhan997733/mcp-server-sql.git
cd mcp-server-sql
2. 安装依赖项
npm install
3. 配置环境变量

在项目根目录中创建 .env 文件:

DB_SERVER=
DB_NAME=
DB_USER=
DB_PASSWORD=
DB_PORT=

Claude Desktop 配置

1. 找到 Claude Desktop 配置文件

配置文件位于:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json
2. 添加 MCP 服务配置

编辑 claude_desktop_config.json 文件并添加 MCP 服务:

对于 SQL Authentication:

{
  "mcpServers": {
    "sql-server": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-server-sql/index.js"
      ],
      "env": {
        "DB_SERVER": "localhost",
        "DB_NAME": "your_database",
        "DB_USER": "your_username",
        "DB_PASSWORD": "your_password",
        "DB_PORT": "port"
      }
    }
  }
}

重要:将 /absolute/path/to/mcp-server-sql/ 替换为克隆仓库的实际路径。

3. 重启 Claude Desktop

保存配置文件后,重启 Claude Desktop,使更改生效。

用法

完成配置后,你可以通过 Claude 与 SQL Server 数据库交互,例如询问:

  • “我的数据库中有哪些表?”
  • “显示 Users 表的架构”
  • “查询 Orders 表,并显示上周的订单”
  • “找出总购买金额最高的 10 位客户”
  • “显示数据库中的所有存储过程”
交互示例

发现表:

You: Can you show me what tables exist in my database?
Claude: I'll help you discover the tables in your SQL Server database...

查询数据:

You: Show me all customers who made purchases over $1000 in the last month
Claude: I'll query your database to find customers with purchases over $1000...

探索架构:

You: What columns does the Products table have?
Claude: Let me examine the structure of the Products table...

可用工具

MCP 服务向 Claude 提供以下工具:

  1. discover_tables:列出 SQL Server 数据库中的所有表
  2. table_details:获取特定表的详细架构信息
  3. execute_query:运行 SELECT 查询(默认只读)
  4. get_stored_procedures:列出所有存储过程
  5. get_table_indexes:查看表上的索引
  6. get_table_constraints:查看约束(PK、FK 等)

安全最佳实践

  1. 使用专用 SQL Server 登录名:为 MCP 服务创建具有最低必要权限的专用登录名
  2. 只读访问:为数据库用户配置只读访问权限
  3. 仅限本地连接:服务仅接受连接到 localhost 的请求
  4. 审计日志记录:启用 SQL Server 审计日志记录,以跟踪所有查询

运行服务

# Run directly

npm build

node <absolute-path>/build/index.js

(由 AI 生成,经 MKHAN997733 审核)

评论

支持 Markdown

第一次接触 MCP?

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

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