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

Dotnet Sqlserver MCP

MCP Server

@modelcontextprotocol/inspector

一个基于.NET的SQL Server数据库检查、查询和调试工具集,提供6种核心功能。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
C#Claude数据分析Claude DesktopClaude

安装说明

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

作者 / 组织

brendankowitz

提供方

brendankowitz

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

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

命令预览

npx @modelcontextprotocol/inspector dotnet run --project SqlServerMcp

详细介绍

SQL Server MCP服务器

A.基于.NET的模型上下文协议(MCP)服务器为SQL server数据库检查、查询和调试提供了6个基本工具。

![NuGet](https://www.nuget.org/packages/SqlServerLocalMcp/)

快速开始

安装方式如下。NET工具(推荐)

dotnet tool install --global SqlServerLocalMcp

然后在Claude Desktop中进行配置(请参阅下面的配置)。

或从源代码构建

cd SqlServerMcp
dotnet build

本地测试

export SQL_SERVER_CONNECTION_STRING="Server=localhost;Database=MyDB;Trusted_Connection=True;TrustServerCertificate=True;"
dotnet run

Claude桌面设置

编辑您平台的配置文件:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json

选项1:使用已安装。NET工具(推荐)

{
  "mcpServers": {
    "sqlserver": {
      "command": "sqlserverlocal-mcp",
      "args": [],
      "env": {
        "SQL_SERVER_CONNECTION_STRING": "Server=localhost;Database=MySqlDb;Trusted_Connection=True;TrustServerCertificate=True;"
      }
    }
  }
}

选项2:从源代码运行

{
  "mcpServers": {
    "sqlserver": {
      "command": "dotnet",
      "args": ["run", "--project", "C:\\src\\dotnet-sqlserver-mcp\\SqlServerMcp"],
      "env": {
        "SQL_SERVER_CONNECTION_STRING": "Server=localhost;Database=MySqlDb;Trusted_Connection=True;TrustServerCertificate=True;"
      }
    }
  }
}

重要提示:

  • 使用绝对路径
  • Windows:使用 \\ 用于睫毛或 / 用于正斜杠
  • macOS/Linux:使用正斜杠
  • 编辑后重新启动Claude Desktop

Claude CLI的设置(代码编辑器)

选项1:使用已安装。NET工具(推荐)

claude mcp add --transport stdio sqlserver \
  --env SQL_SERVER_CONNECTION_STRING="Server=localhost;Database=MySqlDb;Trusted_Connection=True;TrustServerCertificate=True;" \
  -- sqlserverlocal-mcp

选项2:从源代码运行

窗户:

claude mcp add --transport stdio sqlserver ^
  --env SQL_SERVER_CONNECTION_STRING="Server=localhost;Database=MySqlDb;Trusted_Connection=True;TrustServerCertificate=True;" ^
  -- cmd /c dotnet run --project C:\src\dotnet-sqlserver-mcp\SqlServerMcp

macOS/Linux:

claude mcp add --transport stdio sqlserver \
  --env SQL_SERVER_CONNECTION_STRING="Server=localhost;Database=MySqlDb;Trusted_Connection=True;TrustServerCertificate=True;" \
  -- dotnet run --project /path/to/dotnet-sqlserver-mcp/SqlServerMcp

附加选项:

claude mcp add --transport stdio sqlserver \
  --env SQL_SERVER_CONNECTION_STRING="Server=localhost;Database=MyDB;Trusted_Connection=True;" \
  --env SQL_SERVER_READONLY="true" \
  --env SQL_SERVER_MAX_ROWS="500" \
  -- dotnet run --project /path/to/SqlServerMcp

管理命令:

claude mcp list              # List all servers
claude mcp get sqlserver     # View server details
claude mcp remove sqlserver  # Remove server

连接串

类型示例
Windows身份验证Server=localhost;Database=MyDB;Trusted_Connection=True;TrustServerCertificate=True;
SQL身份验证Server=localhost;Database=MyDB;User Id=sa;Password=Pass123;TrustServerCertificate=True;
Azure SQL 数据库Server=myserver.database.windows.net;Database=MyDB;User Id=user;Password=Pass123;Encrypt=true;
本地数据库Server=(localdb)\\\\mssqllocaldb;Database=MyDB;Trusted_Connection=True;

配置选项

添加到 env 章节:

变量默认值描述
SQL_SERVER_CONNECTION_STRING*必需的*连接字符串
SQL_SERVER_READONLYtrue阻止插入/更新/删除
SQL_SERVER_MAX_ROWS1000返回的最大行数
SQL_SERVER_DEFAULT_TIMEOUT30查询超时(秒)
SQL_SERVER_ALLOW_PROCEDURE_EXECUTIONfalse允许存储过程
SQL_SERVER_ALLOWED_PROCEDURES允许的程序(例如。, dbo.Get*,reporting.*)
SQL_SERVER_ALLOW_FUNCTION_EXECUTIONtrue允许功能

带有选项的示例:

{
  "mcpServers": {
    "sqlserver": {
      "command": "dotnet",
      "args": ["run", "--project", "C:\\src\\dotnet-sqlserver-mcp\\SqlServerMcp"],
      "env": {
        "SQL_SERVER_CONNECTION_STRING": "Server=localhost;Database=MyDB;Trusted_Connection=True;TrustServerCertificate=True;",
        "SQL_SERVER_READONLY": "true",
        "SQL_SERVER_MAX_ROWS": "500",
        "SQL_SERVER_ALLOW_PROCEDURE_EXECUTION": "true",
        "SQL_SERVER_ALLOWED_PROCEDURES": "dbo.GetOrders,reporting.*"
      }
    }
  }
}

可用工具(6)

核心必备工具

工具目的独特价值
execute_sql运行任何SQL查询通用主力-处理自定义查询、聚合、元数据检查
describe_table检查表架构在一次调用中清除列、索引和约束的格式化输出
get_procedure_definition查看存储的proc源代码干净的T-SQL源代码,没有元数据噪声
列表存储程序查找可用程序包含创建/修改日期的快速筛选列表
get_query_stats性能调试按CPU/持续时间/执行计数预格式化的顶部查询
get_connections连接监控带有程序名称和登录时间的活动会话

用法示例

问:

  • “列出数据库中的所有表”→ Uses execute_sql 使用INFORMATION_SCHEMA查询
  • “描述订单表结构”→ Uses describe_table
  • “哪些外键引用了Customers表?”→ Uses execute_sql 使用sys.foreign_keys查询
  • “显示前10个最慢的查询”→ Uses get_query_stats
  • “在Users表中查找重复的电子邮件地址”→ Uses execute_sql 与GROUP BY/HAVING合作
  • “显示GetCustomerOrders存储过程的代码”→ Uses get_procedure_definition

安全

只读模式(默认): 只允许SELECT查询。集 SQL_SERVER_READONLY=false 以允许修改。

存储过程: 需要 SQL_SERVER_ALLOW_PROCEDURE_EXECUTION=true 以及可选的同种异体。

调整限制:

"env": {
  "SQL_SERVER_MAX_ROWS": "100",
  "SQL_SERVER_DEFAULT_TIMEOUT": "60"
}

项目结构

SqlServerMcp/
├── Program.cs              # Entry point
├── Configuration/          # Config models
├── Models/                 # Data models
├── Services/              # SqlService, ResultFormatter
└── Tools/                 # 4 tool classes (6 essential tools)
    ├── QueryTools.cs       # execute_sql
    ├── SchemaTools.cs      # describe_table, list_stored_procedures
    ├── DiagnosticTools.cs  # get_connections, get_query_stats
    └── ProcedureTools.cs   # get_procedure_definition

发展

添加新工具: 在中创建方法 Tools/*.cs 随着 [McpServerTool] 属性:

[McpServerTool]
[Description("Your tool description")]
public async Task YourTool(
    [Description("Parameter description")] string parameter)
{
    // Implementation
}

MCP检验员测试:

npx @modelcontextprotocol/inspector dotnet run --project SqlServerMcp

需求

  • .NET 8 SDK
  • SQL Server(本地、Azure SQL或Docker)
  • Claude桌面或Claude CLI

许可证

许可证 文件。

资源

目录标签

目录标签

C#Claude数据分析SQLServer本地部署数据库工具查询调试性能监控架构检查

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP