返回 MCP 目录
public公开dns本地运行

MCPSqlServer

一个基于C#开发的独立MCP服务器,为Windsurf IDE提供SQL Server数据库集成功能,支持数据库探索、查询执行和存储过程调用。

article

README

🚀 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 <repository-url>
    • 推送更改到远程仓库使用 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。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端