MIT License
63
最近更新:4个月前

模型上下文协议(MCP)服务器,用于 Microsoft SQL Server,通过受控接口实现安全的数据库交互。允许人工智能助手在保持安全性和结构的同时安全地列出表、读取数据和执行 SQL 查询。

Microsoft SQL Server MCP Server

一个 Model Context Protocol (MCP) 服务器,允许与 Microsoft SQL Server 数据库进行安全交互。该服务器使 AI 助手能够通过受控接口列出表格、读取数据和执行 SQL 查询,使数据库探索和分析更加安全和结构化。

功能

  • 列出可用的 SQL Server 表作为资源
  • 读取表内容
  • 执行 SQL 查询并处理错误
  • 通过环境变量实现安全的数据库访问
  • 详细日志记录
  • 自动系统依赖安装

安装

通过 MCP 安装时,该软件包将自动安装所需的系统依赖项(如 FreeTDS):

bash 复制代码
pip install mssql-mcp-server

配置

设置以下环境变量:

bash 复制代码
MSSQL_SERVER=localhost
MSSQL_USER=your_username
MSSQL_PASSWORD=your_password
MSSQL_DATABASE=your_database

使用

与 Claude Desktop 一起使用

claude_desktop_config.json 中添加以下内容:

json 复制代码
{
  "mcpServers": {
    "mssql": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/mssql_mcp_server",
        "run",
        "mssql_mcp_server"
      ],
      "env": {
        "MSSQL_SERVER": "localhost",
        "MSSQL_USER": "your_username",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database"
      }
    }
  }
}

作为独立服务器

bash 复制代码
# 安装依赖项
pip install -r requirements.txt

# 运行服务器
python -m mssql_mcp_server

开发

bash 复制代码
# 克隆仓库
git clone https://github.com/RichardHan/mssql_mcp_server.git
cd mssql_mcp_server

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # 或者在 Windows 上使用 `venv\Scripts\activate`

# 安装开发依赖项
pip install -r requirements-dev.txt

# 运行测试
pytest

安全注意事项

  • 永不提交环境变量或凭证
  • 使用具有最低权限的数据库用户
  • 考虑为生产使用实施查询白名单
  • 监控和记录所有数据库操作

安全最佳实践

此 MCP 服务器需要数据库访问才能正常工作。为了安全:

  1. 创建一个具有最低权限的专用 SQL Server 登录
  2. 永不使用 sa 凭证或管理员账户
  3. 限制数据库访问仅限必要操作
  4. 启用日志记录以进行审核
  5. 定期进行数据库访问的安全审查

请参阅 SQL Server Security Configuration Guide,了解详细说明:

  • 创建受限 SQL Server 登录
  • 设置适当权限
  • 监控数据库访问
  • 安全最佳实践

⚠️ 较重要:配置数据库访问时始终遵循最低权限原则。

许可证

MIT License - 请参阅 LICENSE 文件获取详情。

贡献

  1. Fork 该仓库
  2. 创建功能分支(git checkout -b feature/amazing-feature
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开 Pull Request