使用说明

项目简介

MSSQL MCP Server 是一个基于 Model Context Protocol (MCP) 实现的服务器,它充当 LLM 应用和 Microsoft SQL Server 数据库之间的桥梁。该服务器提供了一个名为 'query' 的工具,允许 LLM 应用通过发送 MCP 请求来执行 SQL 查询,并获取查询结果。

主要功能点

  • SQL 查询执行: 提供 'query' 工具,用于在 Microsoft SQL Server 数据库上执行 SQL 查询。
  • 灵活的连接配置: 支持使用完整的连接字符串或单独的主机、用户名、密码等参数连接到 MSSQL 数据库。
  • 连接池管理: 服务器内部管理数据库连接池,提高查询效率和资源利用率。
  • 错误处理: 对数据库操作中可能出现的错误进行捕获和处理,并以 MCP 错误格式返回。
  • 安全性: 通过 MCP 协议框架,为 LLM 应用提供安全的数据库访问接口。

安装步骤

  1. 确保你的环境中已安装 Node.js 和 npm。
  2. 打开终端,执行以下命令安装 'mssql-mcp-server':
    npm install mssql-mcp-server

服务器配置

要将 MSSQL MCP Server 集成到你的 MCP 客户端,需要在客户端的 MCP 服务器配置中添加以下 JSON 配置。请根据你的 MSSQL 数据库连接信息修改相应的参数。

{
  "mcpServers": {
    "mssql": {
      "command": "mssql-mcp-server",
      "env": {
        "MSSQL_CONNECTION_STRING": "Server=your_mssql_server;Database=your_database;User Id=your_user;Password=your_password;",
        // 或者,你可以使用单独的连接参数:
        // "MSSQL_HOST": "your_mssql_server",
        // "MSSQL_PORT": "1433",
        // "MSSQL_DATABASE": "your_database",
        // "MSSQL_USER": "your_user",
        // "MSSQL_PASSWORD": "your_password",
        // "MSSQL_ENCRYPT": "false", // 可选,默认为 false,用于启用加密连接
        // "MSSQL_TRUST_SERVER_CERTIFICATE": "true" // 可选,默认为 true,信任服务器证书
      }
    }
  }
}
  • 'command': 指定启动 MSSQL MCP Server 的命令。这里设置为 'mssql-mcp-server',确保该命令在你的系统 PATH 环境变量中可访问。
  • 'env': 配置 MSSQL 数据库连接的环境变量。
    • 你可以使用 'MSSQL_CONNECTION_STRING' 提供完整的连接字符串,或者
    • 使用单独的参数如 'MSSQL_HOST', 'MSSQL_PORT', 'MSSQL_DATABASE', 'MSSQL_USER', 'MSSQL_PASSWORD' 等进行配置。
    • 请将 'your_mssql_server', 'your_database', 'your_user', 'your_password' 替换为你的实际 MSSQL 服务器连接信息。

注意: MCP 客户端会读取并使用以上配置信息来启动和连接 MSSQL MCP Server。你无需手动运行服务器,只需在 MCP 客户端配置中正确配置即可。

基本使用方法

配置完成后,在你的 LLM 应用中,你可以通过 MCP 客户端调用 'mssql' 服务器的 'query' 工具来执行 SQL 查询。以下是一个使用 'query' 工具的示例(假设你的 MCP 客户端提供了 'use_mcp_tool' 函数):

const queryResult = await use_mcp_tool({
  server_name: 'mssql',
  tool_name: 'query',
  arguments: {
    // 如果你使用连接字符串配置,则无需以下参数
    host: 'your_mssql_server',
    username: 'your_user',
    password: 'your_password',
    query: 'SELECT * FROM your_table WHERE condition = your_value',
  },
});

if (queryResult && queryResult.content) {
  const jsonResult = queryResult.content[0].text;
  console.log("查询结果:", jsonResult);
} else {
  console.error("查询失败或无结果");
}
  • 'server_name': 必须设置为你在 MCP 客户端配置中定义的服务器名称,这里是 'mssql'。
  • 'tool_name': 指定要调用的工具名称,这里是 'query'。
  • 'arguments': 传递给 'query' 工具的参数。
    • 'query': 必需,要执行的 SQL 查询语句。
    • 'host', 'username', 'password' (或 'connectionString'): 数据库连接信息,根据你的服务器配置选择其一。

执行 'use_mcp_tool' 后,查询结果将以 JSON 格式返回在 'queryResult.content[0].text' 中。

信息

分类

数据库与文件