SQL Server数据库操作协议服务器

一个基于.NET 8构建的SQL Server数据库操作协议服务器,提供表管理、数据查询、存储过程执行等功能。

  • by 57H07
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 57H07/MS_SQL_MCP

使用说明

MS SQL MCP服务器

用于SQL server数据库操作的模型上下文协议(MCP)服务器。网8。

特性

此MCP服务器为SQL server数据库访问提供了以下工具:

工具 说明
列出所有表格 列出数据库中具有可选架构筛选的所有表
描述表结构 描述表的结构,包括列、数据类型、键和索引
创建新表 使用指定的列和约束创建新表
DropTableFrom数据库 从数据库中删除表(具有可选的强制模式)
插入行 在表中插入一行或多行
从表格中读取 通过过滤、排序和分页读取数据
执行查询 执行自定义SELECT查询
更新行 根据WHERE条件更新现有行
删除行 根据WHERE条件删除行
GetServerInfo 获取数据库服务器信息和属性
列表数据库 列出服务器上的所有数据库
列表存储程序 列出数据库中的所有存储过程
执行存储过程 执行带有参数的存储过程
测试连接 测试数据库连接

先决条件

  • .NET 8.0 SDK
  • SQL Server(任何版本:本地数据库、Express、标准版、企业版、Azure SQL)

建筑

dotnet restore
dotnet build

用法

使用SQL server连接字符串作为第一个参数运行MCP服务器:

dotnet run -- "Server=localhost;Database=MyDatabase;Trusted_Connection=True;TrustServerCertificate=True;"

或出版后:

MS_SQL_MCP.exe "Server=localhost;Database=MyDatabase;Trusted_Connection=True;TrustServerCertificate=True;"

连接字符串示例

Windows身份验证:

Server=localhost;Database=MyDatabase;Trusted_Connection=True;TrustServerCertificate=True;

SQL Server身份验证:

Server=localhost;Database=MyDatabase;User Id=sa;Password=YourPassword;TrustServerCertificate=True;

Azure SQL:

Server=yourserver.database.windows.net;Database=MyDatabase;User Id=user;Password=password;Encrypt=True;

本地数据库:

Server=(localdb)\MSSQLLocalDB;Database=MyDatabase;Integrated Security=True;

MCP客户端配置

克劳德桌面(Claude_Desktop_config.json)

{
  "mcpServers": {
    "mssql": {
      "command": "dotnet",
      "args": [
        "run",
        "--project",
        "D:\\EU3734\\source\\repos\\MS_SQL_MCP",
        "--",
        "Server=localhost;Database=MyDatabase;Trusted_Connection=True;TrustServerCertificate=True;"
      ]
    }
  }
}

或者使用已发布的可执行文件:

{
  "mcpServers": {
    "mssql": {
      "command": "D:\\EU3734\\source\\repos\\MS_SQL_MCP\\bin\\Release\\net8.0\\MS_SQL_MCP.exe",
      "args": [
        "Server=localhost;Database=MyDatabase;Trusted_Connection=True;TrustServerCertificate=True;"
      ]
    }
  }
}

工具示例

创建表

{
  "tableName": "Users",
  "columnsJson": "[{\"name\":\"Id\",\"type\":\"INT\",\"isPrimaryKey\":true,\"isIdentity\":true},{\"name\":\"Username\",\"type\":\"NVARCHAR(50)\",\"isNullable\":false},{\"name\":\"Email\",\"type\":\"NVARCHAR(100)\"},{\"name\":\"CreatedAt\",\"type\":\"DATETIME2\",\"defaultValue\":\"GETUTCDATE()\"}]",
  "schema": "dbo"
}

插入数据

{
  "tableName": "Users",
  "dataJson": "[{\"Username\":\"john_doe\",\"Email\":\"john@example.com\"},{\"Username\":\"jane_doe\",\"Email\":\"jane@example.com\"}]"
}

通过过滤读取数据

{
  "tableName": "Users",
  "columns": "Id, Username, Email",
  "where": "Username LIKE 'john%'",
  "orderBy": "CreatedAt DESC",
  "top": 10
}

更新数据

{
  "tableName": "Users",
  "setValuesJson": "{\"Email\":\"newemail@example.com\"}",
  "where": "Id = 1"
}

许可证

麻省理工学院