Token导航 LogoToken导航

MCP Server · 数据服务

Ms SQL MCP

MsSqlMCP是一个用于SQL Server数据库模式检查和只读查询执行的服务器工具,支持多种传输协议和客户端集成。

stdio官方级别未说明来源级核验工具 5
C#Claude数据分析Claude DesktopVS Code

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
jdlemes
提供方
jdlemes

工具数量

5

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

6

仓库热度

收录来源

2 个

MCP World

选型结论

Ms SQL MCP 属于数据服务类 MCP Server,公开资料标注 5 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、VS Code,没有现成的安装命令;接入前先确认权限范围。

分类

数据服务

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 5 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

MsSqlMCP

MCP Server用于SQL Server数据库架构检查和只读查询执行。

特性

  • 只读访问:所有查询都经过验证,以防止数据修改(INSERT、UPDATE、DELETE、DROP、EXEC等被阻止)
  • 架构发现:表、列、关系和存储过程
  • SQL执行:仅安全SELECT查询
  • 双重运输:支持stdio和HTTP/SSE协议
  • Windows服务:可以作为Windows服务运行,用于生产部署
  • MCP协议:与VS Code Copilot、Claude Desktop和其他MCP客户端兼容

先决条件

  • .NET 10(或.NET 9,稍作调整)
  • SQL Server

建筑

该项目遵循SOLID原则和依赖注入:

MsSqlMCP/
├── Program.cs                    # Entry point with DI and dual transport
├── SchemaTool.cs                 # MCP tool definitions
├── Interfaces/
│   ├── IConnectionFactory.cs     # SQL connection abstraction
│   ├── IQueryExecutor.cs         # Query execution abstraction
│   ├── ISchemaRepository.cs      # Schema queries abstraction
│   └── ISqlQueryValidator.cs     # Query validation abstraction
├── Services/
│   ├── SqlConnectionFactory.cs   # Connection management
│   ├── SafeQueryExecutor.cs      # Validated query execution
│   ├── SchemaRepository.cs       # Schema query implementation
│   └── ReadOnlySqlQueryValidator.cs # Security validation (27 blocked keywords)
└── Tests/
    └── ReadOnlySqlQueryValidatorTests.cs # 42 security tests

配置

连接字符串

编辑 appsettings.json:

{
  "ConnectionStrings": {
    "DefaultConnection": "Data Source=(local);Initial Catalog=YourDatabase;Encrypt=False;Trusted_Connection=True;MultipleActiveResultSets=true"
  },
  "Urls": "http://localhost:5000"
}

跑步

控制台模式(开发)

# Run with both stdio and HTTP transports
dotnet run

# Run with HTTP transport only (for debugging)
dotnet run -- --http-only

运行测试

dotnet test --filter "FullyQualifiedName~Tests"

MCP客户端配置

选项1:stdio传输(VS代码)

添加到您的VS代码 settings.json:

{
  "mcp": {
    "servers": {
      "MsSqlMCP": {
        "type": "stdio",
        "command": "dotnet",
        "args": ["run", "--project", "c:\\path\\to\\MsSqlMCP.csproj"]
      }
    }
  }
}

选项2:HTTP传输(VS代码)

首先,启动服务器:

dotnet run -- --http-only

然后添加到您的VS代码中 settings.json:

{
  "mcp": {
    "servers": {
      "MsSqlMCP": {
        "type": "http",
        "url": "http://localhost:5000/sse",
        "autoApprove": [
          "get_tables",
          "get_columns", 
          "get_relationships",
          "execute_sql",
          "get_store_procedure"
        ]
      }
    }
  }
}

选项3:克劳德桌面

添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "MsSqlMCP": {
      "command": "dotnet",
      "args": ["run", "--project", "c:\\path\\to\\MsSqlMCP.csproj"]
    }
  }
}

可用工具

工具说明必需参数
GetTables获取数据库中的所有表名无
GetColumns获取特定表的列(字段)tableName
GetRelationships获取表之间的外键关系无
GetStoreProcedure获取存储过程定义spName
ExecuteSql执行只读SELECT查询sqlQuery

所有工具都接受可选 databaseName 参数,用于查询同一SQL Server实例中的不同数据库。

安全

这 ExecuteSql 该工具只允许SELECT查询。以下语句被阻止:

  • 数据操作语言:插入、更新、删除、合并、截断
  • 数据定义语言:创建、更改、删除
  • 数据控制语言:授予、撤销、拒绝
  • 执行:EXEC、EXECUTE、SP_EXECUTESQL、XP\_
  • 其他:备份、还原、批量、OPENROWSET、OPENQUERY、OPENDATASOURCE

