MSSQL数据库AI查询服务

一个通过自然语言查询与MSSQL数据库交互的服务,支持创建、读取、更新和删除数据,适用于需要AI辅助数据库操作的场景。

  • by sassyrog
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 sassyrog/node-mssql-mcp-fork

使用说明

MSSQL数据库MCP服务器

⚠️ 仅供实验使用 -此MCP服务器仅作为示例提供,用于教育和实验目的。它不打算用于生产用途。在考虑任何部署之前,请使用适当的安全措施并进行彻底测试。

这是什么? 🤔

这是一个让您的LLM(如Claude)直接与MSSQL数据库数据通信的服务器!把它想象成一个友好的翻译器,坐在你的人工智能助手和数据库之间,确保他们可以安全有效地聊天。

快速示例

You: "Show me all customers from New York"
Claude: *queries your MSSQL Database database and gives you the answer in plain English*

它是如何工作的? 🛠️

该服务器利用了模型上下文协议(MCP),这是一个通用的框架,可以作为人工智能模型和数据库之间的通用翻译器。它支持多种AI助手,包括Claude Desktop和VS Code Agent。

它能做什么? 📊

  • 只需用简单的英语提问即可运行MSSQL数据库查询
  • 创建、读取、更新和删除数据
  • 管理数据库架构(表、索引)
  • 安全连接处理
  • 实时数据交互

快速开始🚀

先决条件

  • Node.js 14或更高版本
  • Claude Desktop或带有代理扩展名的VS Code

建立项目

  1. 再进行
    在根文件夹中运行以下命令以安装所有必要的依赖项:

    npm install
    
  2. 构建项目
    通过运行以下命令编译项目:

    npm run build
    

配置设置

选项1:VS代码代理设置

  1. 安装VS代码代理扩展

    • 打开VS代码
    • 转到扩展(Ctrl+Shift+X)
    • 搜索“Agent”并安装官方Agent扩展
  2. 创建MCP配置文件

    • 创建一个 .vscode/mcp.json 工作区中的文件
    • 添加以下配置:
    {
      "servers": {
        "mssql-nodejs": {
           "type": "stdio",
           "command": "node",
           "args": ["q:\\Repos\\SQL-AI-samples\\MssqlMcp\\Node\\dist\\index.js"],
           "env": {
             "SERVER_NAME": "your-server-name.database.windows.net",
             "DATABASE_NAME": "your-database-name",
             "READONLY": "false"
           }
         }
       }
    }
    
  3. 备选方案:用户设置配置

    • 打开VS代码设置(Ctrl+,)
    • 搜索“mcp”
    • 点击“在settings.json中编辑”
    • 添加以下配置:
 {
  "mcp": {
      "servers": {
          "mssql": {
              "command": "node",
              "args": ["C:/path/to/your/Node/dist/index.js"],
              "env": {
              "SERVER_NAME": "your-server-name.database.windows.net",
              "DATABASE_NAME": "your-database-name",
              "READONLY": "false"
              }
          }
      }
  }
}
  1. 重新启动VS代码

    • 关闭并重新打开VS Code以使更改生效
  2. 验证MCP服务器

    • 打开命令面板(Ctrl+Shift+P)
    • 运行“MCP:列出服务器”以验证您的服务器是否已配置
    • 您应该在可用服务器列表中看到“mssql”

选项2:Claude桌面设置

  1. 打开克劳德桌面设置

    • 导航到文件→ 设置→ 开发者→ 编辑配置
    • 打开 claude_desktop_config 文件
  2. 添加MCP服务器配置 用以下配置替换内容,更新路径和凭据:

    {
      "mcpServers": {
        "mssql": {
          "command": "node",
          "args": ["C:/path/to/your/Node/dist/index.js"],
          "env": {
            "SERVER_NAME": "your-server-name.database.windows.net",
            "DATABASE_NAME": "your-database-name",
            "READONLY": "false"
          }
        }
      }
    }
    
  3. 重新启动克劳德桌面

    • 关闭并重新打开Claude Desktop以使更改生效

配置参数

  • 服务器名称:您的MSSQL数据库服务器名称(例如。, my-server.database.windows.net)
  • 数据库名称:您的数据库名称
  • 只读:设置为 "true" 为了限制为只读操作, "false" 完全访问
  • 路径:更新中的路径 args 指向您的实际项目位置。
  • 连接超时:(可选)连接超时(秒)。默认为 30 如果没有设置。
  • 信任服务器证书:(可选)设置为 "true" 信任自签名服务器证书(对于开发或连接到具有自签名证书的服务器时很有用)。默认为 "false".

示例配置

您可以在 src/samples/ 文件夹:

  • claude_desktop_config.json -适用于克劳德桌面
  • vscode_agent_config.json -对于VS代码代理

使用示例

配置后,您可以使用自然语言与数据库交互:

  • “显示来自纽约的所有用户”
  • 创建一个名为products的新表,其中包含id、名称和价格列
  • “将所有待处理订单更新为已完成状态”
  • “列出数据库中的所有表”

安全说明

  • 服务器需要一个WHERE子句用于读取操作,以防止意外的全表扫描
  • 更新操作需要显式的WHERE子句以确保安全性
  • 集 READONLY: "true" 在只需要读取权限的环境中

现在,您应该已经使用首选的AI助手成功配置了MSSQL数据库的MCP服务器。此设置允许您通过自然语言查询与MSSQL数据库无缝交互!