内容
# mssql-localdb-mcp
Rust [MCP](https://modelcontextprotocol.io) 服务器,用于 Windows 上的 SQL Server Express LocalDB。给予 AI 代理(Claude Desktop,Claude Code 和任何 MCP 客户端)对 LocalDB 实例的完全控制:创建/管理实例,运行任何 T-SQL 脚本,在项目文件夹中找到松散的数据库文件并附加它们,内省模式。
> 状态:MVP(第一阶段)功能齐全,已针对真实 LocalDB 进行测试 - 参见 `docs/PLANNING.md` 了解路线图和当前阶段。
## 为什么
现有的 SQL Server MCP 工具假设已经配置了远程服务器,并且需要外部运行时(Python,.NET,Node)。该项目是:
- **单个 Rust 二进制文件**,无需外部运行时,无需 Docker。
- **专注于 LocalDB**:本地开发工作流 - 在项目文件夹中找到一个松散的 `.mdf`,附加它,运行脚本,无需打开 SSMS。
- **仅限 Windows**,不是通用的多数据库抽象。
## 要求
- 已安装 SQL Server Express LocalDB 的 Windows(`SqlLocalDB.exe` 在 `PATH` 中)。
- 兼容的 MCP 客户端(Claude Desktop,Claude Code 等)。
## 安装
### 通过 MCP 注册表
在 [官方 MCP 注册表](https://registry.modelcontextprotocol.io) 上发布为 `io.github.hermessilva/mssql-localdb-mcp`。通过任何支持注册表的 MCP 客户端安装。
### 通过 Claude Code 插件
此存储库中的 [`claude-plugin/`](claude-plugin/) 目录是一个独立的 Claude Code 插件(直接捆绑了 Windows 二进制文件,无需单独下载)。直接加载:
```powershell
claude --plugin-dir path\to\LocalDB-MCP\claude-plugin
```
已提交到 [`claude-community`](https://github.com/anthropics/claude-plugins-community) 市场进行审查 - 一旦获得批准,使用 `claude plugin marketplace add anthropics/claude-plugins-community` 和 `claude plugin install mssql-localdb-mcp@claude-community` 安装。
### 从源代码
需要 [Rust](https://rustup.rs) 和 LocalDB。
```powershell
git clone https://github.com/hermessilva/LocalDB-MCP.git
cd LocalDB-MCP
cargo build --release
```
二进制文件位于 `target\release\mssql-localdb-mcp.exe`。
### 配置 `config.toml`
`db_scan_folder` 需要至少一个显式允许的根目录 - 没有它,工具拒绝运行。创建 `%APPDATA%\mssql-localdb-mcp\config.toml`:
```toml
# TOML 中的 Windows 路径需要单引号(字面字符串)- 双引号解释 \U... 为 unicode 转义并破坏解析。
scan_allowlist = ['C:\Users\YourUser\source\repos']
scan_max_depth = 6
default_query_timeout_secs = 30
default_max_rows = 1000
```
### 在 MCP 客户端中配置
**Claude Desktop / Claude Code**(`claude_desktop_config.json` 或等效):
```json
{
"mcpServers": {
"mssql-localdb": {
"command": "C:\\path\\to\\LocalDB-MCP\\target\\release\\mssql-localdb-mcp.exe"
}
}
}
```
**通过 CLI 的 Claude Code:**
```powershell
claude mcp add mssql-localdb -- "C:\path\to\LocalDB-MCP\target\release\mssql-localdb-mcp.exe"
```
之后,代理可以访问 `localdb_*`、`sql_*` 和 `db_*` 工具 - 参见 [`docs/MCP_SPEC.md`](docs/MCP_SPEC.md) 了解完整的工具列表。
## 文档
- [`docs/PLANNING.md`](docs/PLANNING.md) - 路线图、阶段、每个里程碑的范围。
- [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) - 模块、技术决策、数据流。
- [`docs/MCP_SPEC.md`](docs/MCP_SPEC.md) - 暴露的每个工具/资源/提示的确切契约。
- [`docs/SECURITY.md`](docs/SECURITY.md) - 威胁模型和防护措施。
- [`CLAUDE.md`](CLAUDE.md) - 本存储库中 AI 代理的工作指南。
- [`CONTRIBUTING.md`](CONTRIBUTING.md) - 如何贡献。
- [`CHANGELOG.md`](CHANGELOG.md) - 变更历史。
## 安全 - 使用前请阅读
- 仅限 Windows 集成身份验证(无 SQL 身份验证)。
- 每个破坏性操作(DROP、TRUNCATE、DELETE、ALTER 等)都需要显式确认(`confirm: true`)- 绝不静默执行。
- 数据库发现(`db_scan_folder`)仅扫描 `config.toml` 中显式允许的文件夹(允许列表)。
- 详细内容请参见 [`docs/SECURITY.md`](docs/SECURITY.md)。
## 许可证
[MIT](LICENSE)。