MCPSqlServer

MCPSqlServer

🚀 SQL Server MCP 服务器用于 Windsurf IDE

这是一个独立的 MCP(模型上下文协议)服务器,基于 C# 编写,专门为 Windsurf IDE 提供 SQL Server 集成功能,助力开发者高效操作 SQL Server 数据库。

🚀 快速开始

先决条件

  • .NET 9.0 SDK 或更高版本
  • SQL Server 实例(本地或远程)
  • SQL Server 客户端工具

设置步骤

  1. 构建项目
dotnet build
  1. 配置应用程序
    • 复制 appsettings.example.jsonappsettings.json
    • appsettings.json 中更新连接字符串和其他 SQL Server 详细信息:
{
"ConnectionStrings": {
"DefaultConnection": "Server=your-server;Database=master;User ID=your-username;Password=your-password;TrustServerCertificate=True"
},
"LogPath": "C:\\Path\\To\\Your\\LogDirectory\\",
"DebugMode": "false"
}
  1. 在 Windsurf 中配置 MCP 服务器
    • 复制 windsurf_mcp_config.json 到您的 Windsurf MCP 配置文件(通常位于 ~/.codeium/windsurf/mcp_config.json)。
    • 更新路径以指向您的构建可执行文件:
{
"mcpServers": {
"sqlMcpService": {
"command": "path/to/your/MCPSqlServer.exe",
"args": [],
"description": "SQL Server MCP Service"
}
}
}
  1. 设置 GitHub 集成
    • 创建项目的新 GitHub 仓库。
    • 在项目目录中初始化新的 Git 仓库使用 git init
    • 将您的 GitHub 仓库添加为远程使用 git remote add origin
    • 推送更改到远程仓库使用 git push -u origin master

发布

您可以发布一个自包含的可执行文件:

dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true

这将生成一个单独的可执行文件。

✨ 主要特性

  • SQL Server 连接性:实现与 SQL Server 的稳定连接。
  • 数据库架构探索:方便开发者探索数据库的整体架构。
  • 表和视图检查:可对表和视图进行详细检查。
  • 列元数据检索:能够检索列的元数据信息。
  • 存储过程枚举:枚举数据库中的存储过程。
  • SQL 查询执行:支持执行 SQL 查询语句。
  • 存储过程执行:可执行数据库中的存储过程。
  • 调试模式用于故障排除:开启调试模式,便于排查问题。
  • 可配置的日志路径:允许用户自定义日志文件的存储路径。

📦 安装指南

构建项目

dotnet build

配置应用程序

复制 appsettings.example.jsonappsettings.json,并更新其中的连接字符串和 SQL Server 详细信息。

在 Windsurf 中配置 MCP 服务器

复制 windsurf_mcp_config.json 到指定的 Windsurf MCP 配置文件,并更新路径指向构建的可执行文件。

设置 GitHub 集成

按步骤创建 GitHub 仓库、初始化本地 Git 仓库、添加远程仓库并推送更改。

📚 详细文档

配置选项

appsettings.json 文件包含以下配置选项:

属性 详情
ConnectionStrings:DefaultConnection SQL Server 连接字符串
LogPath 日志文件存储目录
DebugMode 设置为 "true" 以启用详细调试日志

错误处理

常见错误代码:

错误代码 详情
invalid_request 模型 JSON 或缺少必需字段
connection_failed 连接 SQL Server 失败
missing_parameter 缺少所需的参数
query_execution_error 执行 SQL 查询时出错
database_not_found 指定的数据库不存在
table_not_found 指定的表不存在

🔧 技术细节

应用程序组织如下:

  • Program.cs:作为主入口点,负责处理请求。
  • JsonRpcHandler.cs:处理 JSON-RPC 协议并分发请求。
  • 配置信息从 appsettings.json 加载。
  • 日志写入由 LogPath 设置指定的文件。

📄 许可证

此项目在 MIT License 下许可 - 请查看 LICENSE 文件了解详细信息。

🤝 贡献

欢迎贡献!请随意提交一个 Pull Request,步骤如下:

  1. 叉库。
  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。
  • 0 关注
  • 0 收藏,14 浏览
  • system 提出于 2025-09-23 14:06

相似服务问题

相关AI产品