这是一个用C#编写的独立MCP(模型上下文协议)服务器,作为Windsurf IDE的一个插件提供SQL Server集成功能。
dotnet build
配置应用程序:
appsettings.example.json复制到appsettings.jsonappsettings.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"
}
在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"
}
}
}
设置GitHub集成:
git init在您的项目目录中初始化一个新的Git仓库git remote add origin <repository-url>将您的GitHub仓库添加为远程仓库git push -u origin master将更改推送到远程仓库appsettings.json文件包含以下配置选项:
ConnectionStrings:DefaultConnection:SQL Server连接字符串LogPath:日志文件存储的目录DebugMode:设置为"true"以启用详细的调试日志您可以发布应用程序作为一个自包含的可执行文件:
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true
这将创建一个包含所有依赖项的单一可执行文件。
MCP服务器通过标准输入/输出使用基于JSON的协议进行通信。
{
"id": "请求ID",
"action": "操作名称",
"parameters": {
"参数1": "值1",
"参数2": "值2"
}
}
{
"success": true,
"data": {
"键": "值"
}
}
或者在发生错误时:
{
"success": false,
"error": {
"code": "错误代码",
"message": "错误描述"
}
}
{
"action": "connect",
"parameters": {
"connectionString": "Data Source=服务器;Initial Catalog=master;Integrated Security=True;"
}
}
{
"action": "get_databases",
"parameters": {}
}
{
"action": "get_tables",
"parameters": {
"database": "AdventureWorks"
}
}
{
"action": "get_columns",
"parameters": {
"database": "AdventureWorks",
"schema": "Person",
"table": "Person"
}
}
{
"action": "get_procedures",
"parameters": {
"database": "AdventureWorks"
}
}
{
"action": "execute_database_query",
"parameters": {
"database": "AdventureWorks",
"query": "SELECT TOP 10 * FROM Person.Person",
"parameters": {
"参数1": "值1"
}
}
}
{
"action": "execute_system_query",
"parameters": {
"query": "SELECT name FROM sys.databases",
"parameters": {
"参数1": "值1"
}
}
}
{
"action": "execute_procedure",
"parameters": {
"database": "AdventureWorks",
"schema": "dbo",
"procedure": "uspGetEmployeeManagers",
"parameters": {
"BusinessEntityID": 5
}
}
}
此MCP服务器可以从Windsurf IDE用于:
应用程序组织成以下组件:
Program.cs:主入口点和请求处理JsonRpcHandler.cs:处理JSON-RPC协议并分派请求appsettings.json加载LogPath设置指定的文件欢迎贡献!请随意提交拉取请求。
git checkout -b feature/amazing-feature)git commit -m '添加一些惊人的功能')git push origin feature/amazing-feature)本项目根据MIT许可证授权 - 查看LICENSE文件获取详情。
常见的错误代码:
invalid_request:格式不正确的JSON或缺少必需的字段connection_failed:无法连接到SQL Servermissing_parameter:未提供必需的参数query_execution_error:执行SQL查询时出现错误database_not_found:指定的数据库不存在table_not_found:指定的表不存在