Windows服务安装

1.发布应用程序

在您的开发机器上:

cd c:\path\to\MsSqlMCP
dotnet publish -c Release -r win-x64 --self-contained true

这将在以下位置创建文件: bin\Release\net10.0\win-x64\publish\

2.复制到服务器

复制 publish 文件夹到服务器:

Source: bin\Release\net10.0\win-x64\publish\*
Destination: C:\Services\MsSqlMCP\

3.在服务器上配置

编辑 C:\Services\MsSqlMCP\appsettings.json 使用您的SQL Server连接字符串:

{
  "ConnectionStrings": {
    "DefaultConnection": "Data Source=YOUR_SQL_SERVER;Initial Catalog=YOUR_DATABASE;Encrypt=False;Trusted_Connection=True;MultipleActiveResultSets=true"
  },
  "Urls": "http://localhost:5000"
}

4.安装服务

打开 PowerShell作为管理员 并运行:

# Create the Windows Service
sc.exe create MsSqlMCP binPath= "C:\Services\MsSqlMCP\MsSqlMCP.exe --http-only" start= auto DisplayName= "MsSql MCP Server"

# Add description
sc.exe description MsSqlMCP "Model Context Protocol server for SQL Server database inspection"

# Create logs directory
mkdir C:\Services\MsSqlMCP\logs -Force

# Start the service
net start MsSqlMCP

# Verify status
sc.exe query MsSqlMCP

5.验证安装

# Check service status
Get-Service -Name MsSqlMCP

# Test the endpoint
Invoke-RestMethod -Uri "http://localhost:5000/sse/tools"

服务管理命令

# Stop service
net stop MsSqlMCP

# Start service
net start MsSqlMCP

# Restart service
net stop MsSqlMCP; net start MsSqlMCP

# Uninstall service
net stop MsSqlMCP
sc.exe delete MsSqlMCP

防火墙配置(如果远程访问)

# Allow inbound traffic on port 5000
New-NetFirewallRule -DisplayName "MsSqlMCP" -Direction Inbound -Port 5000 -Protocol TCP -Action Allow

HTTP API终结点

在HTTP模式下运行时,以下端点可用:

端点方法描述
/sseMCP协议的GETSSE流
/sse/toolsGET列出所有可用工具
/sse/invokePOST调用工具

示例:通过HTTP调用工具

curl -X POST http://localhost:5000/sse/invoke \
  -H "Content-Type: application/json" \
  -d '{"Tool": "GetTables", "Params": {}}'
Invoke-RestMethod -Uri "http://localhost:5000/sse/invoke" -Method POST -ContentType "application/json" -Body '{"Tool": "GetTables", "Params": {}}'

故障排除

服务无法启动

  1. 检查登录 C:\Services\MsSqlMCP\logs\
  2. 验证中的连接字符串 appsettings.json
  3. 确保可以从服务帐户访问SQL Server
  4. 手动运行以查看错误: C:\Services\MsSqlMCP\MsSqlMCP.exe --http-only

连接问题

  1. 验证SQL Server是否正在运行
  2. 检查SQL Server端口的防火墙规则(1433)
  3. 如果使用Windows身份验证,请确保服务帐户具有数据库访问权限

端口已在使用中

更改端口 appsettings.json:

{
  "Urls": "http://localhost:5001"
}

许可证

麻省理工学院

工具与能力

工具数量

5

资源数量

0

提示词数量

0

能力标签

数据库检查C#本地部署只读查询SQLServer模式发现Windows服务

支持客户端

Claude DesktopClaudeVS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

用自然语言查库

不用手写 SQL,直接问数据,让模型组织查询语句。

数据巡检

定期拉指标、做对比,把异常项整理成一段说明。

打通业务数据

把数据库、数仓和接口接进同一个上下文,减少导出再上传。

选择建议

值得选的地方

  • 只提供 5 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude、VS Code,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在数据服务场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 完全不想在本地装环境的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Ms SQL MCP

MCP World · 本页

5stdio未标注2 个2026-05-17
Memory 9d25f64e

MCP World

9未说明未标注1 个2026-05-17
Prisma MCP Server

MCP World

0stdio有3 个2026-05-17
Astr Bot

MCP World

0stdio有1 个2026-05-17
Getzep MCP

MCP World

9stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Ms SQL MCP 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Ms SQL MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Ms SQL MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Ms SQL MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Ms SQL MCP 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP