Token导航 LogoToken导航TokenDH.com
MCP SQL Server Core logo
数据服务未说明官方级别未说明来源级核验

MCP SQL Server Core

MCP Server

Mcp.SqlServer.Core是一个高性能的SQL Server数据访问工具,提供安全的数据读写、智能缓存、诊断报告等功能,适用于本地IDE助手、内部代理和远程SQL操作工作流。

工具数

22

提示词数

0

GitHub Stars

0

资源数

0
C#Claude数据访问Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

priceds

提供方

priceds

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

麦克。SqlServer。核心

MCP客户端的高性能SQL Server访问,基于。NET 10,具有一个共享核心、两个传输、强大的安全控制、智能缓存和企业级诊断。

为什么存在此服务器

大多数SQLMCP服务器在模式发现和原始查询执行时停止。 Mcp.SqlServer.Core 更进一步:

  • 具有能力门控的安全读写数据访问
  • 共享实施 stdio 以及可流式传输的HTTP MCP传输
  • 用于元数据、确定性读取、计划和报告的多层智能缓存
  • 执行计划检索、操作报告和指标分析
  • 存在但默认禁用的管理工具
  • 结构化审计日志记录、OpenTetry和支持取消的异步执行

这使得服务器适用于本地IDE副本、内部代理、远程MCP托管和严重的SQL操作工作流,而无需将产品拆分为多个断开连接的服务。

功能快照

区域能力
发现list_databases, list_schemas, list_tables, describe_table, describe_relationships, search_schema
数据访问read_records, execute_sql, create_record, update_record, delete_record, execute_stored_procedure
诊断explain_query, get_query_plan, analyze_indexes
报告database_health_report, query_performance_report, table_statistics_report
管理员create_index, rebuild_index, update_statistics, run_maintenance_task
安全功能配置文件、数据库分配列表、拒绝令牌检查、命令超时、行限制、审计跟踪
性能内存缓存、确定性查询结果缓存、计划/报告快照缓存、异步ADO。NET,JSON源代码生成
部署stdio 主机、HTTP主机、一个共享核心

建筑

                 ┌──────────────────────────────┐
                 │ MCP Client                   │
                 │ Claude / Cursor / Copilot    │
                 └──────────────┬───────────────┘
                                │
                ┌───────────────┴────────────────┐
                │ Transport Layer                 │
                │ stdio host or streamable HTTP   │
                └───────────────┬────────────────┘
                                │
                ┌───────────────┴────────────────┐
                │ Mcp.SqlServer.Core             │
                │ tool handlers + safety + cache │
                │ diagnostics + reports + audit  │
                └───────────────┬────────────────┘
                                │
                ┌───────────────┴────────────────┐
                │ SQL Server                     │
                │ data + metadata + DMVs + plans │
                └────────────────────────────────┘

解决方案布局

  • Mcp.SqlServer.Core.Abstractions

共享选项、能力配置文件和工具合同。

  • Mcp.SqlServer.Core

SQL执行引擎、安全验证、缓存、诊断、报告、MCP工具和DI注册。

  • Mcp.SqlServer.Core.StdioHost

使用stdio传输的本地MCP客户端的控制台主机。

  • Mcp.SqlServer.Core.HttpHost

ASP。NET Core主机暴露可流式传输的HTTP MCP端点。

  • Mcp.SqlServer.Core.Tests

用于分类、安全验证和缓存密钥行为的单元覆盖率。

工具目录

发现

  • list_databases
  • list_schemas
  • list_tables
  • describe_table
  • describe_relationships
  • search_schema

读写

  • read_records
  • execute_sql
  • create_record
  • update_record
  • delete_record
  • execute_stored_procedure

诊断和报告

  • explain_query
  • get_query_plan
  • analyze_indexes
  • database_health_report
  • query_performance_report
  • table_statistics_report

管理员,默认禁用

  • create_index
  • rebuild_index
  • update_statistics
  • run_maintenance_task

安全模型

Mcp.SqlServer.Core 旨在避免经典的“带有README警告的原始SQL网关”陷阱。

  • 能力概况:

ReadOnly, ReadWrite, Admin

  • 默认情况下,管理工具已禁用
  • 被拒绝的SQL令牌会阻止危险的服务器级操作
  • 数据库分配表在配置时限制范围
  • 存储过程的执行是单独控制的
  • 命令超时和行限制集中执行
  • 写入和管理操作会发出带有相关ID的审核事件

智能高速缓存

缓存内置于服务器核心,而不是在客户端层附加。

  • 元数据缓存:

模式、表和关系发现

  • 确定性查询缓存:

由规范化的SQL、数据库、参数和功能上下文键控

  • 查询计划缓存:

估计和实际计划有效载荷重用

  • 报告快照缓存:

健康、性能和统计报告

对于非确定性或会话敏感的SQL,有意绕过读取结果缓存。

表演技巧

  • 基于异步Dapper的查询执行 Microsoft.Data.SqlClient
  • 通过标准SQL客户端行为实现连接池
  • 工具请求和响应合同的JSON源代码生成
  • 两种传输的共享服务核心
  • OpenTetry跟踪和指标
  • 后台元数据预热
  • 缓存报告和执行计划生成
  • 针对标准操作与昂贵操作的集中超时选择

配置

两个主机绑定相同 SqlServerMcp 配置部分。

{
  "SqlServerMcp": {
    "ConnectionString": "Server=localhost,1433;Database=master;User ID=sa;Password=Your_strong_password123;TrustServerCertificate=True;Encrypt=False;",
    "CapabilityProfile": "ReadWrite",
    "EnableAdminTools": false,
    "EnableExecutionPlans": true,
    "EnableReporting": true,
    "EnableMetadataWarmup": true,
    "WarmupDatabases": [ "master" ],
    "CachePolicy": {
      "MetadataTtl": "00:30:00",
      "DeterministicQueryTtl": "00:02:00",
      "QueryPlanTtl": "00:10:00",
      "ReportSnapshotTtl": "00:05:00"
    },
    "Safety": {
      "AllowedDatabases": [ "master" ],
      "MaxRows": 250,
      "MaxPayloadBytes": 1000000,
      "DefaultCommandTimeout": "00:00:30",
      "ExpensiveCommandTimeout": "00:01:30",
      "AllowStoredProcedures": true
    }
  }
}

NativeAOT发布

默认发货的工件是 stdio 主机,发布为NativeAOT,自包含,单文件可执行,用于:

  • linux-x64
  • win-x64
  • osx-arm64

每个版本存档包括:

  • 平台原生 Mcp.SqlServer.Core.StdioHost 二进制
  • appsettings.json.example

发布自动化在 release.yml当你按下标签时 v0.1.0,GitHub操作:

  • 恢复解决方案
  • 运行测试套件
  • 为三个目标平台发布NativeAOT二进制文件
  • 软件包发布存档
  • 将它们上传到GitHub发布版

常规CI生活在 ci.yml。它靠推送来运行 main,拉取目标请求 main,以及人工调度。CI验证恢复、构建、测试和Linux linux-x64 NativeAOT烟雾发布。

运行服务器

1.恢复

dotnet restore Mcp.SqlServer.Core.slnx

2.建造

dotnet build Mcp.SqlServer.Core.slnx

3.运行stdio主机

dotnet run --project Mcp.SqlServer.Core.StdioHost

3a。发布本地NativeAOT二进制文件

苹果硅:

brew install openssl@3 brotli zlib

export CPATH=/opt/homebrew/include:/opt/homebrew/opt/openssl@3/include:/opt/homebrew/opt/zlib/include
export LIBRARY_PATH=/opt/homebrew/lib:/opt/homebrew/opt/openssl@3/lib:/opt/homebrew/opt/zlib/lib
export DYLD_FALLBACK_LIBRARY_PATH=/opt/homebrew/lib:/opt/homebrew/opt/openssl@3/lib:/opt/homebrew/opt/zlib/lib

dotnet publish Mcp.SqlServer.Core.StdioHost/Mcp.SqlServer.Core.StdioHost.csproj \
  -c Release \
  -r osx-arm64 \
  -p:PublishAot=true \
  -p:PublishSingleFile=true \
  -p:SelfContained=true

Linux x64:

dotnet publish Mcp.SqlServer.Core.StdioHost/Mcp.SqlServer.Core.StdioHost.csproj \
  -c Release \
  -r linux-x64 \
  -p:PublishAot=true \
  -p:PublishSingleFile=true \
  -p:SelfContained=true

Windows x64:

dotnet publish Mcp.SqlServer.Core.StdioHost/Mcp.SqlServer.Core.StdioHost.csproj ^
  -c Release ^
  -r win-x64 ^
  -p:PublishAot=true ^
  -p:PublishSingleFile=true ^
  -p:SelfContained=true

4.运行HTTP主机

dotnet run --project Mcp.SqlServer.Core.HttpHost

HTTP MCP端点:

/mcp

Docker和远程托管

HTTP主机是为容器或中央MCP部署而构建的:

  • 装载环境特定配置
  • 注入 SqlServerMcp__ConnectionString 来自秘密
  • 除非专用操作部署需要,否则应禁用管理工具
  • 使用正常的反向代理和身份验证层来提供服务

MCP客户端设置

对于发布二进制文件,配置MCP客户端以直接启动提取的stdio可执行文件。

macOS或Linux上的Claude Desktop示例:

{
  "mcpServers": {
    "sqlserver": {
      "command": "/absolute/path/to/Mcp.SqlServer.Core.StdioHost",
      "args": []
    }
  }
}

Windows示例:

{
  "mcpServers": {
    "sqlserver": {
      "command": "C:\\absolute\\path\\to\\Mcp.SqlServer.Core.StdioHost.exe",
      "args": []
    }
  }
}

在启动二进制文件之前:

  1. 复制 appsettings.json.exampleappsettings.json.
  2. 设置SQL Server连接字符串。
  3. 审查 AllowedDatabases、行限制和管理工具设置。
  4. 保持 EnableAdminTools 除非你明确需要,否则它是禁用的。

定位示例

在需要时使用此服务器:

  • 一个SQL Server MCP端点,而不是单独的模式、CRUD和诊断服务器
  • 一NET原生实现,适用于Windows、Linux、容器和企业托管
  • 比通用操作环境更丰富的操作环境 execute_sql 服务器可以提供
  • 帮助重复MCP工具调用在代理工作负载下保持快速的性能特征

验证

此仓库中的当前验证:

dotnet build Mcp.SqlServer.Core.slnx --no-restore -m:1 -p:BuildInParallel=false -p:UseSharedCompilation=false /clp:ErrorsOnly
dotnet test Mcp.SqlServer.Core.Tests/Mcp.SqlServer.Core.Tests.csproj -m:1 -p:BuildInParallel=false -p:UseSharedCompilation=false

NativeAOT烟雾测试:

dotnet publish Mcp.SqlServer.Core.StdioHost/Mcp.SqlServer.Core.StdioHost.csproj -c Release -r osx-arm64 -p:PublishAot=true -p:PublishSingleFile=true -p:SelfContained=true

当前状态

此存储库现在包含SQL server的完整绿地MCP服务器基础:

  • 共享合同和期权
  • 能力门控工具表面
  • stdio和HTTP主机
  • 安全验证和缓存
  • 诊断和报告工具
  • 基线自动化测试

如果接下来要扩展它,自然的后续操作是针对真实SQL Server容器的集成测试、远程HTTP部署的身份验证和更丰富的DMV/报告界面。

目录标签

目录标签

C#Claude数据访问SQLServer本地部署智能缓存诊断工具企业级

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

22

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP